Strumento di rilevamento e sfruttamento della vulnerabilità CVE-2025-55182
Introduzione al progetto
Questo strumento è un'applicazione GUI sviluppata con Java Swing per rilevare e sfruttare la vulnerabilità CVE-2025-55182. Tale vulnerabilità è un difetto di sicurezza nel framework Next.js che consente a un attaccante di eseguire comandi arbitrari tramite richieste appositamente costruite.
Caratteristiche
1. Rilevamento della vulnerabilità
- Supporto per scansione batch di URL
- Scansione concorrente multi-thread per aumentare la velocità di rilevamento
- Visualizzazione in tempo reale dello stato di avanzamento e del conteggio (es.: 1/1000 (0%))
- Mostra solo i target vulnerabili, filtrando le informazioni irrilevanti
- Supporto per importazione di file per rilevamento batch
- Funzione di arresto della scansione
2. Esecuzione comandi
- Supporto per esecuzione di comandi Linux/Windows
- Selezione automatica o manuale del sistema operativo target
- Visualizzazione in tempo reale dei risultati dell'esecuzione
3. Iniezione di web shell (memory shell)
- Supporto per iniezione di web shell semplice per esecuzione comandi
- Supporto per iniezione di web shell Godzilla (con crittografia RC4)
- Generazione automatica delle informazioni di connessione e delle istruzioni d'uso
4. Reverse shell
- Supporto per reverse shell su Linux/Windows
- Supporto per comandi di reverse shell personalizzati
- Varie modalità di reverse (named pipe Linux, PowerShell Windows)
Architettura tecnica
- Linguaggio di sviluppo: Java
- Framework GUI: Swing
- Comunicazione di rete: HttpURLConnection
- Gestione concorrenza: Thread pool ExecutorService
- Gestione del progetto: Maven
Requisiti di sistema
- JDK 8 o superiore
- Maven 3.6 o superiore
Compilazione ed esecuzione
1. Compilare il progetto
# Entrare nella directory del progetto
cd CVE202555182GUI
# Compilare e impacchettare
mvn clean package
2. Eseguire lo strumento
# Eseguire il file JAR eseguibile con le dipendenze
java -jar target/CVE202555182GUI-1.0-SNAPSHOT-jar-with-dependencies.jar
Istruzioni per l'uso
Rilevamento della vulnerabilità
- Inserire uno o più URL target nella casella di testo "URL target" (uno per riga)
- Oppure fare clic sul pulsante "Importa file" e selezionare un file contenente l'elenco di URL
- Fare clic sul pulsante "Avvia scansione" per iniziare l'analisi
- I risultati della scansione vengono visualizzati nell'area "Risultati scansione" sottostante
- È possibile fare clic sul pulsante "Arresta scansione" per interrompere il processo
Esecuzione comandi
- Inserire l'URL target
- Inserire il comando da eseguire
- Selezionare il sistema operativo target (auto/linux/windows)
- Fare clic sul pulsante "Esegui comando"
- Il risultato dell'esecuzione viene visualizzato nell'area "Risultato esecuzione" sottostante
Iniezione di web shell
- Inserire l'URL target
- Selezionare il tipo di web shell (semplice esecuzione comandi / Godzilla web shell)
- Selezionare il sistema operativo target (auto/linux/windows)
- Fare clic sul pulsante "Inietta web shell"
- Il risultato dell'iniezione e le informazioni di connessione vengono visualizzati nell'area "Risultato iniezione" sottostante
Reverse shell
- Inserire l'URL target
- Inserire l'IP e la porta per il reverse shell
- Selezionare il sistema operativo target (linux/windows)
- Opzionale: inserire un comando di reverse shell personalizzato
- Fare clic sul pulsante "Inietta reverse shell"
- Il risultato dell'iniezione viene visualizzato nell'area "Risultato iniezione" sottostante
Principio della vulnerabilità
La vulnerabilità CVE-2025-55182 è causata da un difetto di sicurezza nel framework Next.js durante la gestione di richieste specifiche. Un attaccante può eseguire comandi arbitrari sul lato server costruendo una richiesta multipart/form-data maliziosa.
Lo strumento rileva la vulnerabilità attraverso i seguenti passaggi:
- Costruisce una richiesta contenente un payload di esecuzione comandi
- La invia al percorso
/_next/data del server target
- Verifica se la risposta contiene il risultato previsto dell'esecuzione comandi
- Determina se la vulnerabilità è presente in base al risultato
Progetti di riferimento
Questo progetto si basa sui seguenti progetti open source:
- ReactExploitGUI - Fornisce le idee principali e i metodi di implementazione per lo sfruttamento della vulnerabilità
Avviso di sicurezza
- Questo strumento è destinato esclusivamente a test di sicurezza e penetration test autorizzati
- Si prega di rispettare le leggi e i regolamenti pertinenti durante l'utilizzo
- Non utilizzare questo strumento su target non autorizzati
- Al termine dei test, pulire tempestivamente le web shell iniettate
Note importanti
- Velocità di scansione: per impostazione predefinita vengono utilizzati 10 thread concorrenti; regolare in base all'ambiente di rete
- Timeout: il timeout predefinito è di 10 secondi; regolare in base all'ambiente di rete
- Connessione web shell: quando si utilizza Godzilla web shell, è necessario scaricare il plugin di connessione Node.js corrispondente
- Reverse shell: avviare la porta di ascolto corrispondente localmente (es.:
nc -lvvp 4444)
Risoluzione dei problemi
Problemi comuni e soluzioni
-
La barra di avanzamento della scansione non si muove
- Verificare che l'URL target sia corretto
- Verificare che la connessione di rete sia normale
- Provare a ridurre il numero di thread concorrenti
-
Esecuzione comandi fallita
- Confermare che il target sia vulnerabile
- Confermare che la selezione del sistema operativo sia corretta
- Controllare che il comando rispetti la sintassi del sistema target
-
Iniezione web shell fallita
- Confermare che il target sia vulnerabile
- Verificare che la connessione di rete sia stabile
- Provare a utilizzare un tipo diverso di web shell
-
Reverse shell non riesce a connettersi
- Confermare che la porta di ascolto locale sia stata avviata
- Verificare le impostazioni del firewall di rete
- Confermare che l'IP e la porta del reverse shell siano impostati correttamente
- Provare a utilizzare un comando di reverse shell personalizzato
Cronologia versioni
- v1.0.0: Versione iniziale
- Implementazione delle funzionalità di base di rilevamento della vulnerabilità
- Implementazione della funzionalità di esecuzione comandi
- Implementazione della funzionalità di iniezione web shell
- Implementazione della funzionalità di reverse shell
Disclaimer
Questo strumento è destinato esclusivamente a scopi educativi e test di sicurezza autorizzati. Non utilizzarlo per scopi illegali. L'utente è l'unico responsabile per qualsiasi conseguenza derivante dall'uso di questo strumento.
Contatti
Per domande o suggerimenti, contattare l'autore.