
Shell Ruby interattiva per test autorizzati di CVE-2025-55182 (react2shell)
______ \_____ ______ / /
| / / /| /_ \
| | / | | /
|| /_____ ___| /_______ /
/ / / /
(react2rubyshell)
[!IMPORTANT]
DISCLAIMER: La responsabilità per qualsiasi azione intrapresa con questo script ricade interamente sull'individuo che lo esegue. Utilizzalo solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione di test.
json, net/http, optparse, readline, securerandom, shellwords, uriNessuna gemma esterna richiesta.
Clona il repository, entra nella directory del progetto ed esegui lo script con Ruby:
git clone https://github.com/hakkuri01/r2rs.git
cd r2rs
ruby r2rs.rb -h
ruby r2rs.rb -t TARGET [options]
-t, --target TARGET IP del target, hostname o URL (obbligatorio)
-p, --port PORT Porta HTTP del target
-nb, --no-banner Nasconde il banner iniziale
-h, --help Mostra l'uso del comando
Esempi:
ruby r2rs.rb -t 127.0.0.1
ruby r2rs.rb -t 127.0.0.1 -p 3000
ruby r2rs.rb -t http://127.0.0.1:3000
ruby r2rs.rb -t "https://example.test/app?debug=1" -p 8443
ruby r2rs.rb -nb -t 127.0.0.1 -p 3000
Se TARGET non include uno schema, viene assunto http://. Gli URL HTTPS sono supportati.
Se l'URL del target contiene caratteri speciali per la shell come ?, racchiudilo tra virgolette:
ruby r2rs.rb -t "https://127.0.0.1/test?x=1"
Prima di avviare la sessione attiva, lo strumento valida il target con un comando di prova. Se la validazione fallisce, stampa un errore ed esce.
La sessione è basata su HTTP: il Ruby locale riutilizza una connessione HTTP, invia comandi attraverso il percorso di richiesta esistente e mostra la risposta in un prompt interattivo Readline. Il contesto del prompt viene inizializzato all'avvio e aggiornato dopo ogni comando utilizzando l'utente remoto, il nome host e la directory di lavoro.
Digita exit o premi Ctrl-C per chiudere la sessione.
Questa modalità non richiede intenzionalmente Ruby, Python, socat, script o qualsiasi altro helper PTY lato target. Per questo motivo, non è un vero PTY remoto. Programmi a schermo intero e sensibili al TTY come vim, nano, su, ssh e prompt di password interattivi potrebbero ancora essere limitati.