吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 956|回复: 2
上一主题 下一主题
收起左侧

[PC样本分析] 某指纹浏览器供应链投毒分析

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

某指纹浏览器供应链投毒分析:白加黑劫持逆向

本文由AI美化而来

0x00 背景

今日,我打开某指纹浏览器,突然发现卡巴斯基报毒(之前是没有的),我在记录里发现 C:\Users\Public 目录下存在异常文件。经溯源,该文件由“比特浏览器”主进程下发,利用了经典的“白加黑”侧加载技术绕过静态查杀。

0x01 样本指纹

宿主文件 (白):item.exe(原名 xperf.exe,带微软合法数字签名)

加载器 (黑):perfctrl.dll(MD5: f79f75d39f8a521509c0d33f1a6f70d3)

加密载荷:item.log(看似日志,实为高强度加密的二进制数据)

0x02 攻击链路图解
该木马的执行逻辑并非直接运行,而是采用了多层嵌套的隐蔽方式。其核心思想是“夺舍”合法进程的执行流。

侧加载:item.exe 启动时,系统会默认优先加载同目录下的 perfctrl.dll。

执行流接管:perfctrl.dll 入口点 DllMain 被触发。

内存打补丁:木马定位宿主程序内存地址,强行改写汇编指令,将正常执行流弹向恶意函数。

解密并运行:恶意函数读取并解密 item.log 中的 Shellcode。

0x03 核心逆向过程
  1. 寻找“正大门”:DllMain 的触发
    在 IDA 中定位到 DllEntryPoint。由于该 DLL 开启了 /GS 栈保护,入口处首先会执行编译器注入的 __security_init_cookie。随后进入 CRT 启动器,最终调用黑客手写的 sub_180001010。
// 伪代码:DllMain 中的关键逻辑
if ( fdwReason == 1 ) {
    DisableThreadLibraryCalls(a1);
    FreeConsole(); // 隐藏痕迹

    // 定位宿主 item.exe 内存中的特定偏移 (0x8E88)
    v2 = GetModuleHandleA(0i64) + 36488; 

    if ( VirtualProtect(v2, 0xCui64, 0x40u, &flOldProtect) ) {
        // 关键:构建 Inline Hook 蹦床 (Trampoline)
        *(_WORD *)v2 = -18360;                       // 汇编:MOV RAX, ...
        *(_QWORD *)((char *)v2 + 2) = sub_180001AD0; // 目标劫持函数地址
        *((_WORD *)v2 + 5) = -7937;                 // 汇编:JMP RAX
        VirtualProtect(v2, 0xCui64, flOldProtect, &flOldProtect);
    }
}
  1. 解密 Payload:手撕 sub_180001AD0
    当宿主程序踩中“蹦床”后,执行流跳入 sub_180001AD0。该函数是整个木马的“解密室”,利用 SSE 指令集加速解密过程。

Payload 路径解密推导:
在代码中观察到如下异或操作:

// 内存中硬编码的魔数
*(_QWORD *)(v8 + 1) = 0x40C2CB5382420F18i64;
// 运行时的异或解密密匙
*(_QWORD *)(v1 + 1) ^= 0x27ADA77DEF277B71ui64;

计算过程:
0x40C2CB5382420F18 ^ 0x27ADA77DEF277B71 = 0x676F6C2E6D657469
转换 ASCII 结果:item.log(以十六进制小端序反向排列)。
这证实了 item.log 根本不是日志,而是木马加密后的主体程序。

3 . 滥用 TLS 隐藏行踪
为了对抗内存扫描,木马大量使用了 Thread Local Storage (TLS) 存储。

// 频繁利用 NtCurrentTeb 获取私有存储空间
v0 = (_DWORD )(((_QWORD )NtCurrentTeb()->ThreadLocalStoragePointer + (unsigned int)TlsIndex) + 12i64);
通过这种方式,解密出来的关键 API 地址和 Payload 数据都被隔离在特定线程的私有空间中,普通的安全审计工具很难直接从全局内存快照中抓取。

0x04 动态行为特征

进程注入:尝试向系统进程 SearchProtocolHost.exe 进行代码注入,以求持久化。

资产掠夺:重点扫描 C:\Users\<User>\AppData 路径,目标涵盖 Chrome、Edge 的 Cookies 及 Login Data,并定向搜寻 .ssh 目录下的 id_rsa 私钥。

阅后即焚:在完成数据外传后,会立即执行 ExitProcess 杀掉宿主进程,消除活跃痕迹。

0x05 处置与防护建议

物理清理:强行结束 item.exe 进程,并 Shift+Delete 彻底删除 C:\Users\Public 下的木马文件。

凭据重置:由于该木马具备 InfoStealer 特征,受灾用户应立即修改全局浏览器保存的密码,并重置密码。

权限防御:限制 C:\Users\Public 目录的可执行权限,可以有效防御此类白加黑木马的低成本落地。

0x06 结语

此次分析展示了供应链攻击中“白加黑”配合 Inline Hook 的成熟套路。木马在代码实现上非常依赖系统底层机制,具有很强的免杀性。

免费评分

参与人数 6吾爱币 +5 热心值 +6 收起 理由
BUGS3-GTO + 1 + 1 我很赞同!
beixll + 1 我很赞同!
wjl999 + 1 + 1 谢谢@Thanks!
qingne0130 + 1 + 1 我很赞同!
z1243956417 + 1 + 1 我很赞同!
W4nk3r + 1 + 1 学习一下

查看全部评分

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

沙发
m_h 发表于 2026-4-20 17:38
最好的方法是  给现有源码打补丁 让  github 帮你编译二进制 等就完事了
3#
mymppp 发表于 2026-4-21 17:31
前几年用过比特浏览器,之前就报道过比特浏览器会泄露
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2026-5-12 01:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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