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
CVE-2018-15133-PoC — Exploit Python per CVE-2018-15133, che consente di ottenere l'esecuzione di codice da remoto su applicazioni Laravel vulnerabili tramite deserializzazione non sicura di sessioni crittografate utilizzando una APP_KEY nota. | Kitploit
Strumenti/GitHubGitHub/loaxert/cve-2018-15133-poc
Generazione di PayloadAnalisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubloaxert/cve-2018-15133-poc

CVE-2018-15133-PoC

Exploit Python per CVE-2018-15133, che consente di ottenere l'esecuzione di codice da remoto su applicazioni Laravel vulnerabili tramite deserializzazione non sicura di sessioni crittografate utilizzando una APP_KEY nota.

Vedi Repository
9 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 →
Condividi

CVE-2018-15133-PoC

Questo script Python implementa un exploit di esecuzione remota di codice (RCE) per applicazioni Laravel vulnerabili tramite deserializzazione insicura, basandosi sulla vulnerabilità CVE-2018-15133.

L'exploit sfrutta una vulnerabilità in Laravel (versioni 5.5.40 e precedenti, e 5.6.0 a 5.6.29) in cui le sessioni crittografate vengono automaticamente deserializzate senza una corretta validazione. Con accesso alla chiave APP_KEY di Laravel, un attaccante può crittografare payload dannosi che verranno deserializzati ed eseguiti sul server.

Funzionamento del Sistema di Sessioni Laravel

Laravel utilizza un meccanismo di crittografia simmetrica per le sessioni con tre componenti:

  • IV (Initialization Vector): Vettore di inizializzazione casuale generato per ogni sessione

  • Value: Valore crittografato usando AES-128-CBC o AES-256-CBC

  • MAC: Codice di autenticazione del messaggio (HMAC-SHA256) calcolato su IV + value + APP_KEY

Processo:

  • Riceve tre parametri di input: la chiave APP_KEY di Laravel in base64, il comando da eseguire e il dominio target

  • Invoca lo strumento PHPGGC con la catena gadget Laravel/RCE5 per generare una catena di oggetti PHP dannosi

  • Costruisce il comando del sistema operativo che verrà eseguito sul server vittima (esempio: system('whoami');)

  • Genera il payload serializzato PHP che contiene i gadget concatenati

  • Decodifica il payload da base64 a formato binario

  • Elabora la chiave APP_KEY rimuovendo il prefisso "base64:" se esiste

  • Completa il padding necessario affinché la chiave sia base64 valido

  • Decodifica la chiave da base64 a byte

  • Genera un vettore di inizializzazione (IV) casuale di 16 byte

  • Crittografa il payload usando AES in modalità CBC con la chiave e l'IV

  • Applica il padding PKCS7 al payload prima della crittografia

  • Codifica l'IV in base64

  • Codifica il ciphertext (payload crittografato) in base64

  • Concatena IV e value in base64 come messaggio per l'HMAC

  • Calcola il MAC usando HMAC-SHA256 sul messaggio concatenato con la chiave come segreto

  • Costruisce un oggetto JSON con tre campi: iv, value e mac

  • Codifica l'intero JSON in base64

  • Costruisce una richiesta HTTP usando curl con il payload nel cookie laravel_session

  • Invia la richiesta al dominio target

  • Il server Laravel riceve il cookie e decodifica il base64

  • Laravel verifica l'integrità del MAC rispetto all'IV e al value ricevuti

  • Laravel decifra il contenuto usando AES-CBC con la propria APP_KEY

  • Laravel deserializza automaticamente il contenuto decifrato

  • PHP invoca le funzioni magiche __destruct() o __wakeup() degli oggetti deserializzati

  • Viene innescata la catena di gadget che culmina in call_user_func() o eval()

  • Il comando del sistema operativo viene eseguito sul server

L'exploit utilizza catene di gadget che concatenano chiamate a funzioni magiche di PHP:

Durante la deserializzazione, PHP invoca automaticamente __destruct() o __wakeup(), avviando la catena che culmina in eval() eseguendo codice arbitrario.

Prerequisiti Affinché l'exploit funzioni, l'attaccante ha bisogno di:

  • La chiave APP_KEY di Laravel (ottenuta tramite perdita di variabili d'ambiente, bucket S3 esposti, codice sorgente, ecc.)

  • Versione vulnerabile di Laravel con deserializzazione abilitata per impostazione predefinita

  • PHPGGC installato nella directory ./phpggc/ https://github.com/ambionics/phpggc

Esempio di Utilizzo

root@kitploit:~
python exploit.py "base64:dGhpc2lzYXNlY3JldGtleQ==" "whoami" "http://target.htb"
Questo comando genererà un payload serializzato che eseguirà whoami quando Laravel deserializzerà la sessione.
Scarica lo strumento