从源码到实战:Inline-Execute-PE的编译、配置与团队协作指南
【免费下载链接】Inline-Execute-PEExecute unmanaged Windows executables in CobaltStrike Beacons项目地址: https://gitcode.com/gh_mirrors/in/Inline-Execute-PE
Inline-Execute-PE是一款针对CobaltStrike Beacon的工具套件,能够将非托管Windows可执行文件加载到内存中执行,无需落地磁盘或创建新进程。本文将带你从源码编译到团队协作,全面掌握这一强大工具的使用方法。
🌟 核心功能与优势
Inline-Execute-PE通过Beacon对象文件(BOF)和Aggressor脚本实现三大核心功能:
- 内存加载:将PE文件直接映射到Beacon内存
- 重复执行:加载一次即可多次运行,避免重复网络传输
- 团队共享:所有连接的CobaltStrike客户端均可访问已加载的PE文件
Inline-Execute-PE运行演示
🛠️ 环境准备与编译步骤
编译依赖
- x86_64-w64-mingw32-gcc交叉编译器
- GNU Make工具
快速编译流程
克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/in/Inline-Execute-PE cd Inline-Execute-PE/Inline-Execute-PE执行编译命令:
make all
编译完成后将生成三个目标文件:
- peload.x64.o - PE加载模块
- perun.x64.o - PE执行模块
- peunload.x64.o - PE卸载模块
编译规则定义在 Inline-Execute-PE/Makefile 中,使用mingw32-gcc编译器并添加
-DBOF宏定义以生成BOF兼容代码。
🚀 快速上手指南
基本工作流程
- 加载PE文件→ 2.执行PE文件→ 3.卸载PE文件
加载PE文件
使用peload命令加载本地PE文件到Beacon内存:
peload /path/to/mimikatz.exe或加载目标机上已存在的PE文件:
peload C:\Windows\System32\cmd.exe --local执行PE文件
通过perun命令执行已加载的PE文件并传递参数:
perun sekurlsa::logonpasswords exit注意:参数中的双引号需要使用反斜杠转义,如
perun "argument with spaces"
卸载PE文件
完成操作后使用peunload清理内存:
peunload⚙️ 高级配置选项
查看已加载PE信息
使用petable命令查看当前Beacon中加载的PE文件状态:
petable调整执行超时时间
默认超时时间为60秒,可通过peconfig调整:
peconfig timeout 120控制DLL卸载行为
某些PE可能导致DLL卸载时崩溃,可禁用DLL卸载:
peconfig unloadlibraries false👥 团队协作功能
数据同步机制
Inline-Execute-PE会自动在所有连接的CobaltStrike客户端间同步PE加载状态,确保团队成员使用相同的工具环境。同步信息存储在:
- 内存数据结构
- 本地文件:petable.txt(位于CobaltStrike运行目录)
手动广播数据
如需强制同步所有客户端数据,可使用:
pebroadcast⚠️ 注意事项与最佳实践
- 架构兼容性:仅支持x64 Beacon和x64 PE文件
- 进程选择:注入到系统进程(如explorer.exe)比独立Beacon更隐蔽
- 命令测试:先在测试环境验证PE文件及参数,避免Beacon崩溃
- 特殊PE处理:
- PowerShell.exe:卸载时需禁用DLL卸载
- Cmd.exe:必须使用
/c参数,如perun /c dir
📚 项目文件结构
核心文件说明:
- Inline-Execute-PE.cna - Aggressor脚本
- peload.c - PE加载实现
- perun.c - PE执行逻辑
- peunload.c - 内存清理代码
🛡️ 安全考量
使用Inline-Execute-PE时需注意:
- 内存操作(VirtualAlloc、内存保护修改)可能触发EDR检测
- 执行敏感操作(如Mimikatz)仍会产生安全日志
- 建议在测试环境充分验证目标PE的兼容性
通过合理配置和谨慎使用,Inline-Execute-PE可以成为红队操作中的强大工具,有效减少磁盘操作和进程创建带来的检测风险。
【免费下载链接】Inline-Execute-PEExecute unmanaged Windows executables in CobaltStrike Beacons项目地址: https://gitcode.com/gh_mirrors/in/Inline-Execute-PE
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考