案例描述
早上接到IDC的電話,說我們的一個網段IP不停的向外發包,應該是被攻擊了,具體哪個IP不知道,讓我們檢查一下。
按理分析及解決辦法
首先我們要先確定是哪台機器的網卡在向外發包,還好我們這邊有zabbix監控,我就一台一台的檢查,發現有一台的流量跑滿了,問題應該出現在這台機器上面。
我登錄到機器裡面,查看了一下網卡的流量,我的天啊,居然跑了這個多流量。
vcEFBR0JKY3RBemtvNzQ1LmpwZw==" src="http://www.2cto.com/uploadfile/Collfiles/20160226/2016022609155835.jpg" title="QQ截圖20160111105341.jpg" width="650" />
這台機器主要是運行了一個tomcat WEB服務和oracle數據庫,問題不應該出現在WEB服務和數據庫上面,我檢查了一下WEB日志,沒有發現什麼異常,查看數據庫也都正常,也沒有什麼錯誤日志,查看系統日志,也沒有看到什麼異常,但是系統的登錄日志被清除了,我趕緊查看了一下目前運行的進程情況,看看有沒有什麼異常的進程,一查看,果然發現幾個異常進程,不仔細看還真看不出來,這些進程都是不正常的。
這是個什麼進程呢,我每次ps -ef都不一樣,一直在變動,進程號一一直在變動中,我想看看進程打開了什麼文件都行,一時無從下手,想到這裡,我突然意識到這應該都是一些子進程,由一個主進程進行管理,所以看這些子進程是沒有用的,即便我殺掉他們還會有新的生成,擒賊先擒王,我們去找一下主進程,我用top d1實時查看進程使用資源的情況,看看是不是有異常的進程占用cpu內存等資源,發現了一個奇怪的進程,平時沒有見過。這個應該是我們尋找的木馬主進程。
我嘗試殺掉這個進程,killall -9 ueksinzina,可是殺掉之後ps -ef查看還是有那些子進程,難道沒有殺掉?再次top d1查看,發現有出現了一個其他的主進程,看來殺是殺不掉的,要是那麼容易殺掉就不是木馬了。
我們看看他到底是什麼,"which obgqtvdunq"發現這個命令在/usr/bin下面,多次殺死之後又重新在/usr/bin目錄下面生成,想到應該有什麼程序在監聽這個進程的狀態也可能有什麼定時任務,發現進程死掉在重新執行,我就按照目前的思路查看了一下/etc/crontab定時任務以及/etc/init.d啟動腳本,均發現有問題。
可以看到裡面有個定時任務gcc4.sh,這個不是我們設定的,查看一下內容更加奇怪了,這個應該是監聽程序死掉後來啟動的,我們這邊把有關的配置全部刪掉,並且刪掉/lib/libudev4.so。
在/etc/init.d/目錄下面也發現了這個文件。
裡面的內容是開機啟動的信息,這個我們也給刪掉。
以上兩個是一個在開機啟動的時候啟動木馬,一個是木馬程序死掉之後啟動木馬,但是目前我們殺掉木馬的時候木馬並沒有死掉,而是立刻更換名字切換成另一個程序文件運行,所以我們直接殺死是沒有任何用處的,我們目的就是要阻止新的程序文件生成,首先我們取消程序的執行權限並把程序文件成成的目錄/usr/bin目錄鎖定。
chmod000/usr/bin/obgqtvdunq chattr+i/usr/bin
然後我們殺掉進程"killall -9 obgqtvdunq",然後我們在查看/etc/init.d/目錄,看到他又生成了新的進程,並且目錄變化到了/bin目錄下面,和上面一樣,取消執行權限並把/bin目錄鎖定,不讓他在這裡生成,殺掉然後查看他又生成了新的文件,這次他沒有在環境變量目錄裡面,在/tmp裡面,我們把/tmp目錄也鎖定,然後結束掉進程。
到此為止,沒有新的木馬進程生成,原理上說是結束掉了木馬程序,後面的工作就是要清楚這些目錄產生的文件,經過我尋找,首先清除/etc/init.d目錄下面產生的木馬啟動腳本,然後清楚/etc/rc#.d/目錄下面的連接文件。
後來我查看/etc目錄下面文件的修改時間,發現ssh目錄下面也有一個新生成的文件,不知道是不是有問題的。
清理差不多之後我們就要清理剛才生成的幾個文件了,一個一個目錄清楚,比如"chattr -i /tmp",然後刪除木馬文件,以此類推刪除/bin、/usr/bin目錄下面的木馬,到此木馬清理完畢。
快速清理木馬流程
假設木馬的名字是nshbsjdy,如果top看不到,可以在/etc/init.d目錄下面查看
1、首先鎖定三個目錄,不能讓新木馬文件產生
chmod000/usr/bin/nshbsjdy chattr+i/usr/bin chattr+i/bin chattr+i/tmp
2、刪除定時任務及文件以及開機啟動文件
刪除定時任務及文件 rm-f/etc/init.d/nshbsjdy rm-f/etc/rc#.d/木馬連接文件
3、殺掉木馬進程
killall-9nshbsjdy
4、清理木馬進程
chattr-i/usr/bin rm-f/usr/bin/nshbsjdy
處理完成之後再一次檢查一下以上各目錄,尤其是/etc目錄下面最新修改的文件。
5、如果是rootkit木馬,可以用下面的軟件進行檢查
軟件chkrootkit: 軟件RKHunter:
安裝都非常簡單,我使用RKHunter簡單檢查了一下,沒有發現什麼重大問題,但是這也並不表示沒有什麼問題,因為我們的檢測命令也是依賴一些系統的命令,如果系統的命令被感染那是檢測不出來的,最好是系統的命令備份一份檢查,再不行就備份數據重裝喽。