Questo è uno script Proof-of-Concept (PoC) che dimostra un exploit di deserializzazione ViewState per CVE-2025-30406 in applicazioni ASP.NET. Utilizza ysoserial per generare un payload ViewState dannoso e lo invia a un URL specificato dall'utente per eseguire un comando fornito. Per risultati ottimali, l'output del comando può essere esfiltrato verso un server HTTP personalizzato (server.py) in esecuzione su un VPS, che mostra i risultati in un formato stilizzato con timestamp, prompt verdi e testo di output bianco. Questo script è destinato esclusivamente a scopi educativi e deve essere utilizzato solo su sistemi per i quali si dispone di autorizzazione esplicita per eseguire test di sicurezza. L'uso non autorizzato è illegale e non etico.
Dettagli CVE
CVE ID: CVE-2025-30406
Descrizione: una vulnerabilità di deserializzazione nella gestione di ViewState in ASP.NET che consente l'esecuzione di codice remoto quando sono note una chiave di convalida e un generatore validi.
Sistemi interessati: applicazioni ASP.NET con configurazioni ViewState vulnerabili.
Prerequisiti per lo sfruttamento:
Accesso a una chiave di convalida e un generatore ViewState validi.
Un endpoint vulnerabile che accetta parametri ViewState.
Contenuti del Repository
exploit.py: lo script PoC principale per generare e inviare il payload ViewState.
Assicurati che il firewall del VPS consenta il traffico in entrata sulla porta 8000:
root@kitploit:~
sudo ufw allow 8000
Prendi nota dell'IP pubblico o del dominio del VPS (ad esempio http://tuo-vps-ip:8000) da usare con il flag -e in exploit.py.
Utilizzo
Esecuzione dell'Exploit
Esegui exploit.py con gli argomenti richiesti. Il flag -e è opzionale ma fortemente consigliato per esfiltrare l'output del comando verso server.py per una visualizzazione stilizzata.
Sul tuo VPS o macchina locale, avvia il server HTTP per ricevere l'output esfiltrato:
root@kitploit:~
python3 server.py
Il server mostrerà l'output del comando con timestamp, un prompt $ verde e testo bianco per una migliore leggibilità.
Come Funziona
Script di exploit (exploit.py):
Utilizza ysoserial con una chiave di convalida e un generatore hardcoded per creare un payload ViewState.
Se viene fornito -e, il comando viene avvolto per catturare l'output e inviarlo all'URL di callback tramite Invoke-WebRequest.
Invia il payload all'URL di destinazione in una richiesta POST, incorporato nel parametro __VIEWSTATE.
Stampa lo stato della risposta del server e una porzione del corpo della risposta.
Server HTTP (server.py):
Ascolta le richieste GET contenenti l'output del comando.
Decodifica il percorso URL e lo divide in righe.
Stampa ogni riga con un timestamp, un prompt $ verde e un testo di output bianco.
Risponde con HTTP 200 e 'OK'.
Avviso sull'Uso Etico
Questo script è un proof-of-concept per CVE-2025-30406 per scopi educativi e di test di sicurezza autorizzati.
Non utilizzare questo script su sistemi senza esplicita autorizzazione del proprietario del sistema.
L'uso improprio può violare leggi, tra cui il Computer Fraud and Abuse Act (CFAA) negli Stati Uniti o leggi simili altrove.
Ottieni sempre il consenso scritto prima di testare qualsiasi sistema.
Segnala le vulnerabilità in modo responsabile attraverso la divulgazione coordinata o programmi di bug bounty.
Limitazioni
La chiave di convalida e il generatore hardcoded potrebbero funzionare solo per specifiche applicazioni vulnerabili. Gli utenti potrebbero aver bisogno di valori specifici dell'applicazione.
L'exploit prende di mira applicazioni ASP.NET vulnerabili alla deserializzazione ViewState.
Lo script presuppone che il server di destinazione elabori correttamente il payload ViewState.
La compatibilità multipiattaforma dipende dalla disponibilità di ysoserial (principalmente basato su Windows).
L'esfiltrazione richiede un server accessibile pubblicamente per l'URL di callback -e.
Licenza
Questo progetto è concesso in licenza con licenza MIT. Consulta il file LICENSE per i dettagli.
Contatti
Per domande o feedback, apri un problema (issue) su questo repository.