Formbook 通过多重脚本投递
当我教授FOR610课程时,我总是告诉我的学生,逆向工程不仅适用于“可执行文件”(即PE或ELF文件)。大多数情况下,感染路径会涉及多个阶段,以对抗安全分析师或安全控制措施。以下是我昨天发现的一个例子。一封电子邮件通过一个ZIP附件被接收。它包含一个简单的文件:“Payment_confirmation_copy_30K__202512110937495663904650431.vbs”(SHA256:d9bd350b04cd2540bbcbf9da1f3321f8c6bba1d8fe31de63d5afaf18a735744f),在VirusTotal上被65款杀毒软件中的17款识别。让我们来看看感染路径。
这个VBS脚本被混淆了,但很容易还原。首先,它以一个9秒的延迟循环开始:
|
|
这允许脚本在执行恶意操作之前等待,并避免使用常被视为可疑的sleep()函数。然后,脚本将通过连接大量字符串来生成一个PowerShell脚本。“PowerShell”字符串隐藏在这行代码后面:
|
|
脚本是这样重建的:
|
|
结果通过一个Shell.Application对象执行。PowerShell脚本也同样被严重混淆。为此使用了两个函数:
|
|
第二个函数只是用提供的字符串调用“Invoke-Expression”。第一个函数通过从提供的字符串中提取某些字符来重建字符串。例如:
|
|
变量meseventrally将包含“nET.wEBClIent”。
去混淆后脚本的第一部分将准备下载下一个有效载荷:
|
|
循环等待从该URL成功下载:hxxps://drive[.]google[.]com/uc?export=download&id=1jFn0CatcuICOIjBsP_WxcI_faBI9WA9S
它将有效载荷存储在C:\Users\REM\AppData\Roaming\budene.con中。一旦解码,它是另一个也实现了去混淆函数的PowerShell代码片段。
该脚本将调用一个msiexec.exe进程并将FormBook注入其中。被注入的有效载荷是C:\Users\REM\AppData\Local\Temp\bin.exe (SHA256:12a0f592ba833fb80cc286e28a36dcdef041b7fc086a7988a02d9d55ef4c0a9d)。C2服务器是216[.]250[.]252[.]227:7719。
以下是所有脚本在受感染系统上生成活动的概述:
参考资料:
- [1] https://www.sans.org/cyber-security-courses/reverse-engineering-malware-malware-analysis-tools-techniques
- [2] https://www.virustotal.com/gui/file/d9bd350b04cd2540bbcbf9da1f3321f8c6bba1d8fe31de63d5afaf18a735744f
- [3] https://www.virustotal.com/gui/file/12a0f592ba833fb80cc286e28a36dcdef041b7fc086a7988a02d9d55ef4c0a9d
作者: Xavier Mertens (@xme) 关键词: 混淆,PowerShell,VBS,Formbook,恶意软件