Skip to main content

An MCP server for AI agents to use during red teaming exercises

Project description

Red-team-mcp

An MCP (Model Context Protocol) server for AI agents to use during red teaming exercises.

Overview

This server provides resources and tools for AI agents to access during red teaming scenarios. It implements the Model Context Protocol to allow AI agents to retrieve information, access tools, and perform actions needed for security testing and evaluation.

Architecture

graph TD
    Agent[AI Agent Client] <--> |MCP Protocol| Server[FastMCP Server]

    subgraph "MCP Server Components"
        Server --> PortScanner[Port Scanner Module]
        Server --> VulnScanner[Vulnerability Scanner Module]
        Server --> SSHTools[SSH Tools Module]
        Server --> Metasploit[Metasploit Integration]
        Server --> DomainDiscovery[Domain Discovery Module]
        Server <--> Database[(MongoDB Database)]
    end

    subgraph "External Tools"
        PortScanner --> Masscan[masscan]
        VulnScanner --> Nuclei[nuclei]
        SSHTools --> SSH[SSH Client]
        Metasploit --> MSFRPC[Metasploit RPC]
        DomainDiscovery --> Subfinder[subfinder]
    end

    Database --> Findings[Findings]

Components

1. Port Scanner

  • Integrates with masscan for high-speed port scanning
  • Allows AI agents to discover open ports and services on target networks
  • Configurable scan parameters (IP ranges, port ranges, scan rate)
  • Results parsing and formatting for agent consumption

2. Vulnerability Scanner

  • Integrates with Nuclei for vulnerability detection
  • Supports custom templates and severity filtering
  • Stores results in MongoDB for fast searching

3. SSH Tools

  • SSH command execution with credential authentication
  • SSH brute force capabilities with username/password lists
  • Results stored with host and port information

4. Metasploit Integration

  • Exploit Database: Pre-populated MongoDB collection with all Metasploit exploits
  • Fast Search: Search exploits by platform, CVE, rank, author, or keywords
  • Exploit Execution: Execute exploits against targets with payload configuration
  • Live Querying: Real-time exploit listing from Metasploit RPC server

Implementation Plan

  1. Set up basic MCP server structure
  2. Implement masscan integration with parameter validation
  3. Create result parsing and storage mechanisms
  4. Add additional components (forthcoming)
  5. Implement logging and monitoring
  6. Build permission and boundary systems

Todos

  • Add nuclei scanner
  • Add SSH scanner
  • Add Metasploit integration
  • Implement fully asynchronous FastMCP server
  • Add tests
  • Prompt for step by step hacking of a machine. (See agents/simple_agent.py)

Setup

installing 3rp party tools

The setup is depending on the following tools

  • mongodb
  • nuclei

Exploit Database Setup

To enable fast exploit searching, populate the Metasploit exploits database:

  1. Prerequisites:

    • Metasploit Framework installed
    • MongoDB running on localhost:27017
    • Metasploit RPC server running: msfrpcd -P msf -a 127.0.0.1
    • Python dependencies: pip install pymetasploit3
  2. Populate Database:

    python scripts/setup_exploits_db.py
    
  3. Test Setup:

    python scripts/test_exploits_db.py
    

This creates a searchable database of all Metasploit exploits with metadata including:

  • CVE references
  • Platform information
  • Exploit rank and author
  • Compatible payloads
  • Required options

Usage

Exploit Search Examples

# Search Windows SMB exploits
search_exploits_fast(platform='windows', search_term='smb')

# Find EternalBlue exploit
search_exploits_fast(cve='CVE-2017-0144')

# Get high-quality exploits
search_exploits_fast(rank='excellent')

# Search by author
search_exploits_fast(author='hdm')

Development

Details on extending the server with new tools and resources will be added.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_skjortan23_red_team_mcp-0.1.2.tar.gz (82.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_skjortan23_red_team_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: iflow_mcp_skjortan23_red_team_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 82.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_skjortan23_red_team_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 252f71017190de96b08576c2fd243e2b33ef257a0962a931da6abd4285913473
MD5 8ce4a3e502c71712cb8c7a1bf648ef5d
BLAKE2b-256 e8a7562489d5289a26355eb8d5d18f7a6c0e41bf5ebba3de55c832613dc7970b

See more details on using hashes here.

File details

Details for the file iflow_mcp_skjortan23_red_team_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_skjortan23_red_team_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 78.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_skjortan23_red_team_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 48345e6450a4a727861a9c3164286fad909f1f6e7e61a9c58976d34c81195169
MD5 487da88140a44a0e23cb21f747dfb1a3
BLAKE2b-256 1e9b7d413b3d7e6d9680eef6485878664d787ea066328d6578a67a1f27471822

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page