Tool Family: cracking
- Registration source:
tools/mcp_tools/cracking.py:18 register_cracking_tools(mcp, *, ctx)— auto-discovered. First-class hashcat/john execution wrapper;hash_crack_identifyonly suggests commands, this tool runs the cracker locally and returns plaintext. - Gate:
@audit_toolonly (local-only — no target touch, no allowlist). Advisory; never reaches network.
Tools Exported (1)
| Tool | Params | Result Shape | Notes |
|---|---|---|---|
run_hash_crack | hash_value: str, tool: str="hashcat" (`hashcat | john), hash_mode: str="", wordlist: str="", rules: str="", timeout: int=600` | `CRACK_RESULT: completed |
_identify_hash_modes Mapping
Single source shared with hash_crack_identify: NTLM 1000 (32-hex), NetNTLMv2 5600, Kerberos TGS 13100/19900, AS-REP 18200/19900, MD5 0, SHA1 100, SHA256 1400, SHA512 1700, bcrypt 3200, sha512crypt 1800, md5crypt 500, Cisco 9/4, MSSQL 132/1731, Argon2 N/A (john), scrypt 8900, Django PBKDF2 12100, PDF 10400, Office 9400, WPA 22000, LM 3000 (only when nothing else matched).
Dependencies
tools/mcp_tools/attack_modules._identify_hash_modestools/kernel/workspace._attempt_dir,tools/mcp_shared._run_with_pgrp_timeoutshutil.which
Config
exploit.wordlist: str— default wordlist path overrideexploit.require_explicit_allowlistnot applicable (local-only)- No hash-specific config; wordlist/rules paths are caller-supplied.
Auditing
@audit_toolrecordsstarted/completed|blockedwith redacted args (no secrets in this family's args —hash_valueitself is hashed material, not a password, but still logged;wordlist/rulespaths not redacted). No target IP;_extract_audit_targetfinds nothing so audit has emptytarget_ip.
Validation
- Empty
hash_value→BLOCKED: hash_value is required. - Unsupported
tool→BLOCKED: unsupported tool '...' Allowed: hashcat, john. - Unidentifiable hash without explicit
hash_mode→BLOCKED: could not identify... - Not installed →
CRACKER_NOT_INSTALLED
Tests
tests/test_mcp_cracking.py:21-202— hash-type identification (NTLM, bcrypt, Kerberos TGS/ASREP, SHA256, unknown, 32-hex precedence), registration vialist_tools, auto-resolve NTLM mode mock,--showparsing for hashcat/john, block on unknown, reject unsupported tool, not-installed pathtests/test_mcp_tool_registration.py— expectsrun_hash_crack
Related Docs
docs/mcp/tool-families/attack-modules.md—hash_crack_identifyadvisory counterpartdocs/mcp/tool-families/credentials.md— dump → crack flow
source: repo docs (build sync)Edit this page on GitHub →