AI赋能红队免杀!过主流杀软!(免杀工具获取方法在文中)
先说结论
我做了一个免杀 Shellcode Loader (工具、源码、加密脚本,全部放出来。)长这样:
• 纯 C,单个源文件,编译出来就一个 exe • 双击运行无窗口、无输出、无感启动 • RC4 加密 + FNV 校验,payload 落地即密文 • XOR 混淆所有敏感 API 字符串,IAT 里干干净净 • 主线程直接跳转执行,不创建任何线程 • VT 检测:3 / 70+


更重要的是——这整个东西,是我和 AI 一起做的。
我不是在吹 AI 多厉害。我是想说:当你学会怎么用 AI,免杀开发的效率会发生质变。 这篇文章既是分享,也是工具发布。看到最后有完整使用教程。
推荐一波自建自用 AI 中转站,codex 纯 Pro 号池满血运行 GPT 5.5/5.4,0.2 倍率高速稳定不注水,直达:http://47.103.62.125:3000/
一、为什么公开的免杀代码都是"死的"
很多人学免杀的路径是这样的:
找一篇博客 → 复制 PoC → 改改变量名 → 丢 VT → 报毒 → 再找一篇 → 循环
问题在哪?
GitHub 上每多一个 star,AV 厂商的特征库就多一条记录。 你拿到的"现成方案",本质上是"已收录的签名"。你以为捡到了宝,其实是捡到了一个已经被标记的指纹。
所以真正的免杀,从来不是"用别人的代码",而是从零构建一条全新的执行链路——每一步都针对一个检测维度,且代码是独一无二的。
这恰恰是 AI 最擅长的事。
二、我和 AI 是怎么协作的
整个过程不是"我提一句,AI 吐一堆代码"。是一个闭环:
我提需求 → AI 写代码 → 我编译跑 VT → 把结果反馈给 AI → AI 分析为什么被检测 → 针对性改 → 再跑 VT → 循环举几个让我印象深刻的瞬间。
1. AI 主动建议:别用 CreateThread
第一版 loader 用回调函数执行 shellcode。我挺满意。AI 直接说:
"EnumSystemLocalesA 本身也是高权重 API,会被行为引擎标记。更干净的方案是——不创建线程,主线程直接跳进去。"
最后就一行:
((void(*)())execBuf)();没有线程创建事件,没有回调 API。从行为引擎看,就是一个普通的函数调用。这种取舍,AI 自己想出来的。
2. AI 解释加密升级的原因
我让它把 XOR 换成 RC4,它换完之后主动解释:
"单字节 XOR 只有 256 种可能,毫秒级爆破。RC4 密钥任意长度,密文分布更均匀,不会触发高熵+可疑位置的启发式规则。"
它不是在背诵,它在解释为什么。
3. 最新优化:无窗口运行
这是最后一轮。我说:
"能运行之后不要弹窗口吗?又不能增加 VT 查杀率。"
AI 的方案不是"创建窗口再隐藏"——那照样有窗口创建事件。它选了更彻底的:
把 PE 子系统从 CONSOLE 切成 WINDOWS。 一个 #pragma 搞定:
#pragma comment(linker, "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")从进程被创建的那一刻起,Windows 就不分配控制台。不是"开了再藏",是根本不存在。同时删掉了所有 printf 调试输出和 stdio 依赖,特征面反而更小了。
VT 查杀率不升反降。 这是 AI 对 PE 格式和对抗逻辑的理解到位了才会给出的方案。
三、最终效果
| 无窗口 | ||
| 零输出 | ||
| 3 |
一个 exe,一个 config.dat,双击即用,无感启动上线 C2。
四、工具怎么用(重点)
我把 Loader 源码 + 加密脚本 + 编译脚本 全部公开。下面是完整使用流程。
关注公众号,在后台回复
loader即可下载工具,.7z压缩包解压密码为beiguo。
你需要准备的东西
1. 一段 shellcode(你自己生成的,比如 msfvenom、sliver、Cobalt Strike、VShell 等) 2. Python 3(用来跑加密脚本) 3. MSVC 编译器(Visual Studio 2017+,用来编译 loader)
第一步:加密你的 shellcode
把你的 shellcode 放进一个文件。支持两种格式:
• C 数组格式(payload.c 那种带 \x的):
unsigned char buf[] = "\xfc\x48\x83\xe4\xf0\xe8\xc0\x00...";• 原始二进制(.bin 文件)
然后运行加密脚本:
python encrypt.py payload.c config.dat或者加密 raw bin:
python encrypt.py shellcode.bin config.dat输出:
[+] shellcode: 1388 bytes[+] 1404 bytes -> config.dat (header=16 + payload=1388)[+] checksum: 0xa3b7c1d2
这一步做了三件事:
• RC4 加密你的 shellcode(密钥内嵌) • 计算 FNV-1a 校验和(防篡改) • 加上 16 字节文件头,输出 config.dat
第二步:编译 Loader
注意更改 bat 中的路径!
使用 CMD 运行 bat 脚本。
_build.bat脚本里会调用 vcvars64 初始化 MSVC 环境,然后
cl /O2 /MT静态链接。
编译产物:loader_dbg.exe

