Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2018-15133-PoC | Kitploit
Outils/GitHubGitHub/loaxert/cve-2018-15133-poc
Génération de PayloadsAnalyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'Intrusion
GitHubloaxert/cve-2018-15133-poc

CVE-2018-15133-PoC

Voir le dépôt
il y a 9 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2018-15133-PoC

Ce script Python implémente un exploit d'exécution de code à distance (RCE) pour les applications Laravel vulnérables via une désérialisation non sécurisée, basé sur la vulnérabilité CVE-2018-15133.

L'exploit exploite une vulnérabilité dans Laravel (versions 5.5.40 et antérieures, et 5.6.0 à 5.6.29) où les sessions chiffrées sont automatiquement désérialisées sans validation appropriée. Avec l'accès à la clé APP_KEY de Laravel, un attaquant peut chiffrer des payloads malveillants qui seront désérialisés et exécutés sur le serveur.

Fonctionnement du système de sessions Laravel

Laravel utilise un mécanisme de chiffrement symétrique pour les sessions avec trois composants :

  • IV (Initialization Vector) : vecteur d'initialisation aléatoire généré pour chaque session

  • Value : valeur chiffrée à l'aide d'AES-128-CBC ou AES-256-CBC

  • MAC : code d'authentification de message (HMAC-SHA256) calculé sur IV + value + APP_KEY

Processus :

  • Reçoit trois paramètres d'entrée : la clé APP_KEY de Laravel en base64, la commande à exécuter et le domaine cible

  • Invoque l'outil PHPGGC avec la chaîne de gadgets Laravel/RCE5 pour générer une chaîne d'objets PHP malveillants

  • Construit la commande du système d'exploitation qui sera exécutée sur le serveur victime (exemple : system('whoami');)

  • Génère le payload PHP sérialisé contenant les gadgets enchaînés

  • Décode le payload de base64 au format binaire

  • Traite la clé APP_KEY en supprimant le préfixe "base64:" s'il existe

  • Complète le padding nécessaire pour que la clé soit un base64 valide

  • Décode la clé de base64 en octets

  • Génère un vecteur d'initialisation (IV) aléatoire de 16 octets

  • Chiffre le payload en utilisant AES en mode CBC avec la clé et l'IV

  • Applique le padding PKCS7 au payload avant le chiffrement

  • Encode l'IV en base64

  • Encode le texte chiffré (payload chiffré) en base64

  • Concatène l'IV et la valeur en base64 comme message pour le HMAC

  • Calcule le MAC en utilisant HMAC-SHA256 sur le message concaténé avec la clé comme secret

  • Construit un objet JSON avec trois champs : iv, value et mac

  • Encode le JSON complet en base64

  • Construit une requête HTTP à l'aide de curl avec le payload dans le cookie laravel_session

  • Envoie la requête au domaine cible

  • Le serveur Laravel reçoit le cookie et décode le base64

  • Laravel vérifie l'intégrité du MAC par rapport à l'IV et à la valeur reçus

  • Laravel déchiffre le contenu en utilisant AES-CBC avec sa clé APP_KEY

  • Laravel désérialise automatiquement le contenu déchiffré

  • PHP invoque les fonctions magiques __destruct() ou __wakeup() des objets désérialisés

  • La chaîne de gadgets se déclenche et aboutit à call_user_func() ou eval()

  • La commande du système d'exploitation est exécutée sur le serveur

L'exploit utilise des chaînes de gadgets qui enchaînent des appels aux fonctions magiques de PHP :

Pendant la désérialisation, PHP invoque automatiquement __destruct() ou __wakeup(), initiant la chaîne qui aboutit à eval() exécutant du code arbitraire.

Prérequis Pour que l'exploit fonctionne, l'attaquant a besoin de :

  • La clé APP_KEY de Laravel (obtenue par fuite de variables d'environnement, buckets S3 exposés, code source, etc.)

  • Version vulnérable de Laravel avec désérialisation activée par défaut

  • PHPGGC installé dans le répertoire ./phpggc/ https://github.com/ambionics/phpggc

Exemple d'utilisation

root@kitploit:~
python exploit.py "base64:dGhpc2lzYXNlY3JldGtleQ==" "whoami" "http://target.htb"
Este comando generará un payload serializado que ejecutará whoami cuando Laravel deserialice la sesión.
Télécharger l’outil