吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5518|回复: 100
上一主题 下一主题
收起左侧

[PC样本分析] 请勿轻信低价骗局!Steam假入库灰产陷阱手法剖析

   关闭 [复制链接]
跳转到指定楼层
楼主
火绒安全实验室 发表于 2025-10-27 16:00 回帖奖励
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 火绒安全实验室 于 2025-10-28 18:18 编辑

        近期,我们监测到一类通过低价出售Steam游戏激活码的恶意攻击活动。攻击者通过伪装官方工具诱导用户执行恶意脚本,进而植入恶意组件并窃取用户信息。


  
查杀图
        

        Steam 是一款游戏整合平台,其平台的部分游戏商品需用户付费“入库”后才能游玩。目前,网络上存在一类售价远低于官方渠道的Steam游戏激活码,且商家宣传其是 “正版游戏”“永久激活”“绝非共享”等承诺。






        部分商家会明确告知其激活码需借助第三方软件运行;另有部分商家通过具有欺骗性的宣传话术诱导消费者,让消费者误以为其所售产品是官方正版密钥,进而促成购买。

        在完成购买后,商家会向用户发送一个伪装为Steam官方提供的软件或命令行工具,要求用户运行该工具后,再向Steam客户端中输入其提供的“正版激活码”以完成“入库”。



使用说明图


        目前,火绒安全软件已具备对该程序的核心组件及网络连接进行拦截查杀的能力。若您尚未安装火绒安全软件且系统已经受到影响,建议您参考下方我们提供的手动清理方案:

        [1] 建议彻底卸载、删除 steam 客户端及文件,然后重新安装并执行步骤[4]。

        [2] 尽快删除 steam 客户端根目录下的 hid.dll 和 zlib1.dll 。

        [3] 在资源管理器中输入 %APPDATA% 并删除 Stool 目录以清理衍生文件。

        [4] 在注册表中清理 HKEY_CURRENT_USER\Software\Valve\Steam\Steamtools 键来清理衍生注册项。

        在 steam 根目录下删除 steam.cfg 来还原官方客户端配置,使官方客户端能够正常安全更新。





一、准备流程分析

        商家首先会要求用户运行其提供的第三方程序或脚本,这些程序或脚本通常会伪装成Steam平台官方工具。本文以商家提供的PowerShell脚本为例,商家会指示用户在终端中运行其提供的PowerShell脚本,具体代码如下:



       其中 irm 为从对应的网址下载内容, iex 为将前面下载的内容作为 PowerShell 脚本执行。其执行流程图如下:







       通过 irm 下载的脚本主要内容如下:



PowerShell脚本主要内容
        文字版描述脚本运行逻辑如下:
        1.删除a.ps1(部分版本通过a.ps1文件运行)。
        2.创建 %APPDATA%\Stool 目录。
        3.通过注册表读取 Steam 路径并终止正在运行的 Steam 进程。
        4.从 gitee 仓库下载 legit, appdata.vdf, hid.dll, zlib1.dll 文件并解密。
        5.删除 Steam 路径中的 steam.cfg, version.dll, user32.dll 文件 (其他版本的假入库利用文件)。
        6.修改 loginusers.vdf 文件中 WantsOfflineMode = 0 来关闭离线模式。
        7.修改 config.vdf 中 DisableShaderCache = 1 来关闭着色器缓存。
        8.通过 steam://open/activateproduct 来打开 Steam 并启动激活窗口。

        利用hid.dll 篡改程序执行流程是网络灰黑产常用手段,因其隐蔽性和优先级高、实施简单且兼容性好,深受黑灰产从业者青睐。

        由于 hid.dll 是 Steam 客户端运行必需的系统 DLL 动态链接库,脚本将伪造的 hid.dll 放在与 Steam 可执行文件相同的目录中。系统会优先加载该目录下的 hid.dll,而非系统路径中的原始文件。通过这种优先加载机制,伪造的 hid.dll 可以在 Steam 初始化前执行其代码,从而篡改客户端的运行逻辑。


HID.DLL代码

        该 hid.dll 携带由已注册公司提供、状态正常的签名,公司信息为“临沂追风艾美信息科技有限公司”。


状态正常的签名信息

         当Steam客户端运行后,其会自动加载hid.dll。该文件首先从系统路径载入原有的hid.dll,以确保相关程序功能正常运行;随后对先前释放的appdata.vdf文件进行解密与解压,并在内存中直接执行所得到的DLL动态链接库文件。
由于此DLL由appdata.vdf解密并解压生成,下文将其称之为appdata.dll

         该 appdata.dll 文件读取其内存中的一系列hash字符串并将其在内存中解码为新的DLL动态链接库文件,然后在内存中不落地执行该最终DLL动态链接库,我们将其称为 unpacker.dll 。然后, unpacker.dll 读取 legit 文件并在解密解压后内存执行,我们将其称为 legit.dll 。最后,核心动态链接库 legit.dll 执行程序的主要逻辑。此时,程序中共有 3 个内存 DLL 文件(Memory-PE)。




内存中DLL文件表

二、核心流程分析

        核心动态链接库文件 legit.dll 的主要逻辑代码均由代码虚拟化保护壳保护,分析难度较高。

