
Lehrreiche eigenständige JavaScript-Implementierung des öffentlichen Exploits für CVE-2016-9079 (Firefox Use-After-Free), adaptiert aus dem ursprünglichen Exploit-DB/Metasploit-Modul.
Pädagogische Implementierung des öffentlichen Exploits für CVE-2016-9079, angepasst vom ursprünglichen Exploit-DB/Metasploit-Modul für den eigenständigen Einsatz.
Haftungsausschluss
Dieses Repository dient ausschließlich Bildungs- und Forschungszwecken. Es enthält einen JavaScript-Port eines öffentlich verfügbaren Exploits zum Studium historischer Browser-Exploitation-Techniken. Es ist nicht für die unbefugte Verwendung gegen Systeme bestimmt, die dir nicht gehören oder für die du keine Testberechtigung hast.
Dieses Repository enthält eine eigenständige JavaScript-Implementierung des öffentlichen Exploits für CVE-2016-9079, eine Use-After-Free (UAF)-Schwachstelle, die ältere Versionen von Mozilla Firefox betrifft.
Die Schwachstelle befindet sich im SMIL (Synchronized Multimedia Integration Language)-Animationssubsystem von Firefox und kann unter bestimmten Bedingungen Remote-Codeausführung ermöglichen.
Im Gegensatz zum ursprünglichen öffentlichen Exploit, der als Metasploit-Modul vertrieben wird, bietet dieses Repository eine browserbasierte Implementierung, die über einen einfachen HTTP-Server bereitgestellt werden kann.
Dieses Repository ist eher als historische, lehrreiche Referenz gedacht denn als modernes Exploitation-Werkzeug.
Während meiner Vorbereitung auf die OSCP bin ich auf eine CTF-Maschine mit einer alten, verwundbaren Firefox-Version gestoßen.
Nach der Enumeration schien die Browser-Exploitation der vorgesehene Weg zur Privilegienausweitung zu sein.
Der öffentlich verfügbare Exploit auf Exploit-DB war als Metasploit-Modul implementiert. Da die OSCP-Prüfung die Verwendung von Metasploit einschränkt, wollte ich eine eigenständige Version, die ohne das Framework ausgeführt werden kann.
Nachdem ich den öffentlichen Exploit recherchiert hatte, habe ich ihn in diese JavaScript-Implementierung übertragen.
Es ist wichtig anzumerken, dass:
CVE: CVE-2016-9079
Typ: Use-After-Free (UAF)
Betroffene Komponente: Firefox-SMIL-Animation (nsSMILTimeContainer)
Auswirkung: Remote-Codeausführung
Die Schwachstelle wird durch speziell präparierte SVG-Animationsobjekte ausgelöst, die eine Use-After-Free-Bedingung im Animations-Engine von Firefox verursachen. Der Exploit führt anschließend Heap-Manipulationen durch, bevor er eine ROP-Kette ausführt, um Codeausführung zu erreichen.
Dieses Repository bewahrt die öffentlich dokumentierte Exploitation-Technik zu Bildungszwecken.
index.htmlDer Haupteinstiegspunkt.
Lädt die JavaScript-Komponenten und löst die Schwachstelle aus, wenn es in einer kompatiblen Firefox-Version geöffnet wird.
worker.jsEnthält den Großteil der Exploit-Logik, einschließlich:
Die Implementierung ist dem öffentlich verfügbaren Exploit entnommen.
README.mdDokumentation, die die Schwachstelle, den Zweck des Repositorys und die Verwendung beschreibt.
Eine Kompatibilität mit neueren Firefox-Versionen ist nicht zu erwarten.

python3 -m http.server 8000
Navigiere zu:
http://<server-ip>:8000/index.html
von der verwundbaren Firefox-Instanz aus.

Hinweis - Möglicherweise musst du den Exploit mehrmals ausführen.
Dieses Repository ist bewusst minimal gehalten und sollte nicht als allgemeines Exploitation-Framework betrachtet werden.
Im Vergleich zur ursprünglichen Metasploit-Implementierung:
Daher sollte diese Implementierung nur in kontrollierten Umgebungen mit bekannten kompatiblen Versionen eingesetzt werden.
Obwohl ich den ursprünglichen Exploit nicht verfasst habe, bot die Anpassung in eine eigenständige Implementierung wertvolle Einblicke in Konzepte wie:
Dieses Repository ergänzt meine Arbeit im Bereich Anwendungssicherheit und Bug Bounty, indem es einen Teil meines OSCP-Vorbereitungsprozesses dokumentiert.
Dieses Repository wird ausschließlich zu Bildungszwecken verbreitet.
Die Anerkennung für die ursprüngliche Exploitation-Technik gebührt den ursprünglichen Forschern und Autoren des öffentlichen Exploits. Dieses Repository überträgt lediglich die öffentlich verfügbare Implementierung in ein eigenständiges Format für den Bildungsbereich.