【应急响应】————7、服务器大量发包

背景

一哥们反应自己的测试机器总是关机,联系云主机客服得知服务器总是大量发包,导致技术关停该机器。

排查过程

Last查看登录记录

查找到一个可疑IP

[root@i-9kp9tipm dpkgd]# grep "1.180.212.21" /var/log/secure*
/var/log/secure-20170409:Apr  4 22:20:43 i-9kp9tipm sshd[25921]: Accepted password for root from 1.180.212.21 port 5777 ssh2
/var/log/secure-20170409:Apr  4 23:21:16 i-9kp9tipm sshd[29214]: Accepted password for root from 1.180.212.21 port 50625 ssh2
/var/log/secure-20170409:Apr  5 00:13:12 i-9kp9tipm sshd[31509]: Accepted password for root from 1.180.212.21 port 12305 ssh2
/var/log/secure-20170409:Apr  5 00:24:56 i-9kp9tipm sshd[32029]: Accepted password for root from 1.180.212.21 port 12334 ssh2

查看所有登录成功的记录

【应急响应】————7、服务器大量发包_第1张图片

确认后得知119.254.100.106和124.207.112.10为正常IP,但是这哥们的Root密码也算是复杂。
既然Root被拿了,那么看一下常用命令呢

【应急响应】————7、服务器大量发包_第2张图片

发现ps和netstat被替换

发现ss被替换

【应急响应】————7、服务器大量发包_第3张图片

发现2进制程序pythno和.sshd,并且在bsd-port下也有两个可执行程序
在dpkgd目录下发现替换之前的命令

【应急响应】————7、服务器大量发包_第4张图片

看一下.sshd文件的时间点。

【应急响应】————7、服务器大量发包_第5张图片

用Strings查看一下

【应急响应】————7、服务器大量发包_第6张图片

发现里面有很多IP地址。

查看下当前的连接:

【应急响应】————7、服务器大量发包_第7张图片

发现了3个可以进程1742、1677、1683
看一下这些可执行程序在什么地方

【应急响应】————7、服务器大量发包_第8张图片

发现这个ps看不到1742,然后我从自己主机上拷贝了一个ps过来,再执行下

【应急响应】————7、服务器大量发包_第9张图片

这三个2进制程序

然后哥们反馈的是开机就会大量发包,来看下crontab,没有异常。查看rc.local没有异常。查看/etc/cron*没有异常。检查/etc/init.d的时候发现

【应急响应】————7、服务器大量发包_第10张图片

/tmp下发现DDOS客户端文件

【应急响应】————7、服务器大量发包_第11张图片

检查history没有发现操作记录。
检查mysql,发现密码简单123456,启动权限为mysql,plugin目录没有写入权限。
history中看到哥们之前有安装redis,且redis.conf中没有配置pass,检查/root/.ssh下没有发现异常,查看redis键未发现异常。
中间件是tomcat,发现/manager/html,没有账户。
项目为java项目,用到了struts2,检查struts2的版本

查看access log

没有发现异常

处理方式

1)加强SSH和Mysql密码,SSH限制IP访问,redis后期如果使用需配置认证。如无需对外提供服务,仅监听本地。
2)升级struts2到2.3.32版本
3)杀死进程

4)删除木马文件,拷贝正常命令

【应急响应】————7、服务器大量发包_第12张图片

5)删除开机启动项

6)重启

你可能感兴趣的:(【应急响应】,———Linux应急响应)