[1]程序在 Steam 进程空间中劫持系统库、加密库、UI库、客户端库的执行逻辑。



程序劫持的程序流程表

[2]程序请求托管在公开网站上的数据,获取可更新的服务器地址。

        首先,程序从内存中解密、生成配置并解析配置来控制后续的行为。



内存中生成的数据


        解密后的数据包含用于替换用户数据的Steam用户ID、存储云控配置所在的GitHub仓库路径与分支信息、待启用功能特性以及访问时使用的UA等配置参数。


        配置中还包含多个镜像地址,用于确保全球不同地区均可访问获取云控配置数据。程序将通过访问指定的代码仓库来下载经过加密的云控配置文件。




云控原始数据



[3]程序在本地生成数据库,将劫持得到的Steam数据保存到本地。     
         程序运行时会把本地数据以加密 sqllite 数据库的方式保存到 %APPDATA%\Stool 目录中的 info info-journal info-wal 文件中。其中 info 应为加密后的数据库长期存储文件, info-journal info-wal 是在 sqllite 数据库操作的过程中产生的临时文件,程序会在使用后立即删除。



产生的文件

        经过对程序逻辑的详细分析后,解析得到程序数据库文件结构如下:



程序数据库文件结构

        程序可以通过劫持 crypt32.CryptUnprotectData 的方式过滤获取所有将解密的密钥数据,使得用户数据不再安全,并将用户的敏感信息字段:AuthSessionTicket 的二进制源数据,jwt 的完整字符串数据完整保存到数据库中。

        AuthSessionTicket 是 Steam 中的用户身份验证令牌,持有令牌后可以使用用户的账户请求任意 Steam API ,从而窃取账户所有权。

       在Steam平台用户数据中 jwt 全称 JSON Web Token ,持有者可以获得 Steam 账户的登录权限,从而窃取账户所有权。

       具体来说,程序在图中代码处完整的将用户的 jwp 令牌数据插入到本地加密的数据库中。

       图中的代码可以通过 51 53 8B 5C 24 0C 55 56 57 8B 73 14 33 FF 80 7E 11 02 特征码来定位。




将插入JWT事务提交到数据库中        



       其中插入语句如下:









插入语句


         程序所收集的jwt数据包含用户的完整令牌以及与之对应的数字签名信息,其过期时间约为八个月,并且具备更新(renew)权限。





收集到的JWT数据格式





收集到的JWT数字签名信息


        此外,程序会获取并保存一系列用户数据至其自身数据库,同时通过该数据库保存自身的数据及配置信息。

[4] 用户通过激活码兑换游戏时,程序劫持原本控制流并下发虚假的清单文件。
        为了确保灰产手法不被复现,此处简略叙述该方案。在Steam平台中,每个游戏对应一个 depot (仓库),其中每个下发给用户的版本对应一个 manifest   (清单)。在平台用户获取了对应游戏的所有权后,平台才将对应的 manifest 资源和解密密钥下发给对应的用户,从而使得用户可以下载和启动对应版本的游戏资源。

       该“假入库”程序借助修改Steam客户端代码的手段,使客户端得以获取“数据来源账户”所购买游戏的清单(manifest)以及对应的授权密钥,进而借助“数据来源账户”的数据来下载并启动相应版本的游戏资源。由于仅在Steam客户端实施了相关欺骗行为,实际上云端并无供游戏提供方获取的对应真实数据,因此通过此方式下载并启动的游戏仅可使用离线游戏功能。

       其在密钥激活时,通过隐蔽TCP且加密请求的方式携带用户的数据和机器特征信息请求服务器地址45.207.10.185来从服务器下载与密钥对应的游戏数据文件。

       创建与服务端的连接时,程序会收集用户的一系列关联信息例如用户名、机器特征等并上传。此处通过监控程序中 OpenSSL 库的 AES128 解密函数可以获取程序的请求:

       图中的代码可以通过 55 53 56 57 8B 4C 24 1C 83 F9 00 0F 84 D4 01 00 00 特征码来定位。




携带机器码和用户信息的请求格式



用于获取游戏假清单的请求格式


         返回的格式如下。




游戏数据返回格式

        其中 user AppOwn 为“数据来源用户”的名称和 Steam ID 。

        通过相关平台查询,发现数据来源用户的信息如下。


数据来源用户信息

[5]程序按照时间生成序列化的数据,目标地址为服务器地址。
        即便未进行激活操作,程序亦持续处于活跃状态,且准备将要被发送到目标服务器的序列化数据代码。




准备在队列中将要被发送的数据


       数据以队列的方式在内存中准备,每条数据携带其生成时的时间戳和将被发送的加密数据,队列中可见 SteamId , features 等字段,推测这些数据为分散式队列加密发送程序在运行期间所收集到的信息。



抓包加密数据图


[6]程序修改Steam配置项禁用自动更新。
        通过设置 Steam 根目录 \steam.cfg 中  BootStrapperInhibitAll = Enable 的方式,禁用 Steam 客户端自动更新,防止程序失效。



禁用Steam客户端自动更新

