
Selektiere Bugs aus Binaries, bei denen das Muster CVE-1337-Days ähnelt.
Wähle Bugs aus Binary, wo Muster wie CVE-1337-Days sind
Zusammenfassung
Statische Code-Überprüfung ist eine effektive Methode, um Schwachstellen-Varianten und Exploitation-Primitive zu entdecken, aber zwei der anspruchsvollsten Aufgaben der statischen Analyse sind die effektive Extraktion von Code-Mustern aus riesigen Mengen verschiedener Bugs und die effiziente Suche nach Code-Mustern in Unmengen verschiedener Module – insbesondere bei Closed-Source-Software wie Windows.
Diese Präsentation behandelt unsere Vorgehensweisen und Erfahrungen mit diesen beiden Herausforderungen. Sie zeigt hauptsächlich, wie wir vier einzigartige Code-Muster für verschiedene Schwachstellentypen und Exploitation-Primitive extrahieren und wie wir sie mithilfe unseres neuen Tools zur Suche nach Binärcode-Mustern – Leviathan – einsetzen, um automatisch Schwachstellen und Exploitation-Primitive unter Windows zu finden.
In dieser Präsentation konzentrieren wir uns auf vier einzigartige Muster, um klassische File-Hijacking-Schwachstellen, Reparse-Point-Speicherkorruptions-Schwachstellen, ACL-Überschreibungs-Logikschwachstellen und Pool-Spray-Primitive für den RDP-Exploit unter Windows zu finden. Insbesondere im Teil zum ACL-Überschreibungsmuster zeigen wir, wie wir eine interessante 0-Day-Logikschwachstelle in Hyper-V finden, die aus unserer bei Pwn2Own 2021 verwendeten Schwachstelle hervorgegangen ist. Sie wurde zunächst von Microsoft abgelehnt, schließlich aber als patch-fähig eingestuft und sogar für das Bounty-Programm qualifiziert, nachdem wir einen neuen Angriffsvektor eingereicht hatten. Wir werden die ganze Geschichte dahinter enthüllen. Erwähnenswert ist außerdem, dass wir im Teil zum Pool-Spray-Primitive-Muster zeigen, wie wir drei einzigartige und universelle Pool-Spray-Primitive für den RDP-Exploit finden. Sie könnten bei der bekannten RDP-Schwachstelle BlueKeep (CVE-2019-0708) eingesetzt werden und unterscheiden sich von allen anderen öffentlichen Exploitation-Techniken. Alle Details werden abgedeckt, einschließlich der Definition des Schwachstellenmodells, der Extraktion der Schwachstellenmuster, der Erstellung von Code-Abfragen sowie der Überprüfung der Ergebnisse und der Erstellung von PoCs in jedem Fall.
Darüber hinaus stellen wir auch ein neues Tool auf Basis einer Code-Abfragesprache vor, das entwickelt wurde, um mithilfe von Code-Mustern in Binärdateien automatisch Schwachstellen und Exploitation-Primitive zu finden. Angetrieben von den Hexray-ctree-APIs von IDA Pro und unseren darauf aufbauenden Kern-Primitiven für die Code-Muster-Suche bietet es nicht nur Funktionen wie Taint-Tracking und die Verfolgung von Codepfaden über Binärdateien hinweg, sondern auch eine SQL-Abfrageschnittstelle, die den gesamten Prozess erleichtert. Wähle deine eigenen Bugs und Primitive aus Binary, wo immer du willst!