歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 真實記錄linux病毒導致帶寬跑滿的解決過程

真實記錄linux病毒導致帶寬跑滿的解決過程

日期:2017/3/1 12:16:10   编辑:關於Linux

案例描述

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

按理分析及解決辦法

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

wKioL1aTJjKjEc0XAAGyRS78_8A989.jpg

我登錄到機器裡面,查看了一下網卡的流量,我的天啊,居然跑了這個多流量。

wKiom1aTJiqSKUZ喎?http://www.2cto.com/kf/ware/vc/vcEFBR0JKY3RBemtvNzQ1LmpwZw==" src="http://www.2cto.com/uploadfile/Collfiles/20160226/2016022609155835.jpg" title="QQ截圖20160111105341.jpg" width="650" />

這台機器主要是運行了一個tomcat WEB服務和oracle數據庫,問題不應該出現在WEB服務和數據庫上面,我檢查了一下WEB日志,沒有發現什麼異常,查看數據庫也都正常,也沒有什麼錯誤日志,查看系統日志,也沒有看到什麼異常,但是系統的登錄日志被清除了,我趕緊查看了一下目前運行的進程情況,看看有沒有什麼異常的進程,一查看,果然發現幾個異常進程,不仔細看還真看不出來,這些進程都是不正常的。

wKiom1aTJubTjNJNAAMiWBl8Wo8464.jpg

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

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啟動腳本,均發現有問題。

可以看到裡面有個定時任務gcc4.sh,這個不是我們設定的,查看一下內容更加奇怪了,這個應該是監聽程序死掉後來啟動的,我們這邊把有關的配置全部刪掉,並且刪掉/lib/libudev4.so。

wKioL1aTNuKBypf6AADwle0ReqU493.jpg

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

wKiom1aTNrOxW_EdAAICTXycR80284.jpg

裡面的內容是開機啟動的信息,這個我們也給刪掉。

wKiom1aTNrPwqM-QAACAX6GdHq8925.jpg

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

chmod000/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、首先鎖定三個目錄,不能讓新木馬文件產生

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簡單檢查了一下,沒有發現什麼重大問題,但是這也並不表示沒有什麼問題,因為我們的檢測命令也是依賴一些系統的命令,如果系統的命令被感染那是檢測不出來的,最好是系統的命令備份一份檢查,再不行就備份數據重裝喽。

wKioL1aVqpWTs0KyAAFvQUWVc-8650.jpg

Copyright © Linux教程網 All Rights Reserved