Rubeus MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Rubeus MCP Server kerberoast for corp.local"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Rubeus MCP Server
A Model Context Protocol (MCP) server for Kerberos abuse operations using Rubeus on Windows or Impacket on Linux/macOS.
Overview
This MCP server provides comprehensive tools for Kerberos-based security testing, wrapping the functionality of Rubeus (Windows) and Impacket (cross-platform) into a unified interface accessible through the Model Context Protocol.
Security Warning: This tool is intended for authorized security testing only. Unauthorized use against systems you do not own or have permission to test is illegal and unethical.
Related MCP server: Vulnerable MCP Server
Features
Ticket Operations
asktgt - Request Ticket Granting Tickets (TGT) using passwords, hashes, or certificates
asktgs - Request Service Tickets (TGS) for specific SPNs
renew - Renew existing TGTs to extend validity
ptt - Pass-the-ticket to apply tickets to current session
purge - Remove tickets from logon sessions
describe - Parse and analyze ticket contents
Roasting Attacks
kerberoast - Extract service account password hashes via TGS requests
asreproast - Attack accounts without Kerberos pre-authentication
Ticket Extraction
dump - Extract all tickets from memory
triage - Quick summary of available tickets
klist - Detailed ticket listing
harvest - Continuously monitor and harvest new TGTs
monitor - Watch for new TGT events
tgtdeleg - Extract TGT without elevation using delegation trick
Delegation Abuse
s4u - Perform S4U2Self/S4U2Proxy constrained delegation attacks
Bronze Bit exploitation (CVE-2020-17049)
Ticket Forgery
golden - Forge Golden Tickets with krbtgt hash
silver - Forge Silver Tickets with service account hash
diamond - Forge Diamond Tickets (modified legitimate TGT)
Utilities
hash - Calculate Kerberos password hashes (RC4, AES128, AES256, DES)
changepw - Change user passwords using TGT
createnetonly - Create processes with different network credentials
tgssub - Substitute service names in tickets
Installation
Prerequisites
Windows (Native Rubeus):
Download Rubeus.exe from GhostPack
.NET Framework 4.0+
Linux/macOS (Impacket):
pip install impacketSetup
# Clone the repository
git clone https://github.com/schwarztim/sec-rubeus-mcp.git
cd sec-rubeus-mcp
# Install dependencies
npm install
# Build
npm run buildConfiguration
Configure via environment variables:
Variable | Description | Default |
| Path to Rubeus.exe (Windows) |
|
| Path to impacket scripts | System PATH |
| Directory for output files |
|
| Default AD domain | None |
| Default domain controller | None |
| Command timeout (ms) |
|
| Force impacket mode | Auto-detected |
Usage with Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"rubeus": {
"command": "node",
"args": ["/path/to/sec-rubeus-mcp/dist/index.js"],
"env": {
"RUBEUS_DOMAIN": "corp.example.com",
"RUBEUS_DC": "dc01.corp.example.com"
}
}
}
}Usage with Claude Code
Add to your MCP configuration:
{
"rubeus": {
"command": "node",
"args": ["/path/to/sec-rubeus-mcp/dist/index.js"],
"env": {
"RUBEUS_DOMAIN": "corp.example.com"
}
}
}Examples
Check Environment
Use rubeus_check_environment to verify your setupRequest a TGT
Use rubeus_asktgt with:
- user: "admin"
- domain: "corp.example.com"
- password: "Password123"Kerberoasting
Use rubeus_kerberoast with:
- domain: "corp.example.com"
- outfile: "hashes.txt"AS-REP Roasting
Use rubeus_asreproast with:
- domain: "corp.example.com"
- format: "hashcat"S4U Delegation Attack
Use rubeus_s4u with:
- user: "svc_account"
- rc4: "<ntlm_hash>"
- impersonateuser: "Administrator"
- msdsspn: "cifs/fileserver.corp.example.com"Cross-Platform Support
Feature | Windows (Rubeus) | Linux/macOS (Impacket) |
asktgt | Full | Full |
asktgs | Full | Full |
kerberoast | Full | Full |
asreproast | Full | Full |
s4u | Full | Full |
dump | Full | Via secretsdump |
Golden/Silver tickets | Full | Limited |
Ticket manipulation | Full | Limited |
Development
# Watch mode for development
npm run dev
# Build
npm run build
# Run tests
npm testSecurity Considerations
All tools require appropriate authorization before use
Output files may contain sensitive data (tickets, hashes)
Credentials are not logged, but ticket data may be captured
Use in isolated test environments when possible
Follow responsible disclosure practices
License
MIT License - see LICENSE file for details.
Acknowledgments
GhostPack/Rubeus - The original Rubeus toolkit by harmj0y
Impacket - Python classes for network protocols by Fortra
Model Context Protocol - The MCP specification by Anthropic
Disclaimer
This tool is provided for educational and authorized security testing purposes only. The authors are not responsible for misuse or damage caused by this tool. Always obtain proper authorization before testing systems you do not own.
Available Tools
27 toolsrubeus_asktgsA
Request Service Tickets (TGS) for specified Service Principal Names (SPNs).
Requires a valid TGT (provided as ticket parameter or from current session). Can request tickets for multiple SPNs in one operation.
Use cases:
Access specific services after obtaining TGT
Kerberoasting alternative (request specific SPN tickets)
S4U2Self/S4U2Proxy prerequisite
Inputs: service (required), ticket, domain, dc, +12 more.
rubeus_asktgtA
Request a Ticket Granting Ticket (TGT) using user credentials.
Supports multiple authentication methods:
Password-based (cleartext or encrypted)
Hash-based (RC4/NTLM, AES128, AES256, DES)
Certificate-based (PKINIT)
The TGT can be saved to a file, applied to the current session (PTT), or returned as base64.
Example use cases:
Obtain TGT for lateral movement
Test credential validity
Support subsequent ticket operations
Inputs: user (required), domain, password, rc4, +13 more.
rubeus_asrep2kirbiB
Convert an AS-REP response to kirbi ticket format.
Takes a raw AS-REP response and converts it to a usable kirbi ticket using the provided key.
Inputs: asrep (required), key, keyhex, enctype, +4 more.
rubeus_asreproastB
Perform AS-REP Roasting against accounts that don't require pre-authentication.
Targets accounts with "Do not require Kerberos preauthentication" enabled. The AS-REP response contains data encrypted with the user's password hash.
Features:
Target specific users or enumerate vulnerable accounts
Output in hashcat or John format
OU-based targeting
Output format: hashcat mode 18200 or John (jumbo).
Inputs: user, domain, dc, ou, +8 more.
rubeus_changepwA
Change/reset a user's password using a TGT.
Uses the Kerberos Set Password protocol (Aorato technique) to change a user's password with just their TGT.
Can target other users with appropriate permissions.
Inputs: ticket (required), new (required), dc, targetuser, +1 more.
rubeus_check_environmentA
Check the current environment and available tools.
Detects whether running on Windows (native Rubeus) or Linux/macOS (impacket mode). Lists available tools and configuration.
Inputs: no named parameters.
rubeus_createnetonlyA
Create a new process with network credentials (logon type 9).
Creates a process that uses different credentials for network authentication. Useful for applying tickets to a separate process.
The process can be hidden or visible.
Inputs: program (required), show, ticket, domain, +2 more.
rubeus_currentluidA
Display the current user's Logon Unique ID (LUID).
Returns the LUID of the current logon session, which is needed for various ticket operations.
Inputs: no named parameters.
rubeus_describeA
Parse and display detailed information about a Kerberos ticket.
Can decrypt ticket contents if the appropriate key is provided. Useful for analyzing captured tickets.
Inputs: ticket (required), servicekey, krbkey, asrepkey, +2 more.
rubeus_diamondA
Forge a Diamond Ticket (modified legitimate TGT).
Requests a legitimate TGT and then modifies it with new PAC data. More stealthy than golden tickets as it starts with a real ticket.
Requires krbtgt key for re-signing.
Inputs: domain (required), krbkey (required), user, password, +14 more.
rubeus_dumpA
Dump all Kerberos tickets from memory (current or all sessions).
Extracts tickets from the current logon session or, with elevation, from all logon sessions on the system.
Tickets are output as base64-encoded kirbi format.
Inputs: luid, user, service, server, +1 more.
rubeus_goldenA
Forge a Golden Ticket (forged TGT with krbtgt hash).
Creates a TGT that grants domain-wide access. Requires:
Domain SID
krbtgt account hash (RC4 or AES)
Target username and domain
The golden ticket bypasses normal authentication and can be used for persistent domain access.
Inputs: user (required), domain (required), sid, rc4, +17 more.
rubeus_harvestB
Continuously monitor for and harvest new TGTs.
Runs in a loop, extracting new TGTs as they appear and optionally auto-renewing them to maintain access.
Useful for capturing tickets from other users logging in.
Inputs: monitorinterval, displayinterval, targetuser, nowrap, +2 more.
rubeus_hashA
Calculate Kerberos password hashes from plaintext.
Computes the various Kerberos encryption keys from a password:
RC4_HMAC (NTLM)
AES128_CTS_HMAC_SHA1
AES256_CTS_HMAC_SHA1
DES_CBC_MD5
These hashes can be used for ticket requests and other operations.
Inputs: password (required), user, domain.
rubeus_kerberoastA
Perform Kerberoasting attack to extract service account password hashes.
Requests TGS tickets for accounts with SPNs, which are encrypted with the service account's password hash. These can be cracked offline.
Features:
Target specific users or all SPN accounts
AES vs RC4 OPSEC considerations
Statistics mode for reconnaissance
LDAP filtering for targeted attacks
Password age filtering
Output format compatible with hashcat (mode 13100/19700) or John.
Inputs: domain, dc, user, spn, +19 more.
rubeus_kirbiB
Modify a kirbi ticket's session key.
Changes the session key in an existing kirbi ticket. Useful for advanced ticket manipulation.
Inputs: kirbi (required), sessionkey (required), sessionetype, ptt, +3 more.
rubeus_klistA
List detailed information about Kerberos tickets.
Similar to the native klist command but with more detail and filtering options.
Inputs: luid, user, service, server.
rubeus_logonsessionC
Display information about logon sessions.
Shows detailed information about the current or specified logon session.
Inputs: current, luid.
rubeus_monitorA
Monitor for new TGTs without harvesting/renewal.
Watches for new TGT events and displays them as they occur. Lighter weight than harvest - just observation.
Inputs: interval, targetuser, nowrap, registry, +1 more.
rubeus_pttA
Pass-the-ticket: Apply a Kerberos ticket to the current logon session.
Imports a ticket (from base64 or .kirbi file) into the current session, enabling access to resources as the ticket's principal.
Inputs: ticket (required), luid.
rubeus_purgeA
Purge Kerberos tickets from a logon session.
Removes all tickets from the current session, or with elevation, from a specific LUID.
Inputs: luid.
rubeus_renewA
Renew an existing TGT to extend its validity period.
Can optionally auto-renew continuously until the renewable lifetime expires. Useful for maintaining persistent access without re-authentication.
Inputs: ticket (required), dc, outfile, ptt, +2 more.
rubeus_s4uA
Perform S4U (Service for User) constrained/unconstrained delegation abuse.
Implements:
S4U2Self: Obtain service ticket to yourself on behalf of another user
S4U2Proxy: Use constrained delegation to obtain ticket to target service
This is a powerful technique for privilege escalation when you control an account with delegation rights.
Supports:
User-based authentication (password/hash)
Ticket-based authentication
Bronze Bit exploitation (CVE-2020-17049)
OPSEC-safe options
Inputs: impersonateuser (required), user, domain, rc4, +19 more.
rubeus_silverA
Forge a Silver Ticket (forged TGS with service account hash).
Creates a service ticket for a specific service. Requires:
Service account hash
Service SPN
Domain information
Silver tickets grant access to a specific service without touching the DC.
Inputs: user (required), domain (required), service (required), id, +16 more.
rubeus_tgssubA
Substitute the service name in a service ticket.
Replaces the SPN in an existing TGS with a different service name. Useful when you have a ticket for one service but need access to another on the same server (requires same service account).
Inputs: ticket (required), altservice (required), srealm, ptt, +2 more.
rubeus_tgtdelegA
Extract a usable TGT for the current user without elevation.
Uses Kerberos GSS-API to abuse the delegation mechanism and retrieve the current user's TGT. This is the "tgt::deleg" technique from Kekeo.
No admin/elevation required - works with standard user permissions. The extracted TGT can be used for pass-the-ticket attacks.
Inputs: target, nowrap.
rubeus_triageA
Display a quick summary of all tickets in current/all sessions.
Shows ticket information without full extraction - useful for reconnaissance of what tickets are available.
Inputs: luid, user, service, server.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 27 tools
Several tools operate on tickets from memory (dump, harvest, monitor, triage, klist) and multiple forging tools exist (golden, diamond, silver), so there is real overlap in purpose. The detailed descriptions clarify the differences, but an agent could still misselect between similarly scoped options.
All tools share a consistent rubeus_ prefix and lowercase snake_case format. The naming is predictable, but minor deviations exist: check_environment uses an underscore where other multiword commands are concatenated (e.g., createnetonly, currentluid), and some names are nouns rather than verbs.
27 tools is above the typical MCP range and several are niche support operations (currentluid, logonsession, check_environment). However, the count reflects the breadth of the underlying Rubeus command set and each tool maps to a distinct capability, so it is borderline rather than excessive.
The tool surface covers the full offensive Kerberos lifecycle: authentication, ticket requests, roasting, delegation, extraction, monitoring, forging, ticket manipulation, renewal, pass-the-ticket, and purging. There are no obvious missing operations that would create dead ends for common workflows.
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceBurpSuite MCP Server: A powerful Model Context Protocol (MCP) server implementation for BurpSuite, providing programmatic access to Burp's core functionalities.89MIT
- FlicenseNot gradedqualityDmaintenanceA deliberately insecure MCP server designed as a pentest lab to demonstrate common vulnerabilities in MCP deployments.-
- AlicenseBqualityCmaintenanceA Model Context Protocol server for the Sliver C2 framework that exposes operator tools like listeners, implant generation, sessions, command execution, and file operations for LLM-driven adversary emulation.371MIT
- FlicenseAqualityBmaintenanceCross-platform MCP server for policy-controlled command execution on Linux and Windows, with no SSH dependency.3-