IoM User Guide

SkillDocs & knowledge

Complete user guide for the IoM (Implant-over-Middleware) C2 framework. Covers architecture concepts, basic operations, startup parameters, authentication configuration, troubleshooting, documentation resources, and community feedback. Trigger conditions: use this skill when the user asks about how IoM works, command usage, architecture concepts, configuration methods, how to troubleshoot issues, where to find documentation, or how to file an issue. Should also trigger for questions like "how do I connect", "what is a session", "I got an error", or "is there documentation".

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the IoM User Guide skill

What this skill tells your AI

The instructions your AI receives, as published by chainreactors/malice-network in skills/iom/SKILL.md and read by ahel’s review.

IoM (Implant-over-Middleware) is a modular C2 framework built on a three-layer architecture.

Architecture Overview

┌──────────────────────────────┐
│     Client (CLI/TUI)         │  User interaction layer
│  Cobra commands + Bubble Tea │
└──────────────┬───────────────┘
               │ gRPC + mTLS
               ▼
┌──────────────────────────────┐
│     Server                   │  Control hub
│  Session/Task/Event mgmt     │
│  Listener/Pipeline dispatch  │
└──────────────┬───────────────┘
               │ ListenerRPC
               ▼
┌──────────────────────────────┐
│  Listener → Pipeline         │  Communication middleware
│  TCP / HTTP / Bind / Custom  │
└──────────────┬───────────────┘
               │ Network
               ▼
┌──────────────────────────────┐
│     Implant (malefic)        │  Target-side agent
│  Modular capability manifest │
└──────────────────────────────┘

Core Concepts

See reference/concepts.md for detailed explanations.

ConceptSummary
SessionAn active implant connection containing target system info, a task queue, and module capabilities
ListenerA network service that accepts implant connections and manages multiple pipelines
PipelineA transport channel under a listener, responsible for encryption, protocol parsing, and frame handling
TaskAn execution unit sent to the implant, with status tracking and timeout control
ModuleA capability category declared by the implant, determining which commands are available
EventA real-time notification (new session, task completion, session offline, etc.)

Quick Start

Starting the Client

iom login server.auth            # Log in using a .auth file

Client startup parameters:

ParameterDescription
--mcp <addr>Enable MCP server (e.g., 127.0.0.1:5005)
--rpc <addr>Enable LocalRPC gRPC server
--daemonDaemon mode — run in background without interactive terminal
--tuiTUI multiplexing mode (split-pane terminal)
--quietQuiet mode — suppress startup event output

Authentication and Configuration

The .auth file contains mTLS certificates and the server address. It serves as the credential for connecting to the server.

Configuration directory structure (see reference/config.md for details):

~/.config/malice/
├── malice.yaml          # Client configuration (MCP, RPC, logging, etc.)
├── configs/             # .auth file storage (auto-migrated after login)
├── log/                 # Log files
├── resources/           # Resource files
└── temp/                # Temporary files

Basic Operations

Session Management

session                          # List active sessions
session --all                    # List all sessions (including offline)
use <session_id>                 # Enter a session context (supports ID prefix matching)
background                       # Exit the current session and return to the main menu

Common Commands Within a Session

sysinfo                          # System information
whoami                           # Current user
privs                            # Current privileges
ps                               # Process list
ls / cd / pwd / cat              # File system operations
upload <local> <remote>          # Upload a file
download <remote>                # Download a file
shell <command>                  # Execute a shell command

Infrastructure Management

listener                         # List listeners
pipeline list                    # List pipelines
pipeline tcp --name <n> --host <h> --port <p>   # Create a TCP pipeline

Task Management

tasks                            # List tasks
tasks --task-id <id>             # View task details
tasks cancel --task-id <id>      # Cancel a task

Module Management

modules list                     # View available modules
modules refresh                  # Refresh modules from the implant
modules load <addon>             # Load an extension module

Command Categories

IoM commands are organized by function. See reference/commands.md for the full reference.

