吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11246|回复: 140
收起左侧

[PC样本分析] 警惕,黑客通过伪装游戏作弊器 dll注入器等的GitHub开源项目传播多种恶意软件

    [复制链接]
ahov 发表于 2024-4-13 13:47
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!

一、背景

近期发现有人称在GitHub上下载了一个工程文件打开,不幸中招恶意软件,如下图所示:
捕获1.PNG

(一)文件信息

下载后可发现,该项目的sln工程文件,实为一个PE可执行文件,如下图所示:
捕获2.PNG

VirusTotal中的历史文件名称,如下图所示:
a0.PNG

该PE文件使用了无效数字签名,如下图所示:
捕获3.PNG

该文件使用.NET编写,如下图所示:
捕获4.PNG

(二)恶意GitHub organization信息

该仓库隶属于一个名为Hayrowi的GitHub organization,截至发帖前仍然存在并有效,该organization下部分仓库,如下图所示:
捕获5.PNG

我们随意点开几个仓库,均发现了相关恶意软件,如下图所示:
捕获6.PNG
捕获7.PNG
捕获8.PNG

其中,Releases中也包含相关的恶意软件,如下图所示:
捕获9.PNG

此外,这些仓库都包含一个名为Star的workflows,Github actions执行后会修改LOG文件中的最后更新时间,如下图所示:
捕获10.PNG
捕获11.PNG
(比较有趣的是,黑客填写的本地git邮箱是ischhfd83#rambler.ru)
捕获12.PNG

其README.md均较为逼真,如下图所示:
捕获13.PNG

二、样本分析

(一)第一层.NET文件

将样本使用dnspy反编译后,第一眼映入眼帘的是样本伪装成sln文件有多么“良苦用心”,如下图所示:
捕获14.PNG

随后映入眼帘的便是UHJvZ3JhbUFB下的 "DownloadAll()" "DownloadRU()" "GetCountry()" 等函数名,如下图所示:
捕获15.PNG

我们还可以看到,其有一个namespace,名为Costura,进入后可以看到其下QXNzZW1ibHlMb2FkZXJB类和QXNzZW1ibHlMb2FkZXJB类之下的静态构造函数.cctor()中有大量调用0xb11a1()模块进行疑似加解密的操作,如下图所示:
捕获16.PNG
捕获17.PNG

于是我们进入0xb11a1()中查看,可以看到0xb11a1()是一个解密函数,其首先将转化为Base64编码的二进制数据解码得到一个字节数组,随后使用MD5CryptoServiceProvider()计算指定密钥,随后使用TripleDES算法进行解密操作,最后返回的结果为Encoding.UTF8.GetString(bytes),如下图所示:
捕获18.PNG

我们在第14行返回结果处添加断点,随后调试程序,即可获取bytes数组内每个Hex的内容,如下图所示:
捕获19.PNG
捕获20.PNG
捕获21.PNG

我们继续调试运行下去,程序产生了以下可疑字符串:

[Asm] 纯文本查看 复制代码
当\u0011 == "DcoAUBmho367yTRLca4PWGOTDapCDF7i"时,bytes数组内容为"68747470733A2F2F6970696E666F2E696F",其对应的字符串为"https://ipinfo.io"
当\u0011 == "YarWFP+EY1k="时,bytes数组内容为"636F756E747279",其对应字符串为"country"
当\u0011 == "WQ9RJjRWvr4="时,byte数组内容为"5255",其对应字符串为"RU"
当\u0011 == "DcoAUBmho37SbvQx8t9W89i0JeQvhJ9wMSeXNO2uJoA="时,bytes数组内容为"68747470733A2F2F72656E7472792E636F2F6E396471722F726177",其对应字符串为"https://rentry.co/n9dqr/raw"
当\u0011 == "iluO4PO7Pv8="时,bytes数组内容为"2E736C6E",其对应字符串为".sln"
当\u0011 == "OIT6ITVzsw8="时,bytes数组内容为"636D64",其对应字符串为"cmd"
当\u0011 == "NlI2H/2+8sE="时,bytes数组内容为"2F432022",其对应字符串为'/C "'
当\u0011 == "DcoAUBmho36mBDorlHHmdCf3Z2mGuxd4lraH5pQj6ak="时,bytes数组内容为"68747470733A2F2F7777772E372D7A69702E6F72672F377A722E657865",其对应字符串为"https://www.7-zip.org/7zr.exe"
当\u0011 == "DcoAUBmho37SbvQx8t9W83/Ge3q60WKUmGrtUiDPNuREEna+M2RGUQ=="时,bytes数组内容为"68747470733A2F2F72656E7472792E636F2F4D75636B436F6D70616E794D4D432F726177",其对应字符串为"https://rentry.co/MuckCompanyMMC/raw"
当\u0011 == "dw3Hoq0iR7Q=",bytes数组内容为"2E377A",其对应字符串为".7z"
当\u0011 == "kPTQfX8JImAM/GQNAChwT71mgweZc58JQ5/KYY2TfQY=",bytes数组内容为"22202D706852335E26623225413921674B2A364C71503774244E7057",其对应字符串为'" -phR3^&b2%A9!gK*6LqP7t$NpW'

我们可以看到,以上字符串中,除下载7zr.exe外,访问了2个URL

我们手动访问第一个URL,如下图所示:
捕获22.PNG

这是一个下载地址,下载该文件后我们发现这是一个真实的sln白文件,如下图所示:
捕获23.PNG

我们手动访问第二个URL,如下图所示:
捕获24.PNG

这是一个下载地址,下载该文件后我们发现这是一个加密的7-Zip压缩包(VisualStudioEN.7z),里面有一个PE可执行文件VisualStudio.exe,如下图所示:
捕获25.PNG

结合以上字符串,我们可以判断,该程序的主要目的是下载7-Zip组件解压加密压缩包VisualStudioEN.7z(解压密码为"hR3^&b2%A9!gK*6LqP7t$NpW")

通过以上字符串,基本上可以判断该程序的行为:
第一步,访问ipinfo.io,判断国家
第二步,下载一个真实的sln白文件,然后通过cmd来打开它
第三步,下载内含第二阶段恶意载荷的加密压缩包VisualStudioEN.7z,通过下载的7-Zip组件来解压加密压缩包VisualStudioEN.7z(解压密码为"hR3^&b2%A9!gK*6LqP7t$NpW")

(二)第二层.NET文件

通过加密压缩包VisualStudioEN.7z解压得到的第二阶段恶意载荷VisualStudio.exe仍然使用.NET编写,如下图所示:
捕获26.PNG

第二层.NET文件引用的Costura namespace与第一层.NET文件结构非常相似,但是上方程序主函数不同,如下图所示:
捕获27.PNG

一、Service.exe模块

其首先创建一个"C:\Users\Public\Videos\b.bat"文件,用于绕过UAC并执行稍后将要释放的恶意Payload "C:\Users\Public\Videos\Service.exe";然后创建一个"C:\Users\Public\Videos\b.vbs"文件,用于启动刚才创建的b.bat文件,如下图所示:
捕获28.PNG

随后,base64解密出Service.exe,如下图所示:
捕获29.PNG
捕获30.PNG

之后无窗口静默启动刚才上面释放的b.vbs,(然后b.vbs会启动b.bat,b.bat会尝试绕过系统UAC并启动Payload Service.exe),如下图所示:
捕获31.PNG

Service.exe的作用是为稍后将要释放的"C:\ProgramData\MicrosoftTool\current\Microsoft.exe"文件通过命令行添加计划任务,其会在%temp%下释放一个临时的v2.bat,待添加完成后会对v2.bat进行删除。

行为如下图所示:
捕获33.PNG
捕获34.PNG

行为链如下图所示:
捕获35.PNG
捕获36.PNG
捕获37.PNG

删除临时的v2.bat,如下图所示:
捕获38.PNG

添加的计划任务,如下图所示:
捕获39.PNG

二、BitDefender.7z

随后,其下载7-Zip组件(至ProgramData下)与https://rentry.co/MuckMKV/raw下的加密压缩包进行解压(解压密码为"SaToshi780189.!"),如下图所示:
捕获40.PNG
捕获41.PNG

我们手动访问URL,如下图所示:
捕获42.PNG

下载之后得到BitDefender.7z,如下图所示:
捕获43.PNG

将其解压后可得到4个PE可执行文件,如下图所示:
捕获44.PNG

其中,使用.NET编写的文件均使用了Cronos-Crypter代码混淆器,如下图所示:
捕获45.PNG

其会注入RegAsm.exe,然后进程自退出,如下图所示:
注入1.PNG
注入2.PNG

通信协议疑似为AsyncRAT,如下图所示:
46.jpg

C2为40.66.42.41:9471,如下图所示:
捕获47.PNG

此外,通过C2地址与端口,还发现了一份相同C2相同配置的疑似AsyncRAT样本,是一个PowerShell脚本文件,有兴趣的可以研究一下(https://tria.ge/240401-nslb6adc7s, SHA256: f23e4b5e2ed8fd275c1cb96d55becb6e357c6fd92c354127046957412202a9d121c2f385b804d5f441f7c4e3c921e15d9af89e72b9bfb845443deb54c2a25ff7):
捕获48.PNG

而WinSAT.exe为NSIS自解压程序包,内含一个app-32.7z压缩包,将其解压后可以发现其内部是一个Electron应用,如下图所示:
补1.PNG

恶意软件制作者通过修改Electron依赖app.asar内的index.js、config_obf.js与package.json从而实现恶意行为,如下图所示:
补2.PNG
补3.PNG

三、Microsoft.7z

在上述逻辑执行完成后,程序会睡眠一段时间,然后其会执行下一个逻辑:下载7-Zip组件(至ProgramData下)与https://rentry.co/MuckSoft/raw下的加密压缩包进行解压(解压密码为"somaliMUSTAFA681!!..."),如下图所示:
捕获49.PNG
捕获50.PNG

我们手动访问URL,如下图所示:
捕获51.PNG

下载之后得到Microsoft.7z,如下图所示:
捕获52.PNG

将Microsoft.7z解压后可以发现其内部是一个Electron应用,如下图所示:
捕获54.PNG

运行Microsoft.exe后可以发现同样也会释放先前的Service.exe,并且具备与先前的Service.exe十分接近的恶意行为,如下图所示:
捕获53.PNG
捕获55.PNG
捕获56.PNG

恶意软件制作者通过修改Electron依赖app.asar内的main.bundle.js从而实现恶意行为,如下图所示:
捕获57.PNG

三、总结

我们通过线索捕获到了该恶意软件的一整条攻击链,如下图所示:
aaa.png
我们发现,该恶意软件攻击链通过采用两个.NET恶意下载者下载最终载荷,最终载荷中包含了两个恶意的Electron模块,而在最终载荷中看似毫不相关单独释放的Service.exe模块,却与其中的一个恶意Electron模块产生了联系,此外还有一个注入RegAsm.exe且通信协议疑似为AsyncRAT的恶意模块。由此可见,该恶意软件行为链条完整,并且传播多种不同类型的恶意软件。

四、loc

(一)恶意GitHub organization

https://github.com/Hayrowi

(二)C2

40.66.42.41:9471

(三)样本文件Hash

文件名称:DLL Injector Resou.nls.scr
SHA256:1ed90c2a319e37c10a4646c8ae087d691ab13cbf2d39066080a96c685ab9c6c1

文件名称:VisualStudio.exe
SHA256:ced23104253e55e011dd15862eec275352406b0541672bb9bdace10af2bf6a52

文件名称:Service.exe
SHA256:7f67bcf190c26e663aa465b4cadfc41816c3d6c95c18515d3ef75b9aa86e7209

文件名称:aitstatic.exe
SHA256:630c70be4bf71082167abe3e0da283ce25b95a26e5c9b185ca3ec0a95d0ca3a5

文件名称:ComSvcConfig.exe
SHA256:dad9345512882c703297c4e3608eab4de31463264b1121b9f57d3b116b8c9177

文件名称:WinSAT.exe
SHA256:bffa0f9b42c64683b0cfc2d236614482474604aa61a44dbc07a5598755161502

文件名称:WinSAT.exe => $PLUGINSDIR\app-32.7z => resources\app\app.asar
SHA256:6a239058ca4150aeeb4477b0ff221f285879c7122023ea4983b567153c8ab644

文件名称:WinSAT.exe => $PLUGINSDIR\app-32.7z => resources\app\app.asar => config_obf.js
SHA256:4d018f58579616bec46f3d2fa03f8a41b1b5e68e4ccd01081cc3d96f01c5438c

文件名称:WinSAT.exe => $PLUGINSDIR\app-32.7z => resources\app\app.asar => index.js
SHA256:39dcb2ed9b874c3c49ac12b42801f0b02058dde3073fdfec3e9c1d687b4a5cc7

文件名称:MicrosoftCertificateServices.exe
SHA256:004d814eff2c57efadf1977f2b72957a8477a45413b2cf0fbe4424069f5469ca

文件名称:MicrosoftCertificateServices.exe
SHA256:ae0f5057a493097e2393df0fd713ddb02d04b3e2e6139c80655da1e59ad1917b

文件名称:Microsoft.7z => current\app.asar
SHA256:e5772f1c30fa84b138e670422e566d3a1f18aad74c257a19fad1f95811a1451a

文件名称:Microsoft.7z => current\app.asar => main.bundle.js
SHA256:039cb756025abfa0802cf5891d4b7d63a974160f52b3bdcb7f95f690de76294e

点评

卧槽 苦主出现了  发表于 2024-4-26 10:31

免费评分

参与人数 72吾爱币 +70 热心值 +68 收起 理由
Mr.wuki + 1 + 1 用心讨论,共获提升!
af114708 + 1 我很赞同!
ofsset + 1 + 1 我很赞同!
nianhua_157 + 1 我很赞同!
tianyalaike + 1 + 1 用心讨论,共获提升!
Brashcx + 1 + 1 我很赞同!
xiaoqq + 1 用心讨论,共获提升!
CLW1236 + 1 热心回复!
wangdapeng2023 + 1 谢谢@Thanks!
Yoobin + 1 + 1 用心讨论,共获提升!
renzhentian + 1 + 1 涨知识了
kj1004 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
yuyuan0316 + 1 + 1 用心讨论,共获提升!
KaNI + 1 用心讨论,共获提升!
DawnXi + 1 + 1 用心讨论,共获提升!
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
小黑裙 + 1 + 1 好牛逼啊。。
Z781287 + 1 谢谢@Thanks!
CrazyNut + 3 + 1 谢谢@Thanks!
ukaguya + 1 + 1 我很赞同!
carrot2017 + 1 + 1 我很赞同!
siryiio + 1 + 1 谢谢@Thanks!
merky + 1 + 1 我很赞同!
fanshuzi + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Icurk0 + 1 + 1 热心回复!
ingIM + 1 + 1 谢谢@Thanks!
iTMZhang + 1 + 1 用心讨论,共获提升!
tplink921 + 1 + 1 谢谢@Thanks!
iBaiYu + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
pojie666PJ + 1 我很赞同!
KnmslCCC + 1 + 1 技术力太强了!顺便问一下老哥你这个火绒剑是什么版本。
fxxxysh010 + 1 + 1 谢谢@Thanks!
billsmiless + 2 + 1 谢谢@Thanks!
LaniakeaEliot + 1 + 1 谢谢@Thanks!
Lsais + 1 我很赞同!
anfeng0467 + 1 我很赞同!
DreamTT + 1 + 1 用心讨论,共获提升!
adolphin + 1 + 1 我很赞同!
MrKeanu + 1 用心讨论,共获提升!
wuyu590059 + 1 + 1 用心讨论,共获提升!
521105 + 1 + 1 热心回复!
long1265 + 1 + 1 谢谢@Thanks!
bly27984 + 1 热心回复!
丶七年 + 1 + 1 大佬 你的火绒剑怎么和我不一样
小小娃娃 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
helh0275 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
chaifengbox + 1 + 1 我很赞同!
canfeng0522 + 1 + 1 热心回复!
Greekssky + 1 + 1 热心回复!
jiuchen123 + 1 + 1 我很赞同!
lxxbsx + 1 + 1 用心讨论,共获提升!
外酥内嫩 + 1 + 1 我很赞同!
ggg98 + 1 + 1 谢谢@Thanks!
极地企鹅 + 1 + 1 我很赞同!
qwq23496 + 1 + 1 我很赞同!
qjlfl + 1 + 1 谢谢@Thanks!
sun5201314 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
King_C + 1 + 1 用心讨论,共获提升!
Gleam + 1 + 1 用心讨论,共获提升!
Tonyha7 + 2 + 1 用心讨论,共获提升!
topweal + 1 + 1 我很赞同!
957840251 + 1 + 1 我很赞同!
wanfon + 1 + 1 热心回复!
北冥鱼 + 2 + 1 我很赞同!
老刺猬 + 1 谢谢@Thanks!
Yukin0shita + 1 + 1 我很赞同!
nody + 1 + 1 谢谢@Thanks!
fenggegang + 1 + 1 用心讨论,共获提升!
名shu + 2 + 1 无视风险安装!
wystudio + 2 + 1 用心讨论,共获提升!
howyouxiu + 1 + 1 用心讨论,共获提升!
languor + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| ahov 发表于 2024-4-13 14:23
Courser 发表于 2024-4-13 14:09
github上这个库已经没了

是的

国内有中招的人在3月末就出现了,我文章是4月初开始分析撰写的,一直在修修改改补补

IMG_6480.jpg

直到最近才最终定稿完工

然后刚好前几天,有国外的分析研究人员也发现了大量相关的恶意GitHub账户和恶意GitHub仓库发表了一篇文章
https://thehackernews.com/2024/0 ... opularity-scam.html
https://checkmarx.com/blog/new-t ... upply-chain-attack/

随后GitHub大概是注意到了,应该是一窝端了
frankB4 发表于 2024-4-13 13:55
T2ao 发表于 2024-4-13 20:09
我的爱是你 发表于 2024-4-13 14:03
看来下载文件不能直接启动工程了,还是老老实实 ctrl+c比较安全。
MIAIONE 发表于 2024-4-13 14:02
图标+扩展名一眼确实很难分辨, 不过终端上一眼就能看出来不正常, 毕竟一个是scr一个是sln
飘零星夜 发表于 2024-4-13 14:04
好老土的办法,当年我就下载过,然后用vs打开的时候,弹出错提示。//一般工程文件都用对应的IDE去打开,没双击习惯。
Courser 发表于 2024-4-13 14:09
github上这个库已经没了
dongxi 发表于 2024-4-13 14:17
一脸懵,根本看不懂

博士 发表于 2024-4-13 14:26
大佬 这个版本的火绒剑能共享一下吗
ManaCola 发表于 2024-4-13 14:26
关注,感谢提醒
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-11 20:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表