恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

admin 2025年6月15日02:20:52评论11 views字数 2168阅读7分13秒阅读模式
 

文章作者:奇安信攻防社区(Aris)

文章来源:https://forum.butian.net/share/4354

1

初始样本

初始样本为一个svg文件,在浏览器中显示如下,翻译成中文大致意思为

哥伦比亚共和国司法部门,官方通知的紧急传票。如果在法定期限内不作出回应或出庭,可能会面临财产扣押、资金冻结等强制措施,并且可能产生额外的处罚,包括信用记录受损和强制执行。所有详细信息、证据和法律效力都包含在一个PDF文档中。

并提供了一个下载pdf的按钮。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

分析发现,点击任意地方都会下载一个托管在discord服务器中的名为Documentos_xxxxx.js的文件。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

2

JScript样本

分析Documentos_xxxxx.js,发现此文件存在大量垃圾无意义代码。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

仔细多次分析后,发现在文件的靠后位置,出现了实际代码,会在一系列字符串操作后被还原成明文字符串。根据代码,得出结论此文件并非是JavaScript,而是Windows JScript脚本文件。在Windows系统中,js后缀的文件默认双击后会被wscript.exe程序解释并执行。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

将实际代码提取出来,并用WScript.Echo输出最终字符串。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

也就是说此脚本会执行下方的powershell命令恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

3

Powershell样本

将被编码的powershell代码解码恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

继续分析,代码功能为从archive.org服务器中远程下载一个 new_image.jpg 文件,并解析其中被base64编码后的.NET程序,然后反射加载并调用。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

new_image.jpg 是一个图片文件,在文件尾部追加了一个base64编码后的.NET程序恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

4

.NET样本

此.NET程序为一个dll文件,有一定的混淆,使用de4dot反混淆后继续分析。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

反编译后,发现该dll为在开源项目dnlib中新增了恶意代码,攻击者应该是想通过添加白程序代码,来逃避机器学习查杀。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

在powershell中会调用dnlib.IO.Home中的VAI方法,由于dnspy不能直接调试dll,这里我使用了 https://github.com/hexfati/SharpDllLoader 来主动加载dll。在调试的时候再把参数通过命令行传入即可。参数为

-d "C:Usersxxxxdump.dll" -n dnlib.IO -c Home -m VAI -s true --margs "txt.eliFdetrevnoC/xxxx/xxxx/stnemhcatta/moc.ppadrocsid.ndc//:sptth 1 C:UsersPublicDownloads fluctuous MSBuild       js    2 "
恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

代码中Class237.smethod_0的出现频率很高,后续分析出,此方法实际为字符串隐藏,只有在调用的时候才会从hash表中,通过键取出。这里的Class237.smethod_0(12359)会返回字符串1恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

分析其字符串隐藏原来,会读取名为hIXS的资源,里面包含了所有的加密后的字符串。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

在内存中动态创建一个名为?的.NET模块,再创建一个名为?的静态函数。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

继续分析刚创建的模块,发现其将所有字符串取出,并存储在hash表中恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

读取时,根据键来读出实际字符串。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

继续分析其功能代码,包含了虚拟机检测功能恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

计划任务进行权限维持恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

通过注册表HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionRun进行维权恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

通过反射加载存放在资源文件中的UAC.dll进行UAC Bypass。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

UAC.dll使用了cmstp实现UAC Bypass。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

远程下载 https://cdn.discordapp.com/attachments/xxxx/xxxx/ConvertedFile.txt 解码后提取出PE文件。然后根据PE文件的IMAGE_OPTIONAL_HEADER中的Magic字段来选择要使用的傀儡进程注入技术。其中32位程序的Magic字段为IMAGE_NT_OPTIONAL_HDR32_MAGIC (267),64位程序则为IMAGE_NT_OPTIONAL_HDR64_MAGIC (523)恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

为32位程序时,使用如下傀儡进程注入技术。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

为64位程序时,使用如下傀儡进程注入技术。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

根据传入方法的参数,会将Documentos_xxxxx.js复制到C:UsersPublicDownloadsfluctuous.js并添加注册表自启动。然后从https://cdn.discordapp.com/attachments/xxxx/xxxx/ConvertedFile.txt中下载并解码,再创建傀儡进程MSBuild.exe并注入payload。不过由于链接目前已失效,导致无法分析其最终的payload,在virustotal搜索了一下,发现有人已经传过了。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

最终注入的应该是一个AsyncRat木马。恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

5

总结

攻击者实现了一次多阶段的钓鱼攻击,大量使用了合法的网站来托管恶意payload,并使用内存反射加载来逃避查杀。在企业中对陌生邮件一定要警惕,不运行可疑文件,防止成为攻击者的"肉鸡"。

原文始发于微信公众号(李白你好):恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月15日02:20:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   恶意样本分析 | AsyncRat通过svg多阶段钓鱼分析https://cn-sec.com/archives/4163945.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息