Inline-Execute-PE命令详解:从peload到peunload的完整操作手册

📅 2026/7/25 22:23:47
Inline-Execute-PE命令详解:从peload到peunload的完整操作手册
Inline-Execute-PE命令详解从peload到peunload的完整操作手册【免费下载链接】Inline-Execute-PEExecute unmanaged Windows executables in CobaltStrike Beacons项目地址: https://gitcode.com/gh_mirrors/in/Inline-Execute-PEInline-Execute-PE是GitHub加速计划中的一个实用工具专门用于在CobaltStrike Beacons中执行非托管Windows可执行文件。它提供了一套完整的命令集包括peload、perun和peunload让用户能够轻松地在Beacon内存中加载、执行和卸载PE文件为红队操作提供了便利。快速了解Inline-Execute-PEInline-Execute-PE是一个针对CobaltStrike设计的工具主要功能是在Beacon进程中内联执行非托管Windows可执行文件。通过使用该工具用户可以避免直接将PE文件写入磁盘从而降低被检测的风险。它支持x64架构的C或C二进制文件为红队人员在渗透测试过程中提供了更多的灵活性和隐蔽性。核心功能一览 peload将非托管Windows可执行文件加载到Beacon内存中perun执行已加载的PE文件并提供命令行参数peunload从Beacon内存中卸载PE文件并清理相关结构peconfig配置PE文件加载和执行的相关选项petable查看当前在Beacons中加载的PE文件列表下面是一个展示Inline-Execute-PE命令执行过程的截图环境准备与安装在使用Inline-Execute-PE之前需要先进行环境准备和安装。以下是详细的步骤克隆仓库首先使用以下命令克隆项目仓库git clone https://gitcode.com/gh_mirrors/in/Inline-Execute-PE编译项目进入项目目录后使用Makefile编译项目cd Inline-Execute-PE/Inline-Execute-PE make编译完成后会生成相应的目标文件如peload.x64.o、perun.x64.o和peunload.x64.o等。加载CNA脚本在CobaltStrike中通过Script Manager加载Inline-Execute-PE.cna脚本CobaltStrike - Script Manager - Load - 选择Inline-Execute-PE.cna加载成功后相关命令将添加到CobaltStrike的命令列表中。peload命令加载PE文件到内存peload命令用于将非托管Windows可执行文件加载到Beacon内存中。这是使用Inline-Execute-PE的第一步。基本语法peload /path/to/binary.exe --local参数说明/path/to/binary.exe必需参数指定要加载的Windows可执行文件的完整路径--local可选参数指定从目标机器加载二进制文件而不是从攻击机器使用示例从攻击机器加载PE文件peload /root/windows_binaries/dsquery_win7.exe从目标机器加载本地PE文件peload C:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe --local加载包含空格路径的PE文件peload C:\\program files\\peazip\\peazip.exe --local注意事项目前仅支持x64架构的PE文件加载前会检查Beacon中是否已存在加载的PE文件如果有则会提示错误使用--local参数时需要确保目标机器上存在指定的PE文件perun命令执行已加载的PE文件perun命令用于执行已通过peload加载到Beacon内存中的PE文件并可以提供命令行参数。基本语法perun arg arg arg ...参数说明arg传递给已加载PE文件的命令行参数不需要指定可执行文件名称使用示例执行mimikatz命令perun privilege::debug token::elevate exit执行dsquery命令注意转义双引号perun * -filter \\\(objectclassuser)\\\ -attr * -Limit 1执行cmd命令perun /c cd执行handle64命令perun -acceptula -p explorer.exe执行powershell命令perun Get-MpPreference注意事项必须先使用peload加载PE文件才能使用perun执行如果PE文件执行超时Beacon将无法再加载其他PE文件命令行参数中的双引号需要使用反斜杠转义peunload命令卸载PE文件并清理peunload命令用于从Beacon内存中卸载已加载的PE文件并清理相关的内存结构和资源。基本语法peunload使用说明peunload命令不需要任何参数执行后会将包含PE文件的内存区域清零并释放关闭由Inline-Execute-PE打开的句柄和文件指针尝试卸载由PE文件加载的DLL可通过peconfig配置执行示例peunload执行成功后会显示peunload successful的提示信息。注意事项只能卸载当前Beacon中已加载的PE文件如果Beacon不活跃或长时间未回调将无法执行卸载操作卸载后可以使用peload重新加载其他PE文件除非之前的PE执行超时peconfig命令配置PE加载执行选项peconfig命令用于配置与已加载PE文件相关的选项包括超时时间和DLL卸载策略。基本语法peconfig option value参数说明option要配置的选项可选值为timeout或unloadlibrariesvalue选项的值根据不同选项有不同的取值范围配置选项详解timeout选项控制Beacon等待PE文件执行完成的最长时间秒默认为60秒。如果PE执行超过此时间将被强制终止。peconfig timeout 180unloadlibraries选项指定peunload时是否尝试卸载由PE加载的DLL默认为TRUE。对于某些加载了.NET CLR的PE如PowerShell设置为FALSE可以避免Beacon崩溃。peconfig unloadlibraries FALSE注意事项这些设置是基于每个PE文件的卸载后再加载新的PE会恢复默认设置timeout设置过短可能导致PE文件无法完成执行unloadlibraries设置为FALSE可能会在Beacon中留下残留的DLLpetable命令查看已加载PE文件列表petable命令用于显示当前所有Beacons中已加载的PE文件信息帮助用户跟踪和管理PE文件加载状态。基本语法petable optional arg参数说明optional arg可选参数clear用于清除已死亡或长时间未回调的Beacon中的PE条目使用示例显示PE文件加载列表petable执行后会显示一个表格包含PID、PE名称、加载者、时间、内存地址、超时时间和DLL卸载策略等信息。清除过期的PE条目petable clear输出说明绿色条目活跃的Beacon红色条目活跃但无法再加载PE的Beacon之前的PE执行超时白色条目不活跃的Beacon实战应用完整操作流程以下是一个使用Inline-Execute-PE工具的完整操作流程示例展示如何加载、执行和卸载一个PE文件。1. 加载mimikatz到Beacon内存peload /root/tools/mimikatz.exe成功加载后会显示Successfully loaded PE!的提示。2. 查看已加载的PE文件petable会看到类似以下的输出PID PEname Loaded By Date/Time pMemAddrStruct Timeout UnloadLibraries ---------- ------------ ------------- ------------- --------------- --------- --------------- 1234 mimikatz.exe admin 2023-10-01... 0x00000000... 60 TRUE3. 执行mimikatz命令perun privilege::debug sekurlsa::logonpasswords exit这将执行mimikatz并获取登录密码哈希。4. 调整超时设置如需执行长时间任务peconfig timeout 300将超时时间设置为5分钟。5. 卸载mimikatzpeunload成功卸载后会显示Successfully unloaded PE from beacon!的提示。常见问题与解决方案在使用Inline-Execute-PE的过程中可能会遇到一些常见问题以下是解决方案PE加载失败可能原因文件路径不正确文件不存在不是x64架构的PE文件Beacon中已存在加载的PE文件解决方案检查文件路径和文件是否存在确保使用x64架构的PE文件使用peunload卸载已加载的PE文件PE执行超时问题描述执行perun后收到PE exceeded timeout! PE thread aborted的错误。解决方案使用peconfig增加超时时间确保PE命令会正常退出如mimikatz需要添加exit命令注意超时后该Beacon将无法再加载其他PE文件。Beacon崩溃可能原因PE文件有兼容性问题卸载DLL时出现问题解决方案使用peconfig设置unloadlibraries为FALSE尝试其他版本的PE文件多客户端同步问题问题描述在多客户端环境中PE加载状态不同步。解决方案使用pebroadcast命令手动广播PE加载状态确保所有客户端都加载了Inline-Execute-PE.cna脚本总结Inline-Execute-PE提供了一套完整的命令集让用户能够在CobaltStrike Beacons中安全、隐蔽地加载、执行和卸载非托管Windows可执行文件。通过peload、perun和peunload这三个核心命令配合peconfig和petable等辅助命令用户可以灵活地管理Beacon内存中的PE文件为红队操作提供了强大的支持。无论是进行渗透测试还是红队演练Inline-Execute-PE都是一个值得掌握的实用工具。它不仅提高了操作的隐蔽性还为处理各种复杂场景提供了灵活的配置选项。希望本手册能帮助你快速掌握Inline-Execute-PE的使用方法提升你的红队操作能力。【免费下载链接】Inline-Execute-PEExecute unmanaged Windows executables in CobaltStrike Beacons项目地址: https://gitcode.com/gh_mirrors/in/Inline-Execute-PE创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考