对抗EDR的利器:Inline-Execute-PE在进程注入场景下的高级应用
对抗EDR的利器Inline-Execute-PE在进程注入场景下的高级应用【免费下载链接】Inline-Execute-PEExecute unmanaged Windows executables in CobaltStrike Beacons项目地址: https://gitcode.com/gh_mirrors/in/Inline-Execute-PEInline-Execute-PE是CobaltStrike的Beacon Object Files (BOF)套件及配套Aggressor脚本能让操作者将非托管Windows可执行文件加载到Beacon内存中执行还能检索输出并在Beacon控制台显示。这一强大工具让操作者无需将第三方工具如Mimikatz、Dsquery、Sysinternals工具等写入磁盘也不用借助Donut等工具将其重新格式化为位置无关代码更无需创建新进程就能使用它们。 核心功能解析内存中执行PE的终极方案 突破传统执行限制的三大优势Inline-Execute-PE彻底改变了传统工具的使用方式带来了三大关键突破无文件落地通过内存加载技术所有操作均在内存中完成避免了文件系统留下痕迹大幅降低被检测风险。重复执行能力加载到Beacon内存中的可执行文件可重复使用无需每次通过网络传输、分配新内存或创建新的conhost.exe进程。多客户端共享加载到Beacons中的可执行文件对所有连接到CobaltStrike团队服务器的客户端都可访问和运行。 专为x64架构优化的兼容性设计该项目专为x64 Beacons和使用Mingw或Visual Studio编译的x64 Windows C/C可执行文件设计。目前不支持x86可执行文件或使用其他语言、编译器编译的x64可执行文件。这种针对性设计确保了在目标环境中的高效稳定运行。图Inline-Execute-PE在CobaltStrike Beacon中的实际运行效果展示了内存加载和执行PE文件的完整流程 三步上手从安装到执行的完整指南 快速安装配置步骤克隆仓库并按需运行make重新编译BOFgit clone https://gitcode.com/gh_mirrors/in/Inline-Execute-PE cd Inline-Execute-PE/Inline-Execute-PE make将Inline-Execute-PE.cna加载到CobaltStrike客户端。确保CobaltStrike运行目录对用户可写因为Inline-Execute-PE会在此创建petable.txt文件以确保功能所需数据的可用性。 核心命令详解Inline-Execute-PE包含3个面向目标的命令运行BOF和3个内部命令操作项目数据结构面向目标的命令peload将PE加载到Beacon内存的起始命令。支持从攻击机发送PE或从目标机磁盘读取PE创建内存结构分配并加密PE内存生成conhost.exe子进程重定向标准输出。perun执行已加载PE的命令。发送命令行参数解密PE修复导入地址表修改内存保护在独立线程中运行PE捕获并返回输出恢复内存状态。peunload从Beacon内存中移除PE的命令。关闭句柄和文件指针终止conhost.exe进程清零并释放PE内存可选卸载PE加载的DLL。内部数据结构命令petable显示当前加载到Beacons中的所有PE信息。每个CobaltStrike客户端都有自己的petableInline-Execute-PE会确保所有连接客户端之间数据的同步。peconfig配置Inline-Execute-PE的功能选项包括设置PE执行超时时间和是否卸载PE加载的DLL。pebroadcast手动将客户端的petable内容广播到所有其他连接的CobaltStrike客户端。 基础使用示例使用peload加载PE到Beacon内存peload /path/to/your/binary.exe如需使用目标机上已存在的PE提供路径并使用--local开关peload C:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe --local调用perun并传递PE所需参数perun privilege::debug token::elevate exit完成使用后调用peunload从Beacon中清理PEpeunload️ EDR规避策略与实战技巧 对抗EDR的核心机制Inline-Execute-PE通过多种机制有效规避现代EDR解决方案内存加密保护使用用户指定的密钥对内存中的PE进行XOR加密防止静态内存扫描检测。API钩子绕过修复PE的导入地址表挂钩与命令行参数和进程退出相关的特定API避免EDR的用户态钩子检测。合法进程注入在已注入到合法进程如Explorer.exe、notepad.exe的Beacon中运行时能有效绕过Windows Defender等安全产品的检测。 实战优化建议进程选择策略优先在注入到Windows系统进程的Beacon中使用相比独立可执行文件的Beacon能显著降低检测率。DLL卸载控制对于会加载.NET CLR的PE如powershell.exe建议使用peconfig设置unloadlibraries为false避免Beacon崩溃peconfig unloadlibraries FALSE超时设置对于长时间运行的PE适当增加超时时间peconfig timeout 180特殊PE处理Cmd.exe必须使用/c作为第一个参数如perun /c cdMimikatz.exe使用后卸载再重新加载时可能导致Beacon崩溃建议在第一次peunload时设置UnloadLibraries为TRUE隔离测试建议生成新的beacon专门用于Inline-Execute-PE操作避免影响主要操作通道。⚠️ 风险提示与注意事项使用Inline-Execute-PE时需注意以下风险Beacon稳定性错误的参数或不兼容的PE可能导致Beacon崩溃造成访问丢失。超时处理当PE执行超时被终止后Beacon将无法再加载其他PE需要重新部署Beacon。内存膨胀部分PE不会正确释放内存随着多次加载运行Beacon进程内存可能会不断增大。IOC风险虽然能规避部分检测但仍存在内存分配、保护修改、创建conhost.exe子进程等潜在IOC。强烈建议在实际操作前在测试环境中充分测试所有计划使用的PE熟悉其行为特性避免因工具使用不当导致任务失败。 项目文件结构与核心组件项目主要包含以下关键文件Inline-Execute-PE.cnaAggressor脚本实现命令注册、数据管理和客户端同步功能peload.cPE加载功能的BOF源代码perun.cPE执行功能的BOF源代码peunload.cPE卸载功能的BOF源代码beacon.h、bofdefs.hBOF开发所需的头文件Makefile项目编译配置文件这些组件协同工作实现了从PE加载、执行到卸载的完整生命周期管理以及多客户端间的数据同步。 总结内存执行技术的变革者Inline-Execute-PE通过创新的内存中PE执行技术为红队操作者提供了强大的EDR规避能力。它不仅解决了传统工具使用中的文件落地问题还通过内存复用和多客户端共享提升了操作效率。无论是Mimikatz等敏感工具的无文件执行还是Sysinternals系列工具的内存中使用Inline-Execute-PE都展现出了其在现代对抗环境中的独特价值。通过掌握这一工具安全从业者能够在保持操作隐蔽性的同时充分利用各类成熟工具的功能有效提升红队行动的成功率。随着EDR技术的不断发展Inline-Execute-PE这类内存执行技术将成为对抗防御体系的关键手段值得每一位安全从业者深入研究和掌握。【免费下载链接】Inline-Execute-PEExecute unmanaged Windows executables in CobaltStrike Beacons项目地址: https://gitcode.com/gh_mirrors/in/Inline-Execute-PE创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