三、关键风险总结
[1] 部分售卖该程序的商家在发布或推销时通过模糊的说辞欺骗并诱导用户下载程序。
[2] 程序通过修改 Steam 客户端的方式提供服务,通过恶意手段破坏官方客户端的安全性以实施注入操作,使用户数据陷入风险。
[3] 程序将用户的敏感数据,甚至是登录令牌收集至自身数据库进行存储与传输。
[4] 程序所采用的一系列运行方式与病毒的行为特征极为相似。
[5] 程序配置可以由云端服务器随时修改控制,存在极强的安全隐患。
        从 Gitee 仓库日志能够得知,在文章完成定稿的前 14 天,作者仍通过云端仓库对下发的数据进行修改。






云端仓库下发数据


四、附录



HASH:



HASH




C&C:



C&C

免费评分

参与人数 36吾爱币 +32 热心值 +30 收起 理由
wuqi9277 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
samsu + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
rollin9 + 1 + 1 我很赞同!
banshao + 1 + 1 我很赞同!
Karry5 + 1 + 1 谢谢@Thanks!
林哈娜 + 1 + 1 我很赞同!
hulai66 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
su823237 + 1 我很赞同!
LLjojo + 1 + 1 用心讨论,共获提升!
qw6785198 + 1 + 1 谢谢@Thanks!
Terlon + 1 + 1 用心讨论,共获提升!
JohnLorenzo + 1 + 1 谢谢@Thanks!
nicktsang + 1 + 1 用心讨论,共获提升!
qjlfl + 1 + 1 我很赞同!
Ruomeng + 1 谢谢@Thanks!
李小六 + 1 + 1 我很赞同!
MemSky729 + 1 + 1 谢谢@Thanks!
xiaoniu88 + 1 用心讨论,共获提升!
zzzbyzxy + 1 + 1 谢谢@Thanks!
lalicorne + 1 我很赞同!
sunfeng12315 + 1 + 1 我很赞同!
youshouwennuan + 1 + 1 我很赞同!
weidechan + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
endgame + 1 + 1 用心讨论,共获提升!
wj21 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
fcl001 + 1 + 1 用心讨论,共获提升!
Issacclark1 + 1 谢谢@Thanks!
KCL + 1 + 1 用心讨论,共获提升!
EEDDA + 1 + 1 谢谢@Thanks!
IcePlume + 1 + 1 我很赞同!
limit7 + 1 + 1 用心讨论,共获提升!
萌哒哒小乐天 + 1 + 1 之前也差点上当过,我看到执行ps我就退款,商家还说要封我号
唐小样儿 + 1 + 1 我很赞同!
ASlien + 1 差点中招,看到使用ps执行就赶紧退款了
开心熊猫741 + 1 + 1 那很坏了
潇麟 + 1 + 1 谢谢@Thanks!

查看全部评分

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

推荐
Hades-52pojie 发表于 2025-10-28 12:37
利用游戏客户端的漏洞,利用已付费玩家的云配置清单下发给其它玩家,篡改平台的验证机制,达到可以本地游戏的目的,他这个应该每次游戏运行都要用他这个加载器,不然离线库还是不是启动吧.换一台电脑这个离线库直接就没了,偷玩家登入信息,理论上为后续做准备,理论上这个清单越多,他这个游戏越能免费玩,4W那个有可能是和他们合作的,理论上用这个软件的玩家越多,这个软件的作者越不用付费,白嫖你们大家的就行了.
推荐
liu50663 发表于 2025-10-28 00:17
推荐
萌哒哒小乐天 发表于 2025-10-28 09:55
特别是某音平台,之前天天刷到什么9.9正版入库,我一个个全举报了
推荐
夜泉 发表于 2025-10-28 02:02
虽然并没有将用户的stream敏感数据上传,但是这也留了很大的操作空间,保不定哪天就开始上传后盗号了。。。只能说目前风险度极高
推荐
shanshan090 发表于 2025-10-30 18:41
ASlien 发表于 2025-10-28 09:14
买过好几个,都是一样的套路,但是执行的不一样,看到使用ps执行命令我就知道不对劲了,常年只在办公上装火 ...

根本不用买,其实解密清单还有密钥是共享的(GitHub可查) 只是有人为了赚外快 去  SteamTools 逆向修改 SteamTools  成为一些贩子的牟利工具。
5#
潇麟 发表于 2025-10-27 22:41
感觉恶意不大
6#
sceptic 发表于 2025-10-28 00:02
谢谢,骗子太多了
7#
tymydol 发表于 2025-10-28 07:45
我靠 我还真买过
8#
ASlien 发表于 2025-10-28 09:14
本帖最后由 ASlien 于 2025-10-28 09:20 编辑

买过好几个,都是一样的套路,但是执行的不一样,看到使用ps执行命令我就知道不对劲了,常年只在办公上装火绒,自己电脑一直裸奔

最后真的能实现入库能玩?
9#
slicedbread 发表于 2025-10-28 09:26
果然假入库不可信
10#
HavokPro 发表于 2025-10-28 09:40
感谢分享,和之前见到过的假入库版本又更新了呢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2026-2-8 02:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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