loading…
Search for a command to run...
loading…
Enables AI assistants to perform Active Directory reconnaissance by enumerating users, groups, computers, trusts, and password policies using ldapdomaindump on
Enables AI assistants to perform Active Directory reconnaissance by enumerating users, groups, computers, trusts, and password policies using ldapdomaindump on a remote Kali host via SSH.
A Model Context Protocol (MCP) server that provides AI assistants with access to ldapdomaindump, a powerful Active Directory LDAP enumeration tool commonly used in penetration testing and security assessments.
This MCP server enables AI assistants to perform Active Directory reconnaissance by enumerating:
The server executes commands on a remote Kali Linux host via SSH, making it ideal for setups where the AI assistant runs on a different machine than the pentesting environment.
┌─────────────┐ SSH ┌─────────────┐ LDAP ┌─────────────┐
│ MCP Host │ ────────────> │ Kali │ ─────────────> │ Domain │
│ (Claude) │ │ Linux │ │ Controller │
└─────────────┘ └─────────────┘ └─────────────┘
pip install ldapdomaindump
git clone https://github.com/schwarztim/sec-ldapdomaindump-mcp.git
cd sec-ldapdomaindump-mcp
npm install
npm run build
| Variable | Description | Default |
|---|---|---|
KALI_HOST |
SSH hostname or alias for Kali | kali |
LDAP_OUTPUT_DIR |
Directory on Kali for output files | /tmp/ldapdomaindump |
Ensure you have SSH key-based access to your Kali host:
# Add to ~/.ssh/config
Host kali
HostName 192.168.1.100
User root
IdentityFile ~/.ssh/kali_key
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ldapdomaindump": {
"command": "node",
"args": ["/path/to/sec-ldapdomaindump-mcp/dist/index.js"],
"env": {
"KALI_HOST": "kali",
"LDAP_OUTPUT_DIR": "/tmp/ldapdomaindump"
}
}
}
}
ldapdomaindump_dumpPerform a full LDAP domain dump - enumerates all objects and outputs HTML, JSON, and greppable files.
ldapdomaindump_usersEnumerate domain users with attributes like SAM account name, display name, last logon, and account status.
ldapdomaindump_groupsEnumerate domain groups and their memberships.
ldapdomaindump_computersEnumerate domain computers with OS information and DNS hostnames.
ldapdomaindump_trustsEnumerate domain trust relationships.
ldapdomaindump_policiesGet domain password policies including lockout thresholds and complexity requirements.
ldapdomaindump_read_outputRead previously generated output files from the Kali host.
ldapdomaindump_ldd2prettyConvert JSON output to enum4linux-like readable format using ldd2pretty.
ldapdomaindump_checkVerify ldapdomaindump installation and SSH connectivity.
Use ldapdomaindump_dump with:
- hostname: 10.10.10.1
- username: CORP\jsmith
- password: Password123
Use ldapdomaindump_users with:
- hostname: dc01.corp.local
- username: CORP\enumuser
- password: EnumPass!
- useSsl: true
Use ldapdomaindump_dump with:
- hostname: 10.10.10.1
- username: CORP\administrator
- password: aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
- authType: NTLM
ldapdomaindump generates several output files:
| File | Description |
|---|---|
domain_users.json |
All user accounts |
domain_groups.json |
All groups and memberships |
domain_computers.json |
All computer accounts |
domain_trusts.json |
Domain trust relationships |
domain_policy.json |
Password and lockout policies |
domain_users_by_group.json |
Users organized by group (with --grouped-json) |
domain_computers_by_os.json |
Computers organized by OS (with --grouped-json) |
# Test SSH connectivity
ssh kali "echo 'Connected'"
# Verify ldapdomaindump is installed
ssh kali "which ldapdomaindump"
DOMAIN\username or [email protected]MIT License - See LICENSE for details.
This tool is provided for educational and authorized security testing purposes only. Users are responsible for ensuring they have proper authorization before using this tool against any systems. Unauthorized access to computer systems is illegal.
Выполни в терминале:
claude mcp add ldapdomaindump-mcp-server -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.