[逆向工程]什么是“白加黑”木马(十五)

一、基本概念

白加黑木马是一种利用合法程序(白文件)加载恶意DLL(黑文件)的高级攻击技术,通过"合法外壳+恶意核心"的组合规避安全检测。其名称源自攻击中同时使用白色可信程序黑色恶意代码的特性。

二、技术原理

1. 攻击流程
正常程序.exe(白文件,带数字签名)
│
├── 加载 → 恶意.dll(黑文件,无签名)  # 利用DLL搜索顺序劫持
│
└── 执行恶意代码(如窃密、远控、勒索)
2. 核心漏洞利用
  • DLL劫持:通过程序默认的DLL加载路径优先级(如当前目录优先于系统目录)
  • 白名单信任:杀毒软件对签名程序的低敏感度检测
  • 合法数字签名:攻击者盗用或伪造企业证书对白文件签名

三、典型攻击场景

阶段操作实例
诱饵投放伪装成PDF阅读器、办公软件安装包
白文件选择使用旧版Notepad++、WinRAR等常见软件
黑DLL功能注入进程、键盘记录、C2通信
持久化注册表启动项、计划任务、服务创建

四、技术特点

  1. 高隐蔽性

    • 白文件哈希值在杀软白名单中
    • 静态扫描无法识别合法程序中的异常行为
    • 示例:某APT组织使用签名的财务软件加载恶意DLL
  2. 动态行为规避

    // 典型DLL恶意代码结构
    BOOL APIENTRY DllMain(HMODULE hModule, DWORD reason, LPVOID lpReserved) {
        if (reason == DLL_PROCESS_ATTACH) {
            CreateThread(NULL, 0, MaliciousCode, NULL, 0, NULL); // 创建恶意线程
        }
        return TRUE;
    }
    
  3. 跨平台演变

    • Windows:DLL劫持(.dll)
    • macOS:DYLD_INSERT_LIBRARIES注入(.dylib)
    • Linux:LD_PRELOAD劫持(.so)

五、检测与防御

1. 企业防护方案
  • 应用控制:部署AppLocker或Windows Defender Application Control
  • DLL监控:使用Sysmon记录非系统目录DLL加载事件
    <!-- Sysmon配置示例 -->
    <RuleGroup>
      <DllLoad onmatch="include">
        <ImageLoaded condition="contains">Temp\</ImageLoaded>
      </DllLoad>
    </RuleGroup>
    
  • 证书管理:吊销异常证书(通过CRL/OCSP)
2. 个人防护建议
  • 安装软件时验证数字签名(右键属性→数字签名)
  • 警惕非常用目录下的exe+dll组合文件
  • 使用火绒、卡巴斯基等具备行为沙箱的杀毒软件

六、典型案例

  1. 海莲花(OceanLotus)APT组织

    • 使用越南语版Firefox加载恶意davclnt.dll
    • 通过白加黑组合绕过60%的终端防护系统
  2. 勒索软件TrickBot

    • 伪装成Adobe更新程序(AdobeUpdater.exe)
    • 加载恶意msvcp140.dll实施加密

七、演进趋势

  1. 云服务滥用:使用Azure/AWS签名的云管理工具作为白文件载体
  2. 供应链污染:攻击软件开发商的构建环境植入恶意DLL
  3. 内存加载技术:黑DLL不落地直接注入进程内存

如果本教程帮助您解决了问题,请点赞❤️收藏⭐支持!欢迎在评论区留言交流技术细节!欲了解密码学知识,请订阅《密码学实战》专栏 → 密码学实战

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曼岛_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值