Structs2漏洞在3月7日攻击脚本公开爆发的时候,攻击者即利用攻击脚本对服务器进行Structs2漏洞攻击,写入webshell (下图几个多功能大马写入的时间均为3月7日),获取服务器权限,而最新的防护规则则是在16日NGAF升级之后才被触发。
此时,可以确定,最新规则库是16号才更新的,在3月7日,黑客是利用最新的structs2 s20-045漏洞,上传了webshell。
tomcat日志分析
利用notepad++筛选出访问过webshell的ip地址,发现有多个攻击者(113.93.84.199、58.22.101.143、180.153.160.24等)对webshell进行过访问。
利用notepad++筛选出访问过tomcat日志中kjy.jsp这个后门的ip地址,发现在现有日志中没有攻击者访问过,所以推测攻击者不是通过以前的这个后门来控制服务器。
针对xc.txt这个文件,排查tomcat日志,发现日志中有2个ip地址223.151.55.58、203.208.60.208访问过xc.txt这个文件。
对223.151.55.58进行分析,使用微步在线查询发现该ip来自湖南常德。
对203.208.60.208进行分析,分别利用ip138、站长之家和微步在线,对该ip地址进行查询分析,发现该ip地址属于谷歌爬虫。
可以推测223.151.55.58为攻击者使用的代理IP地址,在日志中查找该IP地址的行为,发现该IP地址的访问记录仅仅是争对xc.txt这个文件,未发现其他访问记录(其中3月11日的日志被攻击者删除),结合上面的排查情况,Structs2漏洞在3月7日攻击脚本公开爆发,猜测攻击者可能3月11日直接利用攻击脚本对服务器进行Structs2漏洞攻击,获取了服务器的权限,控制服务器,写入xc.txt文件,12日对其进行访问,看txt文件是否存在,服务器返回200。
0X002 历史遗留后门导致服务器被挂暗链
不久,服务器再次被入侵并植入暗链,查看攻击者创建的页面,确实是外链广告页面。
找出访问过黑客创建的广告页面的ip地址,发现58.62.234.168、66.249.79.143这两个ip地址大量访问广告页面。(显示访问前10位的IP地址,便于查找攻击源:cat access_log |awk ‘{print $1}’|sort|uniq -c|sort -nr|head -10)
微步在线分析下66.249.79.143这个IP地址,结果是搜索引擎爬虫。
筛选出58.62.234.168的访问记录发现在不断的访问/manager/200.jsp这个文件,怀疑这是个后门。
访问下200.jsp这个文件,发现其果然是后门。
查看200.jsp的上传时间,3月7日,根据3月17日的排查结果,该后门为漏网之鱼,为攻击者通过structs2漏洞创建。(之后对服务器进行全盘查杀,未发现其他后门)