无窗口版本。 双击不会有任何反应——不是卡了,是设计如此。
第三步:运行
把这两个文件放在同一目录:
目标机器\ ├── loader_dbg.exe └── config.dat
双击 loader_dbg.exe,或者命令行静默拉起。
没有任何窗口。没有任何输出。程序会:
1. 读取 config.dat2. 校验完整性 3. RC4 解密 4. 主线程直接跳转执行 5. 你的 shellcode 跑起来 6. 目标上线
就这么简单。 并且常见的360、火绒,都能过!



五、技术细节速览
写给想深入研究的人:
执行链路:
启动(无窗口) ↓读取 config.dat ↓FNV-1a 校验完整性 ↓RC4 解密 payload ↓VirtualAlloc 申请 RWX(PEB+哈希解析,IAT 无敏感名) ↓拷入解密后的 shellcode ↓释放临时缓冲 ↓主线程直接跳转(无 CreateThread) ↓shellcode 运行关键设计:
• API 字符串全混淆: VirtualAlloc、VirtualProtect、kernel32.dll等全部以 XOR 字节数组形式存储,运行时解密,IAT 里看不到• 动态解析: LoadLibrary+GetProcAddress运行时拿函数地址• 无线程执行:不调用 CreateThread,不调用任何回调 API• GUI 子系统:PE 头 Subsystem = 2,进程创建即无控制台 • 零字符串特征:删掉所有调试输出,exe 里没有 [*]、[!]这类常见 loader 前缀
六、AI 在这件事里到底值多少
我复盘了一下整个开发过程,AI 实际承担了这些角色:
1. 知识整合器Hells Gate、Halo's Gate、SSN 顺序性、stub 等间距布局……这些技术散落在几百篇博客里。AI 几秒内把它们整合成一条连贯的执行链。人类做这件事可能要几周。
2. 对抗逻辑分析者它不是在背名词。它理解 EDR 在哪里 hook、hook 的形式是什么、怎么检测、怎么绕。这种理解深度,说实话,超过很多初级红队。
3. 闭环迭代的执行者我给 VT 反馈,它分析检测来源,针对性改一轮,我再验证。这个循环可以一直跑。"提需求 → 生成 → 验证 → 反馈 → 迭代",这就是 AI 时代免杀开发的新范式。
4. 工具链全包Python 加密脚本、checksum 计算、自动提取 shellcode 的逻辑、编译脚本——全是 AI 写的。从加密到编译,一条龙。
我做什么?我做决策。 我决定加哪一层、砍哪一层、优先级怎么排。AI 是我的手,我是脑子。
这才是人机协作的正确姿势。
七、给蓝队的一句话
免杀的门槛正在急剧下降。
以前只有高级 APT 才会用的直接 syscall,现在 AI 几分钟生成。用户态 hook 正在失效。特征库永远追不上 AI 的生成速度。
正确的防御方向是内核层监控(ETW、内核回调、内存扫描),而不是用户态 API hook。
八、写在最后
工具放出来了,源码也放出来了。
免杀本就是持续对抗的过程,失效只是早晚的事;源码一旦公开,免杀效果会迅速失效。
我不是鼓励谁去做坏事——这段文字、这个工具,本质上是安全研究的教育材料。 理解攻击才能做好防御。蓝队的朋友看完应该知道该补哪里;红队的朋友拿来学习和演练。
AI 改变了攻防的游戏规则。不是谁的技术更先进,而是谁能更好地驾驭 AI。
学起来。
Loader 源码、加密脚本、编译脚本、示例 config 已全部公开。公众号后台回复【loader】获取。
——转载请保留出处。
往期推荐
往期推荐
欢迎关注公众号「倍果科技」,持续分享红队攻防与漏洞情报;建议设为星标,及时获取更新。
技术交流群请添加微信,备注「安全技术交流」。

免责声明:本文仅供学习研究,请勿用于非法用途,相关后果由使用者自行承担。
夜雨聆风