攻击者是如何利用Delphi加壳器来实现免杀的
字数 1793 2025-08-20 18:18:04

Delphi加壳器免杀技术分析与防御指南

一、Delphi加壳器概述

Delphi加壳器是一种被恶意软件广泛使用的保护工具,其主要功能是通过加密和混淆技术绕过安全产品的检测。根据FireEye的研究,这种加壳器被多个威胁组织用于多种恶意软件家族的免杀处理。

Delphi语言在恶意软件中的优势

  • 简单易用的Windows API调用能力
  • 默认库可以转移分析人员注意力
  • 使程序在动态分析中"看起来正常"
  • 地下论坛广泛讨论相关免杀技术

二、攻击流程分析

1. 载荷投递方式

攻击者主要通过垃圾邮件分发加壳后的恶意软件:

  • 电汇主题邮件:携带含恶意宏的文档附件(哈希:71cd5df89e3936bb39790010d6d52a2d)
  • 报价主题邮件:携带利用公式编辑器漏洞的文档(哈希:0543e266012d9a3e33a9688a95fce358)
  • 文档会从远程服务器下载最终载荷(如http://5.152.203.115/win32.exe)

2. 用户行为检测技术

加壳器采用多种技术检测真实用户环境:

变体1

  • 使用GetForegroundWindow API
  • 检测窗口切换次数(需至少3次)
  • 未检测到变化则进入无限睡眠

变体2

  • 使用GetCursorPosSleep API
  • 检查鼠标和光标移动情况

变体3

  • 使用GetLastInputInfoGetTickCount API
  • 检查系统空闲状态

这些简单的技术能有效检测沙箱环境,因为沙箱通常不会模拟真实的用户交互模式。

三、载荷提取技术

1. 资源存储结构

  • 实际载荷被拆分多个二进制段
  • 存储在PE文件的资源目录中
  • 使用位图等资源类型作为伪装(如图6所示)

2. 解密过程

  1. 从硬编码资源ID读取内容

  2. 前16字节生成XOR密钥

  3. 使用滚动XOR方法解密剩余字节

  4. 解密后得到内部数据结构(如图7所示),包含:

    • 资源ID引用
    • 加密缓冲区信息
    • 其他配置参数
  5. dwStartResourceIddwStartResourceId+dwNumberOfResources读取加密值

  6. dwChunkSize块大小组装数据

  7. 使用新密钥和滚动XOR算法解密最终缓冲区

  8. 生成可执行的有效载荷

注:可使用专用脚本静态提取最终有效载荷

四、关联恶意软件家族

使用该加壳器的主要恶意软件家族及分布:

  1. Lokibot(主要载荷)
  2. Pony
  3. IRStealer
  4. Nanocore
  5. Netwire
  6. Remcos
  7. nJRAT
  8. 各类挖矿恶意软件

多种家族的采用表明:

  • 该加壳器可能是商业化服务/工具
  • 多个威胁组织购买使用
  • 开发者可能直接向恶意软件作者销售

五、防御建议

1. 检测方面

  • 监控可疑的Delphi签名程序
  • 分析资源段中的异常内容
  • 检测滚动XOR解密行为
  • 关注用户行为模拟的API调用模式

2. 防护方面

  • 禁用Office宏(除非绝对必要)
  • 及时修补公式编辑器等漏洞
  • 使用高级沙箱(能模拟真实用户交互)
  • 部署行为分析解决方案

3. 企业防护策略

  • 邮件网关过滤可疑附件
  • 终端防护软件启用动态分析
  • 网络层拦截已知恶意IP
  • 定期更新IOC数据库

六、技术发展趋势

  1. 商业化免杀服务:威胁组织可外包免杀工作,提高效率
  2. 沙箱绕过技术:简单的用户行为模拟已能绕过传统沙箱
  3. 多态技术:同一加壳器支持多种恶意软件家族
  4. 持续进化:开发者不断更新对抗安全分析技术

七、IOC(威胁指标)

样本哈希:

  • 853bed3ad5cc4b1471e959bfd0ea7c7ce3c421d404c08809dd8ee3365552e305
  • 14e5326c5da90cd6619b7fe1bc4a97e1dc999a1a2c5e796e450c0a6a61950e3
  • f3ad781934e67a8b84739866b0b55544bb4f5e691b264103b9c4fb04fa3429f1e

恶意URL:

  • http://5.152.203.115/win32.exe

八、总结

Delphi加壳器代表了当前恶意软件免杀技术的典型实现,其特点包括:

  • 利用合法编程语言特性
  • 简单的沙箱检测技术
  • 有效的资源加密方案
  • 商业化分发模式

安全团队需要采用多层防御策略,结合静态分析、动态行为检测和威胁情报,才能有效应对这类威胁。

Delphi加壳器免杀技术分析与防御指南 一、Delphi加壳器概述 Delphi加壳器是一种被恶意软件广泛使用的保护工具,其主要功能是通过加密和混淆技术绕过安全产品的检测。根据FireEye的研究,这种加壳器被多个威胁组织用于多种恶意软件家族的免杀处理。 Delphi语言在恶意软件中的优势 简单易用的Windows API调用能力 默认库可以转移分析人员注意力 使程序在动态分析中"看起来正常" 地下论坛广泛讨论相关免杀技术 二、攻击流程分析 1. 载荷投递方式 攻击者主要通过垃圾邮件分发加壳后的恶意软件: 电汇主题邮件 :携带含恶意宏的文档附件(哈希:71cd5df89e3936bb39790010d6d52a2d) 报价主题邮件 :携带利用公式编辑器漏洞的文档(哈希:0543e266012d9a3e33a9688a95fce358) 文档会从远程服务器下载最终载荷(如http://5.152.203.115/win32.exe) 2. 用户行为检测技术 加壳器采用多种技术检测真实用户环境: 变体1 : 使用 GetForegroundWindow API 检测窗口切换次数(需至少3次) 未检测到变化则进入无限睡眠 变体2 : 使用 GetCursorPos 和 Sleep API 检查鼠标和光标移动情况 变体3 : 使用 GetLastInputInfo 和 GetTickCount API 检查系统空闲状态 这些简单的技术能有效检测沙箱环境,因为沙箱通常不会模拟真实的用户交互模式。 三、载荷提取技术 1. 资源存储结构 实际载荷被拆分多个二进制段 存储在PE文件的资源目录中 使用位图等资源类型作为伪装(如图6所示) 2. 解密过程 从硬编码资源ID读取内容 前16字节生成XOR密钥 使用滚动XOR方法解密剩余字节 解密后得到内部数据结构(如图7所示),包含: 资源ID引用 加密缓冲区信息 其他配置参数 从 dwStartResourceId 到 dwStartResourceId+dwNumberOfResources 读取加密值 按 dwChunkSize 块大小组装数据 使用新密钥和滚动XOR算法解密最终缓冲区 生成可执行的有效载荷 注:可使用专用脚本静态提取最终有效载荷 四、关联恶意软件家族 使用该加壳器的主要恶意软件家族及分布: Lokibot(主要载荷) Pony IRStealer Nanocore Netwire Remcos nJRAT 各类挖矿恶意软件 多种家族的采用表明: 该加壳器可能是商业化服务/工具 多个威胁组织购买使用 开发者可能直接向恶意软件作者销售 五、防御建议 1. 检测方面 监控可疑的Delphi签名程序 分析资源段中的异常内容 检测滚动XOR解密行为 关注用户行为模拟的API调用模式 2. 防护方面 禁用Office宏(除非绝对必要) 及时修补公式编辑器等漏洞 使用高级沙箱(能模拟真实用户交互) 部署行为分析解决方案 3. 企业防护策略 邮件网关过滤可疑附件 终端防护软件启用动态分析 网络层拦截已知恶意IP 定期更新IOC数据库 六、技术发展趋势 商业化免杀服务 :威胁组织可外包免杀工作,提高效率 沙箱绕过技术 :简单的用户行为模拟已能绕过传统沙箱 多态技术 :同一加壳器支持多种恶意软件家族 持续进化 :开发者不断更新对抗安全分析技术 七、IOC(威胁指标) 样本哈希: 853bed3ad5cc4b1471e959bfd0ea7c7ce3c421d404c08809dd8ee3365552e305 14e5326c5da90cd6619b7fe1bc4a97e1dc999a1a2c5e796e450c0a6a61950e3 f3ad781934e67a8b84739866b0b55544bb4f5e691b264103b9c4fb04fa3429f1e 恶意URL: http://5.152.203.115/win32.exe 八、总结 Delphi加壳器代表了当前恶意软件免杀技术的典型实现,其特点包括: 利用合法编程语言特性 简单的沙箱检测技术 有效的资源加密方案 商业化分发模式 安全团队需要采用多层防御策略,结合静态分析、动态行为检测和威胁情报,才能有效应对这类威胁。