Analysis, forensic, workflows and purple team
Collaboration, Guardian, MCP, and Community Extensions
Professional pentests are rarely solo efforts. KittySploit provides a real-time collaboration layer, a behavioral guardrail (Guardian), an MCP gateway for AI assistants, and extension mechanisms (plugins, IRC). This chapter covers the full advanced operational stack.
KittySploit collaboration architecture
KittySploit offers two complementary implementations:
- Simple server (
core/collab_server_simple.py) --- started viacollab_server, lightweight, ideal for isolated test environments and pairs. - KittyCollab web (
interfaces/kittycollab/) --- enriched web interface for remote teams (outside this console chapter scope, but compatible).
Typical flow:
- The lead operator launches
collab_serveron a coordination machine. - Each member runs
collab_connectto the host and shared workspace. - Chat (
collab_chat) synchronizes messages and workspace state. - The lead shares a loaded module with
collab_share_module. - Peers retrieve it with
collab_sync_module.
Logical diagram
[Operateur A] [Operateur B]
| |
| collab_connect host:8080 |
v v
+--------------------------------------------------+
| collab_server (SimpleCollaborationServer) |
| workspace: mission-2026 | password optional |
+--------------------------------------------------+
| |
+-------- collab_chat ------------+
+-- collab_share_module / sync ---+
collab_server command
Startup
collab_server --host 0.0.0.0 -p 8080 -P "team-password" -w mission-2026 -v
--host--- listen interface (default127.0.0.1; use0.0.0.0behind a restricted firewall).-p / --port--- TCP port (default 8080).-P / --password--- optional authentication but strongly recommended.-w / --workspace--- collaborative workspace name (defaultdefault).-v / --verbose--- detailed logs.
The server registers as a background job via the job_manager. You
can find it with jobs and stop it cleanly:
collab_server stop
Deployment best practices
- Reserve a dedicated workspace per mission (
-w client-acme-q2). - Document URL, port, and password in the official communication channel (not via unencrypted email).
- Verify that each operator's local workspace is consistent before sharing modules (hosts, scope).
- Stop the server at end of day (
collab_server stop) to avoid ghost connections.
Troubleshooting
- Port in use --- change
-por identify the process withss -tlnp | grep 8080. - Connection refused --- host firewall or overly restrictive
--host. - Workspace out of sync --- reconnect with the same
-w.
collab_connect command
Syntax and options
collab_connect 192.168.10.5 --port 8080 -P "team-password" \
-u alice -w mission-2026 -v
host(required) --- collaboration server address.--port--- port (default 8080).-P / --password--- password if the server requires it.-u / --username--- display nickname in chat (defaultAnonymous).-w / --workspace--- target workspace (must match the server).-v / --verbose--- connection traces.
After successful connection, the framework stores framework.collab_client and switches
current_collab context. Collaborative commands fail without this step.
Disconnect
collab_disconnect
Releases the client and restores local workspace context.
Pair scenario
# Terminal Alice
workspace use dvwa-lab
collab_server -p 9090 -P "team2026" -w dvwa-lab
# Terminal Bob
collab_connect 10.0.0.10 --port 9090 -P "team2026" -u bob -w dvwa-lab
collab_chat
collab_chat command
collab_chat opens an interactive messaging interface linked to the collaborative
workspace. It displays incoming messages in real time and accepts your contributions.
Usage
collab_chat
Prerequisite: connected via collab_connect. Typical internal commands (depending on
version): help, user list, quit (/quit or equivalent shortcut).
Operational use cases
- Coordination --- announce ``I am launching an exploit on 10.0.0.42'' to avoid collisions.
- Context transfer --- share a session identifier or module path without leaving the console.
- Light logging --- chat is not a substitute for the report, but it documents decisions in real time.
Module sharing: collab_share_module and collab_sync_module
Share (collab_share_module)
The lead loads a module, configures options, then publishes to the collaborative workspace:
use auxiliary/scanner/http/xss_scanner
set rhost 10.0.0.20
set rport 443
set ssl true
collab_share_module
Data transmitted: module path, options, __info__ metadata, source code
if new module, timestamp and author.
Synchronize (collab_sync_module)
Peers retrieve the shared module:
collab_sync_module
collab_sync_module --apply-code
- Without
--apply-code--- loads the module and applies shared options. - With
--apply-code--- also writes source code to disk (custom modules or quick fixes).
Advanced collaborative editing
Associated commands (mentioned for completeness):
collab_edit_module start # Start shared editing
collab_sync_edit # View the current edit buffer
collab_sync_edit --apply # Apply changes
Recommended workflow
- Lead:
use+set+checkvalidation. - Lead:
collab_share_module. - Team:
collab_sync_modulethenrunafter scope verification. - Document in the report which operator ran which module.
Guardian: offensive behavioral protection
Guardian and honeypot / AD honeytoken detection are detailed in chapter ยง
(threshold concepts, honeytoken_hunt, false positives). Below: operational recap
and collaboration/MCP integration.
Activation and status
guardian enable
guardian enable --verbose --auto-action
guardian disable
guardian status
guardian config
--verbose--- detailed logging of evaluations.--auto-action--- automatic protective actions (blacklist, critical alerts) without manual confirmation.
Baseline mode
guardian learn --operations 100
Analyzes operation history to refine thresholds (response time, honeypot signatures). Shows model precision evolution.
Host blacklist
guardian blacklist add 192.168.1.50 --reason "Honeypot Cowrie detecte"
guardian blacklist show
guardian blacklist remove 192.168.1.50
Blacklisted hosts are blocked or warned before module execution. Combine with
guardian ack for false positives:
guardian ack 10.0.0.99 --note "Legitimate dev server, high latency"
Alerts
guardian alerts
guardian alerts --count 25
Each alert includes: severity, target, issue, confidence, evidence, recommendations, and possible automatic action.
Manual host test
guardian test 192.168.1.50
guardian test 192.168.1.50 --deep
Produces an investigation report: behavioral analysis, network context, verdict, and recommendation.
Active Directory honeytokens
Guardian tracks suspicious identities via the lastLogon oracle and LDAP signals.
use scanner/ldap/honeytoken_hunt
set rhost dc.corp.local
run
guardian identities show
guardian identities show --min-score 60 --count 50
guardian identities ack DOMAIN\_backup --note "Valid service account"
identities show--- lists high-score accounts (never authenticated, deception signals).identities ack--- marks an account as safe after manual verification.
Integration into the run cycle
When a module targets an IP, Guardian displays a preview before execution: active monitoring, blacklist size, target evaluation. Enable Guardian before large-scale exploitation phases.
MCP: Model Context Protocol
KittySploit exposes the framework to AI assistants via MCP. Main components:
interfaces/mcp_kittysploit_server.py--- MCP server (structured tools).interfaces/mcp_kittysploit_bridge.py--- command / NL planning bridge.kittymcp_client.py--- natural language client (without external MCP).kittymcp_server.py--- standalone server entry point.
MCP security principles
The MCP server enforces:
- Usage charter (
--accept-charteror interactive acceptance). - Encryption via
KITTYSPLOIT_MASTER_KEY. - Explicit consent for dangerous actions (
--dangerous-consent). - Audit log (
ks_mcp_audit).
Typical exposed tools: ks_plan_natural_request, ks_prepare_module_run,
ks_run_module, ks_execute_command, ks_execute_natural_request.
Starting the MCP server
python kittymcp_server.py --host 127.0.0.1 --port 8765 \
--dangerous-consent
Useful environment variables:
export KITTYSPLOIT_MASTER_KEY="your-key"
export KITTYMCP_DANGEROUS_CONSENT=1
export KITTYMCP_OLLAMA_ENABLED=1
export KITTYMCP_OLLAMA_MODEL="llama3.2"
kittymcp_client client
Interactive mode or single query:
python kittymcp_client.py --master-key "KITTYSPLOIT_MASTER_KEY" \
--accept-charter
python kittymcp_client.py "scan ports on 10.0.0.0/24" \
--master-key "KITTYSPLOIT_MASTER_KEY" --run --allow-dangerous
Key options:
--ollama/--no-ollama--- local assisted planning.--run--- executes the first recommended command.--allow-dangerous--- authorizes risky commands.--max-candidates--- limits candidate modules (default 6).
Recommended MCP flow for an AI assistant
ks_plan_natural_request--- interpret intent and target.ks_prepare_module_run--- resolve options and profile (discreet).- Human operator confirmation.
ks_run_module--- execution withclient_idfor logs.ks_mcp_audit--- verify the trace.
Cursor / IDE integration
Configure the KittySploit MCP server in your IDE settings (stdio or SSE). Refer
to project documentation for the exact path and arguments. Test first in planning
mode without dangerous-consent.
plugin command
Plugins extend KittySploit without modifying the framework core. They reside in
plugins/ and are managed by plugin_manager.
Subcommands
plugin list
plugin search tunnel
plugin load ngrok
plugin info ngrok
plugin run ngrok -c 8080
plugin unload ngrok
plugin reload ngrok
plugin create myplugin "Plugin description"
plugin help
Lifecycle
plugin creategenerates a Python skeleton inheriting fromPlugin.- Implement
__info__(name, version, author, dependencies). plugin loadthenplugin runto test.plugin reloadafter file modification.
Example: ngrok tunnel
plugin load ngrok
plugin run ngrok -c 8080
Useful for exposing a reverse shell in the isolated test environment or receiving callbacks on an engagement with explicit egress rules.
Best practices
- Audit source code before
load(no unreviewed arbitrary exec). - Version your custom plugins in a separate repository.
- Document pip dependencies in the plugin README.
irc command: KittySploit community
Connection
irc -u operator_nick
irc --username operator_nick
Connection to the Libera Chat network, channel #KittySploit. Interactive chat interface
with internal commands (help, user list, quit).
Professional use
- Ask questions about modules and workflows.
- Share experience feedback (without client data).
- Follow version announcements and community best practices.
Integrated scenario: remote team with Guardian and MCP
# Lead
workspace create corp-internal-q2
scope add 10.20.0.0/24
guardian enable --verbose
collab_server --host 10.0.0.1 -p 8080 -P "team-secret" -w corp-internal-q2
use auxiliary/scanner/portscan/tcp
set rhosts 10.20.0.0/24
collab_share_module
# Remote consultant
collab_connect vpn.lead.local --port 8080 -P "team-secret" -u remote1 \
-w corp-internal-q2
collab_sync_module
collab_chat
# After scan
guardian alerts
campaign --preview
# AI assistant on lead workstation, valid mandate
python kittymcp_client.py "export the workspace ATT&CK map" \
--master-key "$KITTYSPLOIT_MASTER_KEY"
Command summary table
collab_connect | Connect to a remote server. |
collab_disconnect | Close the collaborative session. |
collab_chat | Real-time workspace messaging. |
collab_share_module | Publish the current module. |
collab_sync_module | Retrieve the shared module. |
guardian enable | Enable behavioral monitoring. |
guardian blacklist | Manage hosts to avoid. |
guardian alerts | View recent alerts. |
guardian identities | Suspicious AD honeytokens. |
kittymcp_client | Natural language / MCP client. |
plugin | Tunnel extensions, third-party tools. |
irc | Community channel #KittySploit. |
Advanced troubleshooting
Collaboration
Not connected to collaboration server--- runcollab_connect.No module has been shared--- lead must runcollab_share_module.- Option desync --- re-share after final
set.
Guardian
- Too many alerts on a known isolated test environment ---
guardian ackorlearn. - Honeytokens not listed --- run
scanner/ldap/honeytoken_huntthenguardian identities show.
MCP
Charter not accepted-----accept-charteror launchkittysploitinteractively once.Encryption not initialized--- provide--master-key.- Blocked actions --- enable
KITTYMCP_DANGEROUS_CONSENT.
Toward outputs
Collaboration produces a team trace; Guardian reduces honeypot false positives; MCP
accelerates preparation. Campaign and reporting commands turn this data into campaign graphs,
ATT&CK exports, and PDF reports via kittyreport.