案例描述
早上接到IDC的電話,說我們的一個網段IP不停的向外發包,應該是被***了,具體哪個IP不知道,讓我們檢查一下。
按理分析及解決辦法
首先我們要先確定是哪臺機器的網卡在向外發包,還好我們這邊有zabbix監控,我就一臺一臺的檢查,發現有一臺的流量跑滿了,問題應該出現在這臺機器上面。
我登錄到機器裏面,查看了一下網卡的流量,我的天啊,居然跑了這個多流量。
這臺機器主要是運行了一個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目錄鎖定。
chmod 000 /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、首先鎖定三個目錄,不能讓新***文件產生
chmod 000 /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 -9 nshbsjdy
4、清理***進程
chattr -i /usr/bin rm -f /usr/bin/nshbsjdy
處理完成之後再一次檢查一下以上各目錄,尤其是/etc目錄下面最新修改的文件。
如果是rootkit***,可以用下面的軟件進行檢查
軟件chkrootkit:http://www.chkrootkit.org/ 軟件RKHunter:https://rootkit.nl/projects/rootkit_hunter.html
安裝都非常簡單,我使用RKHunter簡單檢查了一下,沒有發現什麼重大問題,但是這也並不表示沒有什麼問題,因爲我們的檢測命令也是依賴一些系統的命令,如果系統的命令被感染那是檢測不出來的,最好是系統的命令備份一份檢查,再不行就備份數據重裝嘍。