CVE-2025-55182 Schwachstellenerkennungs- und Ausnutzungswerkzeug
Projektbeschreibung
Dieses Tool ist ein GUI-Tool, das auf Java Swing basiert und zur Erkennung und Ausnutzung der Schwachstelle CVE-2025-55182 entwickelt wurde. Diese Schwachstelle ist ein Sicherheitsproblem im Next.js-Framework, das es Angreifern ermöglicht, durch spezifische Anfragekonstrukte beliebige Befehle auszuführen.
Funktionen
1. Schwachstellenerkennung
- Unterstützt Massen-URL-Scan
- Paralleles Scannen mit mehreren Threads zur Steigerung der Erkennungsgeschwindigkeit
- Echtzeitanzeige des Scanfortschritts und der Zählung (z. B. 1/1000 (0%))
- Zeigt nur Ziele mit Schwachstellen an, filtert irrelevante Informationen
- Unterstützt Import von Dateien für Batch-Scans
- Bietet Funktion zum Stoppen des Scans
2. Befehlsausführung
- Unterstützt Ausführung von Linux/Windows-Befehlen
- Automatische oder manuelle Auswahl des Zielbetriebssystems
- Echtzeitanzeige der Befehlsergebnisse
3. In-Memory-Webshell-Injektion
- Unterstützt Injektion einer einfachen Befehlausführungs-In-Memory-Webshell
- Unterstützt Injektion der Godzilla-In-Memory-Webshell (mit RC4-Verschlüsselung)
- Automatische Generierung von Verbindungsinformationen und Gebrauchsanweisungen
4. Reverse Shell
- Unterstützt Reverse Shell für Linux/Windows
- Unterstützt benutzerdefinierte Reverse-Shell-Befehle
- Bietet mehrere Reverse-Shell-Methoden (Linux Named Pipes, Windows PowerShell)
Technische Architektur
- Entwicklungssprache: Java
- GUI-Framework: Swing
- Netzwerkkommunikation: HttpURLConnection
- Parallelverarbeitung: ExecutorService-Threadpool
- Projektverwaltung: Maven
Systemanforderungen
- JDK 8 oder höher
- Maven 3.6 oder höher
Kompilieren und Ausführen
1. Projekt kompilieren
# 进入项目目录
cd CVE202555182GUI
# 编译并打包
mvn clean package
# 运行带依赖的可执行 JAR 文件
java -jar target/CVE202555182GUI-1.0-SNAPSHOT-jar-with-dependencies.jar
Verwendung
Schwachstellenerkennung
- Geben Sie im Textfeld "Ziel-URL" eine oder mehrere Ziel-URLs ein (eine pro Zeile)
- Oder klicken Sie auf die Schaltfläche "Datei importieren" und wählen Sie eine Datei mit der URL-Liste aus
- Klicken Sie auf die Schaltfläche "Scan starten", um den Scan zu beginnen
- Die Scanergebnisse werden im Bereich "Scanergebnisse" darunter angezeigt
- Sie können auf die Schaltfläche "Scan stoppen" klicken, um den Scanvorgang zu unterbrechen
Befehlsausführung
- Geben Sie die Ziel-URL ein
- Geben Sie den auszuführenden Befehl ein
- Wählen Sie das Zielbetriebssystem (auto/linux/windows)
- Klicken Sie auf die Schaltfläche "Befehl ausführen"
- Die Befehlsergebnisse werden im Bereich "Ausführungsergebnisse" darunter angezeigt
In-Memory-Webshell-Injektion
- Geben Sie die Ziel-URL ein
- Wählen Sie den Typ der In-Memory-Webshell (Einfache Befehlausführung / Godzilla In-Memory-Webshell)
- Wählen Sie das Zielbetriebssystem (auto/linux/windows)
- Klicken Sie auf die Schaltfläche "In-Memory-Webshell injizieren"
- Die Injektionsergebnisse und Verbindungsinformationen werden im Bereich "Injektionsergebnisse" darunter angezeigt
Reverse Shell
- Geben Sie die Ziel-URL ein
- Geben Sie die Reverse-Shell-IP und den Port ein
- Wählen Sie das Zielbetriebssystem (linux/windows)
- Optional: Geben Sie einen benutzerdefinierten Reverse-Shell-Befehl ein
- Klicken Sie auf die Schaltfläche "Reverse Shell injizieren"
- Die Injektionsergebnisse werden im Bereich "Injektionsergebnisse" darunter angezeigt
Schwachstellenprinzip
Die Schwachstelle CVE-2025-55182 wird durch einen Sicherheitsmangel im Next.js-Framework bei der Verarbeitung bestimmter Anfragen verursacht. Angreifer können durch das Erstellen bösartiger multipart/form-data-Anfragen beliebige Befehle auf dem Server ausführen.
Das Tool erkennt die Schwachstelle in den folgenden Schritten:
- Erstellen einer Anfrage, die ein Befehlausführungs-Payload enthält
- Senden an den Pfad
/_next/data des Zielservers
- Überprüfen, ob die Antwort das erwartete Befehlsergebnis enthält
- Basierend auf dem Ergebnis wird festgestellt, ob die Schwachstelle besteht
Referenzprojekte
Dieses Projekt bezieht sich auf folgende Open-Source-Projekte:
- ReactExploitGUI - Bietet die Kernidee und Implementierungsmethode zur Schwachstellenausnutzung
Sicherheitshinweise
- Dieses Tool ist nur für Sicherheitstests und autorisierte Penetrationstests vorgesehen
- Beachten Sie bei der Verwendung dieses Tools die einschlägigen Gesetze und Vorschriften
- Verwenden Sie dieses Tool nicht gegen nicht autorisierte Ziele
- Nach Abschluss der Tests löschen Sie bitte die injizierte In-Memory-Webshell umgehend
Hinweise
- Scangeschwindigkeit: Standardmäßig wird mit 10 Threads parallel gescannt, kann je nach Netzwerkumgebung angepasst werden
- Timeout-Einstellung: Standard-Timeout beträgt 10 Sekunden, kann je nach Netzwerkumgebung angepasst werden
- In-Memory-Webshell-Verbindung: Bei Verwendung der Godzilla-In-Memory-Webshell muss das zugehörige Node.js-Verbindungs-Plugin heruntergeladen werden
- Reverse Shell: Der entsprechende Abhörport muss lokal gestartet werden (z. B.
nc -lvvp 4444)
Fehlerbehebung
Häufige Probleme und Lösungen
-
Der Scanfortschrittsbalken bewegt sich nicht
- Überprüfen Sie, ob die Ziel-URL korrekt ist
- Überprüfen Sie, ob die Netzwerkverbindung funktioniert
- Versuchen Sie, die Anzahl der parallelen Threads zu reduzieren
-
Befehlausführung fehlgeschlagen
- Stellen Sie sicher, dass das Ziel die Schwachstelle aufweist
- Stellen Sie sicher, dass das Betriebssystem richtig ausgewählt wurde
- Überprüfen Sie, ob der Befehl der Syntax des Zielsystems entspricht
-
In-Memory-Webshell-Injektion fehlgeschlagen
- Stellen Sie sicher, dass das Ziel die Schwachstelle aufweist
- Überprüfen Sie, ob die Netzwerkverbindung stabil ist
- Versuchen Sie, einen anderen Typ von In-Memory-Webshell zu verwenden
-
Reverse-Shell-Verbindung kann nicht hergestellt werden
- Stellen Sie sicher, dass der lokale Abhörport gestartet wurde
- Überprüfen Sie die Netzwerk-Firewall-Einstellungen
- Stellen Sie sicher, dass die Reverse-Shell-IP und der Port korrekt sind
- Versuchen Sie, einen benutzerdefinierten Reverse-Shell-Befehl zu verwenden
Versionsverlauf
- v1.0.0: Erste Version
- Grundlegende Schwachstellenerkennung implementiert
- Befehlausführung implementiert
- In-Memory-Webshell-Injektion implementiert
- Reverse-Shell-Funktion implementiert
Haftungsausschluss
Dieses Tool ist ausschließlich für Lern- und autorisierte Sicherheitstests bestimmt. Es darf nicht für illegale Zwecke verwendet werden. Für jegliche Folgen, die durch die Nutzung dieses Tools entstehen, übernimmt der Benutzer die alleinige Verantwortung.
Kontakt
Bei Fragen oder Anregungen können Sie sich gerne an den Autor wenden.