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

Ostap:超过34,000行的JavaScript下载器用于TrickBot分发活动中

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

威胁行为者在危害系统时,通常需要考虑如何进入目标网络才能避免被检测到,而传递恶意附件的网络钓鱼邮件往往就充当了初始感染媒介的角色。
此外,攻击者还需要一种方法,在安全监控产品的眼皮底下执行代码。最常见的一种代码执行技术就是使用解释脚本语言,可以在操作系统上运行而不需要额外的依赖关系。以Windows为例,受到攻击者青睐的语言包括PowerShell、VBScript、JScript、VBA,以及滥用cmd.exe来执行指令。
攻击者和防御者的关系就像猫和老鼠,在进步的道路上不断追逐。我们经常看到恶意行为者为了增加入侵的成功率,花了很多心思在工具改进上,尤其是最开始破坏系统的下载器上。
2019年8月初,我们注意到传播TrickBot的钓鱼邮件行动中开始出现了Ostap的身影,这是一种基于JavaScript的商业下载器。在过去,传播TrickBot的活动往往依赖于使用了混淆shell命令,或是PowerShell命令的下载器,再由VBA AutoOpen宏触发,进而下载并执行恶意payload。
在本文中,我将解释如何对Ostap进行反混淆处理,并描述我编写的Python脚本(deobfuscate_ostap.py),该脚本可以自动对此JScript恶意软件进行反混淆处理,可在GitHub上下载。
TrickBot,也被称为The Trick,是一种模块化银行木马,被至少三个威胁团伙运作过,分别是TA505、Grim Spider和Wizard Spider。虽然基于javascript的下载器并不新鲜,但TrickBot最新的下载器以其大小、虚拟机检测和反分析措施而闻名。曾有分析人员做过检测,Ostap样本在两个不同的公共沙箱中的生成并不完整,也没有下载各自的TrickBot payload。此外,上传到VirusTotal的样本在首次上传时检测率仅有6/55(11%),这表明Ostap可有效避开大多数反病毒检测。

图1.Ostap样本的VirusTotal检测
Ostap——TrickBot的JScript下载器
下载器的目的是从一个或多个远程服务器上检索及运行次级payload,它们的功能往往比较简单,即使混淆后,也很少有超过几百行代码的。Ostap却完全不符合这一规律,因为它非常大,包含了近35,000行经过美化的混淆代码。历史上的TrickBot活动表明,操作人员为了绕过检测,用的混淆层数往往比其他恶意软件要多。

图2.Ostap样本的行,字和字节数,有34,757行
宏分析
下载器伪装在一个启用了宏的Microsoft Word 2007的文档里,文档包含下载器的两个组件:VBA宏和JScript(图3)。电子邮件订单交易为主题,表明这些活动可能旨在针对企业而非个人。

图3.下载器的诱饵文档
下载器的JScript组件以白色文本的形式存储在文档正文中,从而导致单词和页数较高。

图4 .诱饵文档中的JScript
VBA宏保存在名为“Sorry”的项中。打开文档时,它首先将JScript复制到用户默认Word模板目录 (%AppData%\Microsoft\Templates)中名为2angola.dot和2angola.dotu的文件中。该过程由Document.Open事件触发。

图5.打开文档时运行的带注释的VBA代码
宏的其余部分仅在文档关闭时运行,这是通过监视Document.Close事件来实现的(图6)。这是一种反沙箱措施,利用不会模仿用户活动的沙箱来阻止行为分析,例如关闭文档的动作。

图6.文档关闭时运行的带注释的VBA代码
如果文档已关闭,宏将2angola.dot重命名为2angola.Jse然后运行它,步骤如下:
1、宏从Win32_Process WMI类调用Create方法,以2angola.Jse作为命令行参数运行新的Explorer.exe进程(图7)。[13]
2、当Explorer.exe进程已经在运行,需要创建一个的新的时,将使用/ factory {75DFF2B7-6936-4C06-A8BB-676A7B00B24B} -Embedding命令行参数创建(图8)。 CLSID对应于名为“CLSID_SeparateMultipleProcessExplorerHost”的ProgID。
3、Explorer使用Windows脚本宿主(WScript.exe)运行2angola.Jse,这是JScript编码文件(.JSE)的默认文件处理程序,如图9所示。2angola.dot的文件扩展名重命名为.Jse确保由WScript.exe打开。这种默认的文件关联性,意味着宏可以通过间接引用WScript来逃避检测,WScript是一种通常在宏的上下文中用于恶意目的的程序。

图7.Sysmon事件显示了一个Explorer.exe进程,它在WMI Provider Host (WmiPrvSE.exe)启动后运行JScript文件

图8.Sysmon事件显示由参数 /factory,CLSID {75DFF2B7-6936-4C06-A8BB-676A7B00B24B} -Embedding创建的新Explorer.exe进程

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

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