由於自己也碰到過這種情況,剛好看到這篇文章,先轉載過來。的確蠻有用的哦。
首先劇透一下後門木馬如下:
(當然這是事後平靜下來後慢慢搜出來的,那個時候喝著咖啡感覺像個自由人)
木馬名稱
Linux.BackDoor.Gates.5
http://forum.antichat.ru/threads/413337/
首先是下午14點左右有幾台服務器出現流量超高,平時只有幾百M的流量,那時候發現流量上G了,達到這個量第一感覺就是遭受了DDOS流量攻擊,那時候手上的服務器比較多,出現幾台並沒
有放在眼裡,覺得查查就可以出來結果。隨便說一句為了達到最好的性能,我們這些服務器都沒有開防火牆(包括硬件及iptables),也就是服務器一直處於裸奔的狀態。這些服務器裸奔了
幾年一直沒有出現問題,看來linux服務器安全這塊還是挺讓人滿意的。
開始也沒有什麼頭緒,就是ps查進程啊,netstat查端口號,iftop查流量,估計大家一開始出現這種情況都是這樣操作,又得劇透下(這樣做估計也是黑客希望的,顯然他們對我等非常了解
哈),一時也沒發現什麼異常,只是iftop發現我們的服務器一直向外大量發包,對某個IP的流量能到達600多M,這時我們意識到服務器被黑了,但是只是當成了肉雞,去攻擊別的服務器,當
然攻擊的IP也是一直在變化的,就好像有人在遠程控制一樣。
轉眼都快到下班時間了,這時大概有3台服務器有這種的情況,此時大家把各自了解的情況匯總了一下:
a、/bin/ps,/bin/netsta程序都是1.2M的大小,顯然是被人掉包了
b、/usr/bin/.dbus-daemon--system 進程還帶了一個點,跟哪個不帶點的很像,但終歸是假的,你咋不給真的刪掉替換呢,看來寫這種程序的人法律意識很強,要不然程序推廣起來了,死了
一大片CIA會放過他嗎
c、/etc/rc.local權限改了,而且添加了一個開機啟動項
d、lsattr、chattr命令刪除了
e 、進程殺掉了立即又起來了這點很讓人頭痛
f、找到了一些最近修改的文件,顯然這些都是黑客留下的
g、開機自動啟動文件增加2個啟動項
剛開始進程殺了又起來,文件刪了又自動生成,線上環境又沒有防火牆配置,無奈之下只好想了一個怪招,把/bin/bash重命名一下,果然流量下來了,這種殺敵1萬自損8千的招果然有用。
其實這時候還沒有找到真正的木馬,但是已經有時間去分析查找病毒源了,這3台其中兩台修改了bash名字,突然斷開了,這樣就登陸不了,只好重裝系統了。後來這台我就慢慢查找了,差不
多都找到了,然後刪除。這時心情大好,准備寫博文記錄一下,畢竟這是線上環境第一次遭遇木馬。
大概22點的時候,博文寫了一半,突然又接到故障,這次一下子又7台服務器出故障了,好心情一下子沒了,原來那3台只是個開場白,真正的戰斗還沒有開始。所以後面的博客是續上的,調
調要是有些不一樣將就的看吧。
由於這段時間網上查了些資料,慢慢的對這個木馬熟悉起來了。這時我上傳了一些正常的二進制程序如:ls,netstat,chattr,lsattr這樣用自動的程序一下子就查到了木馬程序,我分析了一
下,這些木馬程序名字變著花樣來,但萬變不離其宗,名字都寫在/etc/rc.d/init.d/DbSecuritySpt和/etc/rc.d/init.d/selinux裡面,而且名字和正常的服務很像。
有/usr/local/zabbix/sbin/zabbix_AgentD、/usr/bin/bsd-port/getty、/usr /bin/dpkgd/ps、/usr/bin/.dbus-daemon--system、/usr/bin/.sshd、/usr/bin/sshd 反正你系統有什麼類似的
進程在運行,他就改成差不多的來迷惑你,其實他們都是一個程序大小也一樣。
現在就是刪除這些文件,殺死這些進程,說個小插曲由於某台服務器漏掉了一些沒有刪,第二天有激活了,這些東西當你用上面的命令時就可以激活,所以要千萬小心仔細。在大概凌晨4點多
的時候這7台服務器的木馬清理了差不多了,現在綜合總結了大概步驟如下:
0,簡單判斷有無木馬
有無下列文件
cat /etc/rc.d/init.d/selinux
cat /etc/rc.d/init.d/DbSecuritySpt
ls /usr/bin/bsd-port
ls /usr/bin/dpkgd
查看大小是否正常
ls -lh /bin/netstat
ls -lh /bin/ps
ls -lh /usr/sbin/lsof
ls -lh /usr/sbin/ss
1,上傳如下命令到/root下
lsattr chattr ps netstat ss lsof
2,刪除如下目錄及文件
rm -rf /usr/bin/dpkgd (ps netstat lsof ss)
rm -rf /usr/bin/bsd-port (木馬程序)
rm -f /usr/local/zabbix/sbin/zabbix_AgentD (木馬程序)
rm -f /usr/local/zabbix/sbin/conf.n
rm -f /usr/bin/.sshd
rm -f /usr/bin/sshd
rm -f /root/cmd.n
rm -f /root/conf.n
rm -f /root/IP
rm -f /tmp/gates.lod
rm -f /tmp/moni.lod
rm -f /tmp/notify.file 程序
rm -f /tmp/gates.lock 進程號
rm -f /etc/rc.d/init.d/DbSecuritySpt(啟動上述描述的那些木馬變種程序)
rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt
rm -f /etc/rc.d/init.d/selinux(默認是啟動/usr/bin/bsd-port/getty)
rm -f /etc/rc.d/rc1.d/S99selinux
rm -f /etc/rc.d/rc2.d/S99selinux
rm -f /etc/rc.d/rc3.d/S99selinux
rm -f /etc/rc.d/rc4.d/S99selinux
rm -f /etc/rc.d/rc5.d/S99selinux
3,找出下列程序進程號並殺死
top 一眼就看到那個木馬cpu利用率特高
/root/ps aux |grep -i jul29(主要是最近開啟的進程)
/root/ps aux |grep -i jul30
/root/ps aux |grep -i jul31
/root/ps aux |grep sshd
/root/ps aux |grep ps
/root/ps aux |grep getty
/root/ps aux |grep netstat
/root/ps aux |grep lsof
/root/ps aux |grep ss
/root/ps aux |grep zabbix_Agetntd
/root/ps aux |grep .dbus
舉例如下: