“国家授时中心”网攻事件中的模块化后门植入原理分析
字数 2611 2025-11-13 12:29:11
模块化后门植入原理分析教学文档
1. 事件背景概述
2025年10月19日,国家互联网应急中心(CNCERT)发布《关于国家授时中心遭受美国国家安全局(NSA)网络攻击事件的技术分析报告》。该事件中攻击者使用了基于"DanderSpritz"网络攻击平台的模块化后门技术,具备高度隐蔽性、多层加密通信、耐心谨慎的行动节奏以及动态扩展能力。
2. 攻击武器分类
2.1 前哨控守类武器:eHome_0cx
武器组成:4个网攻模块,支持16个指令号
核心功能:
- 自启动:通过DLL劫持系统正常服务(资源管理器、事件日志服务)
- 隐蔽驻留:启动后抹除内存中可执行文件头数据
- 定制化:以受控主机GUID作为解密武器资源的密钥
通信原理:
- 内置RSA公钥
- RSA算法加密传输会话密钥
- TLS协议传输加密数据
2.2 隧道搭建类武器:Back_Eleven
运行方式:由eHome_0cx加载运行,支持17个指令号
核心功能:
- 运行环境检测:检测系统版本异常、调试程序运行等,触发自删除
- 搭建网络通信和数据传输隧道(主动回连、被动监听)
通信原理:
- 内置RSA公钥
- RSA算法加密传输AES会话密钥
- TLS1.3协议传输AES加密数据
2.3 数据窃取类武器:New-Dsz-Implant
运行方式:由eHome_0cx加载运行,配合Back_Eleven搭建的数据传输链路
核心功能:
- 插件模块加载:通过接收主控端指令加载功能模块实现窃密功能
- 本次攻击中加载了25个功能模块
通信原理:压缩 + AES + TLS1.2协议
3. DanderSpritz平台技术分析
3.1 木马生成流程
使用pc_prep命令配置生成木马程序(PC_Level3_exe.configured)
密钥文件结构:
- Keys目录包含private_key.bin和public_key.bin
- 木马二进制中内置public_key.bin内容
3.2 RSA密钥校验机制
校验流程:
- 建立通信后接收256字节载荷数据
- 使用RSA公钥解密数据
- 验证解密后数据格式:
- 第一个字节:0x00
- 第二个字节:0x01
- 中间填充:大量0xFF
- 分隔符:0x00
- 有效数据:12字节
有效数据格式:
- 第1-2字节:0x0002
- 第3-4字节:校验值(≥0x0003)
- 第5-8字节:固定魔术值0x8e3071ab
- 第11-12字节:下一段载荷数据长度
3.3 AES密钥生成与传输
密钥生成算法:
- 调用系统函数构造随机数据:
- GetCursorPos、GetThreadTimes
- GetDiskFreeSpaceExW、GlobalMemoryStatus
- GetTickCount、QueryPerformanceCounter
- GetSystemTimeAsFileTime
- 多次调用SHA1算法生成哈希值作为AES密钥
传输过程:
- 构造0x30字节有效载荷(包含16字节AES密钥)
- 填充至256字节载荷(随机数据 + 有效载荷)
- 使用RSA公钥加密后发送至控制端
3.4 模块传输机制
Dsz_Implant_Pc.dll传输流程:
- 接收第一段数据:传输导出函数编号(以#开头)
- 接收第二段数据:传输压缩后的PE文件内容
- 解压得到实际DLL模块文件
压缩算法:专门压缩00数据的定制算法
3.5 内存加载技术
加载流程:
- 调用RtlImageNtHeader解析PE文件头
- 使用NtCreateSection、NtMapViewOfSection、memcpy实现内存节映射
- 调用RtlImageDirectoryEntryToData解析导入表
- 根据导出函数编号获取指定函数地址
- 执行导出函数代码,传递通信相关参数
特点:不使用VirtualProtectEx、WriteProcessMemory等传统注入函数
4. 通信模型分析
4.1 加密通信层次
PC_Level3_exe.configured样本:
- RSA密钥交换 + AES加密通信
Dsz_Implant_Pc.dll样本:
- 沿用主样本的AES密钥
- 改变通信数据填充方式
4.2 模块化后门提取
分析过程中成功提取20余个功能模块,包括:
- 系统信息收集(Audit_Target_Vista、SystemVersion_Target)
- 文件操作(FileAttributes_Target、Dir_Target)
- 进程管理(ProcessInfo_Target、Processes_Target)
- 网络配置(Ifconfig_Target、Route_Target)
- 权限提升(Mcl_NtElevation_EpMe_GrSa)
- 内存操作(Mcl_NtMemory_Std)
- 线程注入(Mcl_ThreadInject_Std)
5. 技术原理对比
5.1 相同点分析
- 密钥交换机制:均使用内置RSA公钥进行会话密钥交换
- 模块加载模式:主程序加载植入模块,模块复用主程序通信密钥
- 隧道配合机制:植入模块配合主程序搭建的数据传输链路
- 加密算法选择:均采用AES算法进行数据加密
5.2 差异点分析
- 通信协议层次:
- DanderSpritz平台:直接AES加密
- 国家授时中心事件:TLS协议封装AES加密
- 协议版本:
- Back_Eleven使用TLS1.3
- New-Dsz-Implant使用TLS1.2
- 压缩算法应用:两者均使用定制压缩算法,但实现细节可能不同
6. 防御建议
6.1 检测要点
-
行为检测:
- 异常DLL加载行为
- 内存中PE头抹除操作
- 非常规API调用序列(ntdll导出函数直接调用)
-
网络检测:
- RSA密钥交换特征
- 特定格式的加密通信流量
- 模块化数据传输模式
6.2 防护措施
-
系统加固:
- 服务DLL劫持防护
- 内存执行保护
- API调用监控
-
通信安全:
- 网络流量加密分析
- 异常TLS连接检测
- 密钥交换行为监控
7. 总结
模块化后门技术通过分层设计、加密通信和动态加载机制,实现了高度隐蔽和持久化的攻击能力。理解其技术原理对于有效检测和防御此类高级持续性威胁至关重要。重点需要关注密钥交换过程、内存加载技术和模块传输机制等关键技术环节。