“国家授时中心”网攻事件中的模块化后门植入原理分析
字数 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密钥校验机制

校验流程

  1. 建立通信后接收256字节载荷数据
  2. 使用RSA公钥解密数据
  3. 验证解密后数据格式:
    • 第一个字节:0x00
    • 第二个字节:0x01
    • 中间填充:大量0xFF
    • 分隔符:0x00
    • 有效数据:12字节

有效数据格式

  • 第1-2字节:0x0002
  • 第3-4字节:校验值(≥0x0003)
  • 第5-8字节:固定魔术值0x8e3071ab
  • 第11-12字节:下一段载荷数据长度

3.3 AES密钥生成与传输

密钥生成算法

  1. 调用系统函数构造随机数据:
    • GetCursorPos、GetThreadTimes
    • GetDiskFreeSpaceExW、GlobalMemoryStatus
    • GetTickCount、QueryPerformanceCounter
    • GetSystemTimeAsFileTime
  2. 多次调用SHA1算法生成哈希值作为AES密钥

传输过程

  1. 构造0x30字节有效载荷(包含16字节AES密钥)
  2. 填充至256字节载荷(随机数据 + 有效载荷)
  3. 使用RSA公钥加密后发送至控制端

3.4 模块传输机制

Dsz_Implant_Pc.dll传输流程

  1. 接收第一段数据:传输导出函数编号(以#开头)
  2. 接收第二段数据:传输压缩后的PE文件内容
  3. 解压得到实际DLL模块文件

压缩算法:专门压缩00数据的定制算法

3.5 内存加载技术

加载流程

  1. 调用RtlImageNtHeader解析PE文件头
  2. 使用NtCreateSection、NtMapViewOfSection、memcpy实现内存节映射
  3. 调用RtlImageDirectoryEntryToData解析导入表
  4. 根据导出函数编号获取指定函数地址
  5. 执行导出函数代码,传递通信相关参数

特点:不使用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 相同点分析

  1. 密钥交换机制:均使用内置RSA公钥进行会话密钥交换
  2. 模块加载模式:主程序加载植入模块,模块复用主程序通信密钥
  3. 隧道配合机制:植入模块配合主程序搭建的数据传输链路
  4. 加密算法选择:均采用AES算法进行数据加密

5.2 差异点分析

  1. 通信协议层次
    • DanderSpritz平台:直接AES加密
    • 国家授时中心事件:TLS协议封装AES加密
  2. 协议版本
    • Back_Eleven使用TLS1.3
    • New-Dsz-Implant使用TLS1.2
  3. 压缩算法应用:两者均使用定制压缩算法,但实现细节可能不同

6. 防御建议

6.1 检测要点

  1. 行为检测

    • 异常DLL加载行为
    • 内存中PE头抹除操作
    • 非常规API调用序列(ntdll导出函数直接调用)
  2. 网络检测

    • RSA密钥交换特征
    • 特定格式的加密通信流量
    • 模块化数据传输模式

6.2 防护措施

  1. 系统加固

    • 服务DLL劫持防护
    • 内存执行保护
    • API调用监控
  2. 通信安全

    • 网络流量加密分析
    • 异常TLS连接检测
    • 密钥交换行为监控

7. 总结

模块化后门技术通过分层设计、加密通信和动态加载机制,实现了高度隐蔽和持久化的攻击能力。理解其技术原理对于有效检测和防御此类高级持续性威胁至关重要。重点需要关注密钥交换过程、内存加载技术和模块传输机制等关键技术环节。

模块化后门植入原理分析教学文档 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. 总结 模块化后门技术通过分层设计、加密通信和动态加载机制,实现了高度隐蔽和持久化的攻击能力。理解其技术原理对于有效检测和防御此类高级持续性威胁至关重要。重点需要关注密钥交换过程、内存加载技术和模块传输机制等关键技术环节。