一、背景
晚上看到有台伺服器流量跑的很高,明顯和平常不一樣,流量達到了800Mbps,第一感覺應該是中木馬了,被人當做殭屍電腦了,在大量發包。
我們的伺服器為了最好性能,防火牆(iptables)什麼的都沒有開啟,但是伺服器前面有實體防火牆,而且機器都是做的端口映射,也不是常見的端口,按理來說應該是滿安全的,可能最近和木馬有緣吧,老是讓我遇到,也趁這次機會把發現過程記錄一下。
二、發現并追蹤處理
1、檢視流量圖發現問題
檢視的時候網頁非常卡,有的時候甚至沒有響應
<a href="https://s5.51cto.com/wyfs02/M02/97/95/wKiom1kv8JySnzsUAAFWYBBWvzU345.png" target="_blank"></a>
2、top動态檢視程序
我馬上遠端登入出問題的伺服器,遠端操作很卡,網卡出去的流量非常大,通過top發現了一個異常的程序占用資源比較高,名字不仔細看還真以為是一個Web服務程序。
<a href="https://s4.51cto.com/wyfs02/M00/97/95/wKiom1kv8SOgNHOXAAV0WOF4Ebs322.png" target="_blank"></a>
4、結束異常程序并繼續追蹤
1
2
<code>killall -9 nginx1</code>
<code>rm</code> <code>-f </code><code>/etc/nginx1</code>
幹掉程序之後,流量立刻下來了,遠端也不卡頓了,難道删掉程式檔案,幹掉異常程序我們就認為處理完成了麼?想想也肯定沒那麼簡單的,這個是木馬啊,肯定還會自己生成程式檔案(果然不出我所料,在我沒有搞清楚之前,後面确實又生成了)我們得繼續追查。
5、檢視登入記錄及日志檔案secure
通過指令last檢視賬戶登入記錄,一切正常。檢視系統檔案message并沒有發現什麼,但是當我檢視secure檔案的時候發現有些異常,反正是和認證有關的,應該是嘗試連進來控制發包?
<a href="https://s1.51cto.com/wyfs02/M02/97/95/wKiom1kv8lKyLvyxAAUKol0KUic428.png" target="_blank"></a>
7、更多異常檔案的發現
檢視定時任務檔案crontab并沒有發現什麼一次,然後檢視系統啟動檔案rc.local,也沒有什麼異常,然後進入/etc/init.d目錄檢視,發現比較奇怪的腳本檔案DbSecuritySpt、selinux。
<a href="https://s4.51cto.com/wyfs02/M02/97/97/wKioL1kv8oji8GzJAAOHxiKBQig035.png" target="_blank"></a>
三、木馬手動清除
現在綜合總結了大概步驟如下:
1、簡單判斷有無木馬
3
4
5
6
7
8
9
10
<code>#有無下列檔案</code>
<code>cat</code> <code>/etc/rc</code><code>.d</code><code>/init</code><code>.d</code><code>/selinux</code>
<code>cat</code> <code>/etc/rc</code><code>.d</code><code>/init</code><code>.d</code><code>/DbSecuritySpt</code>
<code>ls</code> <code>/usr/bin/bsd-port</code>
<code>ls</code> <code>/usr/bin/dpkgd</code>
<code>#檢視大小是否正常</code>
<code>ls</code> <code>-lh </code><code>/bin/netstat</code>
<code>ls</code> <code>-lh </code><code>/bin/ps</code>
<code>ls</code> <code>-lh </code><code>/usr/sbin/lsof</code>
<code>ls</code> <code>-lh </code><code>/usr/sbin/ss</code>
2、上傳如下指令到/root下
<code>ps</code> <code>netstat</code> <code>ss </code><code>lsof</code>
3、删除如下目錄及檔案
11
12
13
14
15
16
17
<code>rm</code> <code>-rf </code><code>/usr/bin/dpkgd</code> <code>(</code><code>ps</code> <code>netstat</code> <code>lsof</code> <code>ss)</code>
<code>rm</code> <code>-rf </code><code>/usr/bin/bsd-port</code> <code>#木馬程式</code>
<code>rm</code> <code>-f </code><code>/usr/bin/</code><code>.sshd </code><code>#木馬後門</code>
<code>rm</code> <code>-f </code><code>/tmp/gates</code><code>.lod</code>
<code>rm</code> <code>-f </code><code>/tmp/moni</code><code>.lod</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/init</code><code>.d</code><code>/DbSecuritySpt</code><code>(啟動上述描述的那些木馬變種程式)</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc1</code><code>.d</code><code>/S97DbSecuritySpt</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc2</code><code>.d</code><code>/S97DbSecuritySpt</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc3</code><code>.d</code><code>/S97DbSecuritySpt</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc4</code><code>.d</code><code>/S97DbSecuritySpt</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc5</code><code>.d</code><code>/S97DbSecuritySpt</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/init</code><code>.d</code><code>/selinux</code><code>(預設是啟動</code><code>/usr/bin/bsd-port/getty</code><code>)</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc1</code><code>.d</code><code>/S99selinux</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc2</code><code>.d</code><code>/S99selinux</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc3</code><code>.d</code><code>/S99selinux</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc4</code><code>.d</code><code>/S99selinux</code>
<code>rm</code> <code>-f </code><code>/etc/rc</code><code>.d</code><code>/rc5</code><code>.d</code><code>/S99selinux</code>
4、找出異常程式并殺死
<a href="https://s2.51cto.com/wyfs02/M01/97/95/wKiom1kv8x_S4ylGAADhKRDYGvY584.png" target="_blank"></a>
5、删除含木馬指令并重新安裝(或者把上傳的正常程式複制過去也行)
我自己重新安裝好像不行,我是找的正常的機器複制的指令。
<code>#ps</code>
<code>/root/chattr</code> <code>-i -a </code><code>/bin/ps</code> <code>&& </code><code>rm</code> <code>/bin/ps</code> <code>-f</code>
<code>yum reinstall procps -y 或 </code><code>cp</code> <code>/root/ps</code> <code>/bin</code>
<code>#netstat</code>
<code>/root/chattr</code> <code>-i -a </code><code>/bin/netstat</code> <code>&& </code><code>rm</code> <code>/bin/netstat</code> <code>-f</code>
<code>yum reinstall net-tools -y 或 </code><code>cp</code> <code>/root/netstat</code> <code>/bin</code>
<code>#lsof</code>
<code>/root/chattr</code> <code>-i -a </code><code>/bin/lsof</code> <code>&& </code><code>rm</code> <code>/usr/sbin/lsof</code> <code>-f</code>
<code>yum reinstall </code><code>lsof</code> <code>-y 或 </code><code>cp</code> <code>/root/lsof</code> <code>/usr/sbin</code>
<code>#ss</code>
<code>/root/chattr</code> <code>-i -a </code><code>/usr/sbin/ss</code> <code>&& </code><code>rm</code> <code>/usr/sbin/ss</code> <code>-f</code>
<code>yum -y reinstall iproute 或 </code><code>cp</code> <code>/root/ss</code> <code>/usr/sbin</code>
本文轉自 linuxpp 51CTO部落格,原文連結:http://blog.51cto.com/1439337369/1931437,如需轉載請自行聯系原作者