BloodHound MCP: Integrando Claude con BloodHound
Introducción
Hace unas 2 semanas me enteré de la existencia de un servidor MCP (Model Context Protocol) para BloodHound, el cual nos permite integrarlo con Claude. A continuación, comparto las publicaciones que leí al respecto:
Artículo de SpecterOps: BloodHound MCP: One Year Later — What I Learned About MCPs, Models, and Context
Repositorio de GitHub: BloodHound MCP: Repositorio de GitHub
¿Qué es esto?
El MCP de BloodHound permite consultar tus datos de Active Directory en lenguaje natural desde Claude Desktop. En lugar de escribir queries Cypher manualmente, le preguntas directamente a Claude cosas como “muéstrame todos los Domain Admins” o “encuentra usuarios kerberoasteables”.
Prerrequisitos
- Claude Desktop (plan Pro)
- BloodHound Community Edition corriendo localmente
- Datos ya importados en BH CE (output de RustHound o bloodhound-python)
- Git o acceso a GitHub para descargar el repo
Cabe mencionar que también he visto a colegas utilizarlo con otros LLMs, así que estaré investigando un poco más y les compartiré si encuentro algo interesante.
Implementación
Paso 1: Clonar el repositorio
1
2
git clone https://github.com/mwnickerson/bloodhound_mcp.git
cd bloodhound_mcp
Paso 2: Generar el API Token en BH CE
En la UI de BloodHound:
1
My Profile → Authentication : Api Key Management → Create Token
Guarda los valores KEY & ID.
Paso 3: Crear el archivo .env
Dentro de la carpeta del repositorio que clonamos, necesitamos crear un .env
1
2
3
4
5
6
7
@"
BLOODHOUND_DOMAIN=localhost
BLOODHOUND_TOKEN_KEY=tu-token-key-aqui
BLOODHOUND_TOKEN_ID=tu-token-id-aqui
BLOODHOUND_PORT=8080
BLOODHOUND_SCHEME=http
"@ | Out-File -FilePath .env -Encoding utf8
Coloca los valores que generaste en el Paso 2
Paso 4: Instalar uv
En Powershell
1
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
En Linux
1
curl -LsSf https://astral.sh/uv/install.sh | sh
Con uv instalado, ahora necesitamos realizar la integración del MCP de BloodHound con Claude Desktop:
Paso 5: Configurar Claude Desktop
Abrimos el Claude Desktop:
1
Settings → Developer → Edit Config
Esto nos abrirá los archivos de configuración y el que tocaremos especificamente será claude_desktop_config.json y agregamos el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"mcpServers": {
"bloodhound_mcp": {
"command": "uv",
"args": [
"--directory",
"D:\\bloodhound_mcp",
"run",
"main.py"
]
}
}
}
Asegurarse de en los
argsestar apuntando al directorio correcto donde tienen clonado el repositorio.
Paso 6: Reiniciar Claude Desktop
Cierra Claude Desktop completamente desde la bandeja del sistema (click derecho → Quit, no solo la X) y vuelve a abrirlo.
Pruebas Funcionales
Ahora es momento de probar su funcionamiento, lo primero que debemos hacer es subir un .zip generado por cualquier colector (RustHound, SharpHound, etc)
Ahora, desde Claude Desktop:
Conclusiones
La integración de BloodHound MCP con Claude Desktop marca una gran diferencia en la velocidad con la que podemos interrogar a Neo4j durante una auditoría de Active Directory:
- Abstracción de Cypher: Elimina la necesidad de memorizar consultas complejas en Cypher para búsquedas rápidas.
- Velocidad y Comodidad: Consultar rutas de ataque o cuentas críticas mediante lenguaje natural acelera drásticamente la fase de análisis.
- Criterio Profesional: Recuerda que la IA es un copiloto. Siempre debes verificar manualmente las rutas sugeridas por Claude para descartar alucinaciones o interpretaciones erróneas.
Referencias
Gracias por leer, espero que te sirva. Si tienes alguna duda, sugerencia, corrección o simplemente quieres compartir algo al respecto, tienes mis redes para contactarme.
Frase para finalizar:
“Solo podemos ver un poco del futuro, pero lo suficiente para darnos cuenta de que hay mucho que hacer”
— Alan Turing













