1. 场景
运维人员发现,通过搜索引擎访问公司网站会自动跳转到恶意网站(博彩网站),但是直接输入域名访问公司网站,则不会出现跳转问题,而且服务器CPU的使用率异常高,运维人员认为服务器可能被黑客入侵
2. 挖掘攻击痕迹
top命令发现CPU高占用进程
查看计划任务,发现有指向update.sh的计划任务
crontab -l
进入/etc目录,记录update.sh的修改时间2021/03/01 3:12:55
3. 分析攻击路径
该服务器部署了struts2的网站程序,攻击者可能是从struts2漏洞入侵的,进入网站目录
step1 打开首页文件index.jsp
发现关于自动跳转到恶意网站的js代码,删除掉
如果没有明显的js代码,那么可能被写入了数据库,通过代码调用数据库,执行其中的恶意跳转代码,这种情况要对数据库进行排查
step2 利用struts2漏洞检查工具验证该网站的漏洞可利用
进入tomcat日志目录
下载与挖矿程序对应日期2021-03-01的localhost_access_log
同时用河马webshell或其他扫描工具对web目录进行扫描,找到webshell文件为config.jsp
查看config.jsp,确认为菜刀的webshell
notepad++查看localhost_access_log,查找/config.jsp,发现192.168.184.1访问过
查看localhost_access_log.2021-02-25.txt,还能发现192.168.184.1利用struts2漏洞提交config.jsp的记录
4. 分析挖矿脚本
查看update.sh
发现挖矿程序名sysupdate,查看路径
find / -name sysupdate
发下在/etc目录下,下载后上传到云沙箱分析,确认为挖矿病毒
在update.sh中还发现ssh公钥
5. 结束挖矿程序并清理后门
- 删除计划任务
- 删除文件sysupdate、update.sh
- 杀死进程
- 删除后门config.jsp
- 删除SSH公钥