Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2018-15133-PoC — Python-Exploit für CVE-2018-15133, der eine Remote-Codeausführung auf angreifbaren Laravel-Anwendungen durch unsichere Deserialisierung verschlüsselter Sitzungen unter Verwendung eines bekannten APP_KEY ermöglicht. | Kitploit
Tools/GitHubGitHub/loaxert/cve-2018-15133-poc
Payload-GenerierungSchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHubloaxert/cve-2018-15133-poc

CVE-2018-15133-PoC

Python-Exploit für CVE-2018-15133, der eine Remote-Codeausführung auf angreifbaren Laravel-Anwendungen durch unsichere Deserialisierung verschlüsselter Sitzungen unter Verwendung eines bekannten APP_KEY ermöglicht.

Repository anzeigen
vor 9 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2018-15133-PoC

Dieses Python-Skript implementiert einen Exploit für die Remote-Codeausführung (RCE) bei anfälligen Laravel-Anwendungen durch unsichere Deserialisierung, basierend auf der Schwachstelle CVE-2018-15133.

Der Exploit nutzt eine Schwachstelle in Laravel (Versionen 5.5.40 und älter sowie 5.6.0 bis 5.6.29) aus, bei der verschlüsselte Sitzungen automatisch ohne ordnungsgemäße Validierung deserialisiert werden. Mit Zugriff auf den APP_KEY von Laravel kann ein Angreifer bösartige Payloads verschlüsseln, die auf dem Server deserialisiert und ausgeführt werden.

Funktionsweise des Laravel-Sitzungssystems

Laravel verwendet einen symmetrischen Verschlüsselungsmechanismus für Sitzungen mit drei Komponenten:

  • IV (Initialization Vector): Zufälliger Initialisierungsvektor, der für jede Sitzung generiert wird

  • Value: Mit AES-128-CBC oder AES-256-CBC verschlüsselter Wert

  • MAC: Nachrichtenauthentifizierungscode (HMAC-SHA256), berechnet über IV + Wert + APP_KEY

Prozess:

  • Empfängt drei Eingabeparameter: den Laravel APP_KEY im Base64-Format, den auszuführenden Befehl und die Ziel-Domain

  • Ruft das Tool PHPGGC mit der Gadget-Chain Laravel/RCE5 auf, um eine Kette bösartiger PHP-Objekte zu generieren

  • Erstellt den Betriebssystembefehl, der auf dem Opfer-Server ausgeführt wird (z.B. system('whoami');)

  • Generiert den serialisierten PHP-Payload, der die verketteten Gadgets enthält

  • Dekodiert den Payload von Base64 in das Binärformat

  • Verarbeitet den APP_KEY, indem das Präfix "base64:" entfernt wird, falls vorhanden

  • Fügt das erforderliche Padding hinzu, damit der Schlüssel gültiges Base64 ist

  • Dekodiert den Schlüssel von Base64 in Bytes

  • Generiert einen zufälligen Initialisierungsvektor (IV) von 16 Bytes

  • Verschlüsselt den Payload mit AES im CBC-Modus mit dem Schlüssel und dem IV

  • Wendet PKCS7-Padding auf den Payload vor der Verschlüsselung an

  • Kodiert den IV in Base64

  • Kodiert den Chiffretext (verschlüsselten Payload) in Base64

  • Verkettet IV und Value in Base64 als Nachricht für den HMAC

  • Berechnet den MAC mit HMAC-SHA256 über die verkettete Nachricht mit dem Schlüssel als Geheimnis

  • Erstellt ein JSON-Objekt mit drei Feldern: iv, value und mac

  • Kodiert das gesamte JSON in Base64

  • Erstellt eine HTTP-Anfrage mit curl und dem Payload im Cookie laravel_session

  • Sendet die Anfrage an die Ziel-Domain

  • Der Laravel-Server empfängt das Cookie und dekodiert das Base64

  • Laravel überprüft die Integrität des MAC gegenüber dem empfangenen IV und Value

  • Laravel entschlüsselt den Inhalt mit AES-CBC und seinem APP_KEY

  • Laravel deserialisiert automatisch den entschlüsselten Inhalt

  • PHP ruft die magischen Funktionen __destruct() oder __wakeup() der deserialisierten Objekte auf

  • Die Gadget-Chain wird ausgelöst, die in call_user_func() oder eval() gipfelt

  • Der Betriebssystembefehl wird auf dem Server ausgeführt

Der Exploit verwendet Gadget-Chains, die Aufrufe von magischen PHP-Funktionen verketten:

Während der Deserialisierung ruft PHP automatisch __destruct() oder __wakeup() auf, was die Kette startet, die in eval() gipfelt und beliebigen Code ausführt.

Voraussetzungen Damit der Exploit funktioniert, benötigt der Angreifer:

  • Den Laravel APP_KEY (erlangt durch Offenlegung von Umgebungsvariablen, exponierte S3-Buckets, Quellcode usw.)

  • Anfällige Laravel-Version mit standardmäßig aktivierter Deserialisierung

  • PHPGGC installiert im Verzeichnis ./phpggc/ https://github.com/ambionics/phpggc

Anwendungsbeispiel

root@kitploit:~
python exploit.py "base64:dGhpc2lzYXNlY3JldGtleQ==" "whoami" "http://target.htb"
Dieser Befehl erzeugt einen serialisierten Payload, der whoami ausführt, wenn Laravel die Sitzung deserialisiert.
Tool herunterladen