CategoryDescriptionExamples
BasicInfo, heartbeat, bindingsysinfo, sleep, suicide
ExecutionRun programs and codeshell, execute_exe, execute_assembly, bof
File SystemBrowse and manipulate filesls, cd, cat, rm, mkdir, cp, mv
File TransferUpload and downloadupload, download
SystemSystem operationsps, kill, env, netstat, whoami
PrivilegesPrivilege managementprivs, getsystem, runas, rev2self
NetworkProxying and forwardingproxy, forward, reverse
EnumerationEnvironment discoveryenum av, enum software, enum dc

MAL Plugins

IoM extends its command capabilities through MAL (a Lua plugin system). The built-in community plugin package provides 90+ commands covering enumeration, privilege escalation, credential harvesting, lateral movement, persistence, and more.

mal list                             # List installed plugins
mal install <name>                   # Install from the community repository
mal remove <name>                    # Uninstall
search_commands("keyword")           # Search for plugin-provided commands

See reference/mal-usage.md for MAL usage details. See reference/builtin-plugins.md for the full built-in command list.

MCP Tool Interface

The IoM client provides an MCP server that exposes the following tools:

ToolPurpose
search_commandsFuzzy-search commands by name/description, returns lightweight summaries
execute_commandExecute any client command, automatically waits for the task result
execute_luaExecute a Lua script (with access to all IoM internal APIs)
get_historyRetrieve output from historical tasks

Recommended workflow (progressive discovery):

  1. search_commands("keyword") — search for related commands
  2. execute_command("<cmd> --help") — view specific usage
  3. execute_command("<cmd> <args>") — execute the command

Lua Script Execution

Use execute_lua to run Lua scripts directly for automation and batch operations:

-- Simple example
execute_lua('return string.format("2+2=%d", 2+2)')

-- Use IoM APIs within a session context
execute_lua('local s = active(); return s.Os.Hostname', session_id="abc123")

See reference/lua-scripting.md for details.

Troubleshooting

See reference/troubleshooting.md for common issues, covering:

  • Connection failures (auth files, certificates, network)
  • Session anomalies (offline, heartbeat timeout, unavailable modules)
  • Task issues (stuck, timed out, no output)
  • Debugging methods (log directory, audit log level)

Documentation and Community

ResourceLink
Official Wikihttps://chainreactors.github.io/wiki/IoM/
Quick Starthttps://chainreactors.github.io/wiki/IoM/quickstart/
Implant Manualhttps://chainreactors.github.io/wiki/IoM/manual/implant/
MAL Scriptinghttps://chainreactors.github.io/wiki/IoM/manual/mal/quickstart/
Roadmaphttps://chainreactors.github.io/wiki/IoM/roadmap/
GitHub (Server)https://github.com/chainreactors/malice-network
GitHub (Implant)https://github.com/chainreactors/malefic

Reporting Issues

Submit feedback via GitHub Issues:

# Create an issue using gh cli
gh issue create --repo chainreactors/malice-network \
  --title "Brief description of the issue" \
  --body "## Environment
OS:
IoM version:
## Steps to Reproduce
1.
2.
## Expected Behavior

## Actual Behavior

## Logs
(Paste relevant logs from ~/.config/malice/log/)"

When filing an issue, include: OS, IoM version, reproduction steps, expected vs. actual behavior, and relevant logs.

Related Skills

IoM capabilities are split across multiple skills by responsibility. Consult the appropriate skill for your scenario:

SkillResponsibilityUse When
iom (this skill)Core concepts, usage guide, configuration, troubleshooting"How do I connect", "How to use commands", "I got an error"
iom-pentestPenetration testing execution"Privilege escalation", "Lateral movement", "Credentials", "Persistence"
iom-opsecOperational security methodology and case studies"Is this safe", "Will it be detected", "Risk assessment"
mal-developMAL plugin development"Write a plugin", "Extend commands", "Lua API"

Reference Documents

TopicReference File
Core concept detailsreference/concepts.md
Command quick referencereference/commands.md
MAL plugin usagereference/mal-usage.md
Built-in plugin command listreference/builtin-plugins.md
Lua script executionreference/lua-scripting.md
Troubleshootingreference/troubleshooting.md
Configuration detailsreference/config.md

Signals

GitHub stars
499
Forks
70
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
iom
Source
github.com/chainreactors/malice-network