記錄一次linux病毒清除過程

案例描述 html

    早上接到IDC的電話,說咱們的一個網段IP不停的向外發包,應該是被攻擊了,具體哪一個IP不知道,讓咱們檢查一下。 數據庫

按理分析及解決辦法 c#

    首先咱們要先肯定是哪臺機器的網卡在向外發包,還好咱們這邊有zabbix監控,我就一臺一臺的檢查,發現有一臺的流量跑滿了,問題應該出如今這臺機器上面。 tomcat

wKioL1aTJjKjEc0XAAGyRS78_8A989.jpg    

    我登陸到機器裏面,查看了一下網卡的流量,個人天啊,竟然跑了這個多流量。 oracle

wKiom1aTJiqSKUopAAGBJctAzko745.jpg

    這臺機器主要是運行了一個tomcat WEB服務和oracle數據庫,問題不該該出如今WEB服務和數據庫上面,我檢查了一下WEB日誌,沒有發現什麼異常,查看數據庫也都正常,也沒有什麼錯誤日誌,查看系統日誌,也沒有看到什麼異常,可是系統的登陸日誌被清除了,我趕忙查看了一下目前運行的進程狀況,看看有沒有什麼異常的進程,一查看,果真發現幾個異常進程,不仔細看還真看不出來,這些進程都是不正常的。 ssh

wKiom1aTJubTjNJNAAMiWBl8Wo8464.jpg

    這是個什麼進程呢,我每次ps -ef都不同,一直在變更,進程號一一直在變更中,我想看看進程打開了什麼文件都行,一時無從下手,想到這裏,我忽然意識到這應該都是一些子進程,由一個主進程進行管理,因此看這些子進程是沒有用的,即使我殺掉他們還會有新的生成,擒賊先擒王,咱們去找一下主進程,我用top d1實時查看進程使用資源的狀況,看看是否是有異常的進程佔用cpu內存等資源,發現了一個奇怪的進程,平時沒有見過。這個應該是咱們尋找的木馬主進程。 spa

wKioL1aTKAyhrwWnAAH6n-9vj9c172.jpg


    我嘗試殺掉這個進程,killall -9 ueksinzina,但是殺掉以後ps -ef查看仍是有那些子進程,難道沒有殺掉?再次top d1查看,發現有出現了一個其餘的主進程,看來殺是殺不掉的,要是那麼容易殺掉就不是木馬了。 日誌

wKiom1aTJ9-BkvZZAAF_awQTcQ8107.jpg


    咱們看看他究竟是什麼,"which obgqtvdunq"發現這個命令在/usr/bin下面,屢次殺死以後又從新在/usr/bin目錄下面生成,想到應該有什麼程序在監聽這個進程的狀態也可能有什麼定時任務,發現進程死掉在從新執行,我就按照目前的思路查看了一下/etc/crontab定時任務以及/etc/init.d啓動腳本,均發現有問題。 htm

    能夠看到裏面有個定時任務gcc4.sh,這個不是咱們設定的,查看一下內容更加奇怪了,這個應該是監聽程序死掉後來啓動的,咱們這邊把有關的配置所有刪掉,而且刪掉/lib/libudev4.so。 進程

wKioL1aTNuKBypf6AADwle0ReqU493.jpg


    在/etc/init.d/目錄下面也發現了這個文件。 

wKiom1aTNrOxW_EdAAICTXycR80284.jpg


    裏面的內容是開機啓動的信息,這個咱們也給刪掉。

wKiom1aTNrPwqM-QAACAX6GdHq8925.jpg


    以上兩個是一個在開機啓動的時候啓動木馬,一個是木馬程序死掉以後啓動木馬,可是目前咱們殺掉木馬的時候木馬並無死掉,而是馬上更換名字切換成另外一個程序文件運行,因此咱們直接殺死是沒有任何用處的,咱們目的就是要阻止新的程序文件生成,首先咱們取消程序的執行權限並把程序文件成成的目錄/usr/bin目錄鎖定。

1
2
chmod 000 /usr/bin/obgqtvdunq
chattr +i /usr/bin

   而後咱們殺掉進程"killall -9 obgqtvdunq",而後咱們在查看/etc/init.d/目錄,看到他又生成了新的進程,而且目錄變化到了/bin目錄下面,和上面同樣,取消執行權限並把/bin目錄鎖定,不讓他在這裏生成,殺掉而後查看他又生成了新的文件,此次他沒有在環境變量目錄裏面,在/tmp裏面,咱們把/tmp目錄也鎖定,而後結束掉進程。

wKioL1aTOijgVYf9AACpcncglgM837.jpg

    

    到此爲止,沒有新的木馬進程生成,原理上說是結束掉了木馬程序,後面的工做就是要清楚這些目錄產生的文件,通過我尋找,首先清除/etc/init.d目錄下面產生的木馬啓動腳本,而後清楚/etc/rc#.d/目錄下面的鏈接文件。

wKioL1aTOrHQyuJGAAIsUyQ8rOc792.jpg

    

    後來我查看/etc目錄下面文件的修改時間,發現ssh目錄下面也有一個新生成的文件,不知道是否是有問題的。

wKioL1aTOr-A5rBGAADE2fRR-KM832.jpg

    清理差很少以後咱們就要清理剛纔生成的幾個文件了,一個一個目錄清楚,好比"chattr -i /tmp",而後刪除木馬文件,以此類推刪除/bin、/usr/bin目錄下面的木馬,到此木馬清理完畢。


快速清理木馬流程   

假設木馬的名字是nshbsjdy,若是top看不到,能夠在/etc/init.d目錄下面查看

一、首先鎖定三個目錄,不能讓新木馬文件產生

1
2
3
4
chmod 000 /usr/bin/nshbsjdy
chattr +i /usr/bin
chattr +i /bin
chattr +i /tmp

二、刪除定時任務及文件以及開機啓動文件

1
2
3
刪除定時任務及文件
rm -f /etc/init.d/nshbsjdy
rm -f /etc/rc#.d/木馬鏈接文件

三、殺掉木馬進程

1
killall -9 nshbsjdy

四、清理木馬進程

1
2
chattr -i /usr/bin
rm -f /usr/bin/nshbsjdy

處理完成以後再一次檢查一下以上各目錄,尤爲是/etc目錄下面最新修改的文件。



    若是是rootkit木馬,能夠用下面的軟件進行檢查

1
2
軟件chkrootkit:http://www.chkrootkit.org/
軟件RKHunter:https://rootkit.nl/projects/rootkit_hunter.html

    安裝都很是簡單,我使用RKHunter簡單檢查了一下,沒有發現什麼重大問題,可是這也並不表示沒有什麼問題,由於咱們的檢測命令也是依賴一些系統的命令,若是系統的命令被感染那是檢測不出來的,最好是系統的命令備份一份檢查,再不行就備份數據重裝嘍。

wKioL1aVqpWTs0KyAAFvQUWVc-8650.jpg

相關文章
相關標籤/搜索