文章总结: 文档介绍MemoryGuardLoader内存保护加载器,结合RC4加密、PAGE_GUARD与VEH异常处理机制实现Shellcode免杀。核心原理通过拦截非法线程内存访问以绕过杀软扫描,实测可过主流杀软。文章详细解析了技术原理与使用步骤,但关键源码需加入付费圈子获取,属于典型技术引流软文,为红队攻防提供了内存保护思路。 综合评分: 65 文章分类: 免杀,红队,安全工具
MemoryGuard Loader:基于 PAGE_GUARD + VEH 的内存保护加载器
原创
星夜AI安全 星夜AI安全
星夜AI安全
2026年3月17日 13:31 吉林
#
“
免杀,是一个永恒的话题。当杀软从文件层面逐步进化到内存查杀,如何保护自己的 shellcode 不被「抄家」,就成了红队攻防的关键技能。今天给大家介绍一个开源项目——MemoryGuard Loader,它利用 Windows 的 PAGE_GUARD 机制和 VEH (向量化异常处理) 实现内存保护,让杀软无法扫描到正在执行的 shellcode。
📦 项目简介
MemoryGuard Loader 是一款基于 PAGE_GUARD + VEH 技术的内存保护加载器,核心功能是:
- ✅ RC4 加密 shellcode:静态查杀 bypass
- ✅ PAGE_GUARD 内存保护:阻止杀软内存扫描
- ✅ VEH 异常处理:精确控制合法线程访问
- ✅ 静态编译:无 DLL 依赖,落地即运行
🛠️ 环境准备
1. 安装 MinGW-w64
# 通过 MSYS2 (推荐)
pacman -S mingw-w64-x86_64-gcc mingw-w64-i686-gcc
确保以下命令可用:
x86_64-w64-mingw32-gcc(64位)i686-w64-mingw32-gcc(32位)
2. 准备 shellcode
生成 Cobalt Strike 或其他 C2 的 raw 格式 shellcode:
Attacks -> Packages -> Payload Generator -> Raw
保存为 beacon.bin
🚀 快速使用
步骤 1:加密 shellcode
# RC4 加密 (推荐)
python encrypt_shellcode.py beacon.bin shellcode.h mypassword
# 或使用 16 进制密钥
python encrypt_shellcode.py beacon.bin shellcode.h 0x12345678
这会生成 shellcode.h 文件,包含:
- RC4 加密后的 shellcode 字节数组
- 密钥数组
- shellcode 大小
步骤 2:编译
# 方式1: Makefile
make
# 方式2: 手动编译
x86_64-w64-mingw32-gcc -o loader_x64.exe loader.c -lkernel32 -lntdll -static
步骤 3:运行
./loader_x64.exe
🔬 技术原理详解
1. RC4 加密
项目使用 RC4 算法对 shellcode 进行加密:
原文 shellcode → RC4(密钥) → 加密数据 → 静态查杀 bypass
加密后,文件落地部分是密文,杀软无法直接识别。
2. PAGE_GUARD 机制
PAGE_GUARD 是 Windows 内存保护的一种特性:
| 内存属性 | 作用 | | — | — | | PAGE_READWRITE | 可读写 | | PAGE_EXECUTE_READ | 可执行可读 | | PAGE_EXECUTE_READWRITE | 可执行可读写可执行 | | PAGE_GUARD | 访问时触发异常 |
核心思路:
- 将 shellcode 所在内存设置为
PAGE_GUARD - 任何访问都会触发
STATUS_GUARD_PAGE_VIOLATION异常 - 通过 VEH 捕获异常,判断访问者身份
- 合法线程 → 放行;非法线程 → 拒绝
3. VEH (Vectored Exception Handler)
VEH 是 Windows 的向量化异常处理机制,优先级高于普通 SEH:
LONG CALLBACK VectoredExceptionHandler(PEXCEPTION_POINTERS pExceptionInfo) {
// 1. 判断异常类型
if (exceptionCode == STATUS_GUARD_PAGE_VIOLATION) {
// 2. 判断线程身份
if (currentThreadId == g_allowedThreadId) {
// 自己的线程 → 移除保护,执行访问
VirtualProtect(..., PAGE_EXECUTE_READWRITE, ...);
return EXCEPTION_CONTINUE_EXECUTION;
} else {
// 杀软扫描线程 → 拒绝访问,返回 0
printf("[!] Blocked illegal thread access!");
return EXCEPTION_CONTINUE_EXECUTION;
}
}
return EXCEPTION_CONTINUE_SEARCH;
}
4. 保护流程图
┌─────────────────────────────────────────────────┐
│ 正常执行流程 │
├─────────────────────────────────────────────────┤
│ 1. 线程访问 shellcode 内存 │
│ 2. 触发 PAGE_GUARD 异常 │
│ 3. VEH 捕获 → 检查线程 ID │
│ 4. 是合法线程 → 移除保护,执行 │
│ 5. 执行完毕 → 重新添加 PAGE_GUARD │
│ 6. 循环往复... │
└─────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────┐
│ 杀软内存扫描流程 │
├─────────────────────────────────────────────────┤
│ 1. 杀软线程尝试读取 shellcode │
│ 2. 触发 PAGE_GUARD 异常 │
│ 3. VEH 捕获 → 检查线程 ID │
│ 4. 不是合法线程 → 拒绝访问,返回 0 │
│ 5. 杀软:「这片内存是空的」 │
└─────────────────────────────────────────────────┘
📊 免杀效果测试
测试环境
- Windows 10/11 x64
- 杀软:Windows Defender + 360 + 火绒
测试结果
| 杀软 | 静态查杀 | 内存查杀 | 备注 | | — | — | — | — | | Windows Defender | ✅ bypass | ✅ bypass | | | 360 | ✅ bypass | ✅ bypass | | | 火绒 | ✅ bypass | ✅ bypass | |
“
⚠️ 注意:免杀效果取决于杀软实时更新程度,建议结合其他混淆技术使用
360
defender
火绒
⚙️ 可调节参数
在 loader.c 中可调整以下参数:
// 保护间隔 - 增加间隔可降低性能开销
#define GUARD_INTERVAL_MS 50
// 调试模式 - 关闭以减少输出
#define DEBUG_MODE 0
-
GUARD_INTERVAL_MS:保护线程重新添加 PAGE_GUARD 的间隔
-
值越小:保护越频繁,查杀率更低,但 CPU 开销越大
-
值越大:性能更好,但可能被快速扫描绕过
-
建议值:30-100ms
🔐 安全提示
“
⚠️ 仅供学习研究使用,请勿用于非法用途
本工具本质是红队攻防研究技术,正当用途:
- 渗透测试授权评估
- 安全产品检测
- 研究杀软检测原理
🏁 总结
MemoryGuard Loader 提供了一种思路:让杀软「看不到」shellcode。
核心优势:
- 静态层面:RC4 加密,绕过文件查杀
- 动态层面:PAGE_GUARD + VEH,阻止内存扫描
工具源码获取
圈子内获取
关注微信公众号后台回复入群 即可加入星夜AI安全交流群
圈子介绍
现任职于某头部网络安全企业攻防研究部,核心红队成员。2021-2023年间累计参与40+场国家级、行业级攻防实战演练,精通漏洞挖掘、红蓝对抗策略制定、恶意代码分析、内网横向渗透及应急响应等技术领域。在多次大型演练中,主导突破多个高防护目标网络,曾获“最佳攻击手”“突出贡献个人”等荣誉。
已产出的安全工具及成果包括:
- 多款主流杀软通杀工具(兼容卡巴斯基、诺顿、瑞星、360等终端防护,无感知运行,突破多引擎联合检测)
- XXByPassBehinder v1.1 冰蝎免杀生成器(定制化冰蝎免杀工具,绕过主流终端防护与EDR动态检测,支持自定义载荷)
- 哥斯拉二开免杀定制版(二开优化,深度免杀,突破终端防护与EDR检测,适配多场景植入)
- NeoCS4.9终极版(高级免杀加载工具,强化载荷注入与进程劫持,适配多系统版本,无兼容问题)
- WinDump_免杀版(浏览器凭证窃取工具,支持Chrome/Edge/Firefox等主流浏览器,一键提取敏感数据,免杀过防护)_
- _DumpBrowser_V1_免杀版(浏览器凭证窃取工具,专攻浏览器密码、Cookie、历史记录提取,免杀性能拉满)
- fscan二开版(二开优化内网扫描工具,增强指纹精度、弱口令爆破与结果标准化输出,适配复杂内网)
- RingQ加载器二开版(二开优化免杀加载器,支持Shellcode内存执行,绕过各类终端防护与EDR检测)
- 多款免杀Webshell集合(覆盖PHP/JSP/ASPX,过主流WAF与终端防护,适配不同Web场景)
- 免杀360专属加载器(支持Shellcode内存执行,针对性绕过360全系防护检测,无感知运行)
- 一键Kill 火绒 defender 工具 HDKiller(包含源码)
- win11 一键kill 360工具 InjectKill(包含源码)
- win11 一键kill defender工具win11_df-killer(包含源码)
- 免杀火绒6.0内存防护加载器BypassMemLoader
后续将不断更新到内部圈子中 欢迎加入圈子
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:星夜AI安全 星夜AI安全 星夜AI安全《MemoryGuard Loader:基于 PAGE_GUARD + VEH 的内存保护加载器》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论