Skip to content

命令行系统

Client 提供多种运行模式,覆盖交互操作、自动化脚本和外部集成等场景。

运行模式总览

模式 启动方式 用途
交互式 Shell ./iom 日常操作,人工交互
TUI 多窗口 ./iom --tui 多 session 并行操作
非交互执行 ./iom --auth admin.auth session 脚本集成,单次命令
后台守护 ./iom --daemon 持久服务,MCP/LocalRPC
MCP 服务 ./iom --mcp <addr> AI Agent 接入
LocalRPC 服务 ./iom --rpc <addr> SDK 编程接入

交互式 Shell

基本启动

Bash
./iom                   # 选择已保存凭证登录
./iom login admin.auth  # 首次导入凭证

登录后进入交互式命令行,支持 Tab 补全、命令历史、分组帮助。

上下文系统

Client 采用两级上下文架构,不同上下文下可用命令不同:

登录后默认进入,管理 Server 资源:

命令组 命令 说明
Generic login / version / status / exit 基础操作
Manage session / mal / alias / extension / armory / config / cert / audit 资源管理
Listener listener / pipeline / website 通信管理
Generator build / profile / mutant 构建管理

使用 use <session-id> 进入,执行后渗透操作:

命令组 命令 说明
Implant info / init / tasks / list_module / load_module 会话与模块
Execute exec / shell / powershell / bof / inline_exe 命令执行
Sys whoami / env / ps / kill / service / reg / taskschd 系统操作
File ls / cd / upload / download / cat / mkdir / rm / mv / cp 文件操作
Pivot portfwd / rportfwd / proxy / reverse 网络代理

动态命令

Implant 上下文的可用命令取决于 implant 已加载的模块。nano 模式的 implant 只有最小命令集,可通过 load_module 按需扩展。

上下文切换

Bash
use <session-id>    # Client → Implant 上下文
background          # Implant → Client 上下文
switch              # 在多个 session 间快速切换

补全与帮助

  • Tab 补全 :命令名、子命令、Flag、Session ID、Pipeline 名称等均支持智能补全
  • 帮助系统help 按分组列出所有命令,help <command> 查看详细用法
  • Shell 转义 :使用 ! 前缀执行本地命令,如 ! ls -la

TUI 多窗口模式

使用 --tui 启动类似 tmux 的多 pane 管理界面:

Bash
./iom --tui

布局与机制

Text Only
┌──────────────┬─────────────────────────────────────┐
│  Sidebar     │                                     │
│              │          Active Pane                 │
│  console-0   │                                     │
│  08d6c05a    │   [08d6c05a] > whoami               │
│  a3f2b1e7    │   NT AUTHORITY\SYSTEM               │
│              │                                     │
│              │                                     │
└──────────────┴─────────────────────────────────────┘
  • Index pane (首个 pane):接收全局事件输出,承载 MCP 和 LocalRPC 服务
  • Session paneuse <session> 时自动创建独立 pane,以 --quiet 模式运行,屏蔽全局事件
  • 切换 :通过侧边栏在不同 pane 间切换

非交互式执行

直接追加子命令,执行完毕后退出:

Bash
./iom --auth admin.auth session             # 列出会话
./iom --auth admin.auth listener            # 列出 listener
./iom --auth admin.auth build beacon \
    --profile tcp_default \
    --target x86_64-pc-windows-gnu          # 编译 beacon

凭证指定

非交互模式下通过 --auth 显式指定凭证文件,避免进入凭证选择交互。

Daemon 模式

使用 --daemon 保持后台服务运行,不进入交互式控制台:

Bash
./iom --auth admin.auth --daemon --mcp 127.0.0.1:5005 --rpc 127.0.0.1:15004

典型场景:

  • 为 AI Agent 提供持久 MCP 服务
  • 为 SDK 提供持久 LocalRPC 服务
  • 搭配脚本实现无人值守自动化

MCP 服务

通过 --mcp 暴露 Model Context Protocol 接口:

Bash
./iom --auth admin.auth --mcp 127.0.0.1:5005

MCP 服务自动将 Client 命令树注册为标准接口:

  • Tools :Client 命令封装为可调用的 MCP Tool
  • Resources :Session、Listener 等状态暴露为可查询的 Resource

支持 Claude Code / Claude Desktop 等任何兼容 MCP 协议的客户端接入。详见 AI Agent 集成

LocalRPC 服务

通过 --rpc 暴露本地 gRPC 接口,供多语言 SDK 编程接入:

Bash
./iom --auth admin.auth --rpc 127.0.0.1:15004
SDK 仓库
Go IoM-go
Python IoM-python
TypeScript IoM-typescript

启动参数速查

参数 说明
--auth <path> 指定认证凭证文件
--tui TUI 多窗口模式
--daemon 后台守护模式
--mcp <addr> 启用 MCP 服务
--rpc <addr> 启用 LocalRPC 服务
--console 强制进入交互式控制台
--yes 跳过确认提示

相关文档