
Proof-of-Concept-Exploit für CVE-2017-11176, eine Use-after-Free-Schwachstelle in der mq_notify-Funktion des Linux-Kernels, die eine lokale Privilegienerweiterung über die Manipulation von Netlink-Sockets ermöglicht.
Proof of Concept für CVE-2017-11176 zur Codeausführung.
Die Funktion mq_notify im Linux-Kernel bis 4.11.9 setzt den sock-Zeiger beim Eintritt in die Wiederholungslogik nicht auf NULL. Beim Schließen eines Netlink-Sockets im Benutzermodus ermöglicht dies Angreifern, einen Denial-of-Service (Use-after-Free) zu verursachen oder möglicherweise andere, nicht näher spezifizierte Auswirkungen zu haben.
Schau dir diese Beiträge an, ich habe viel daraus gelernt.
SMAP ist deaktiviertKASLR ist deaktiviertSLAB-Allokator wird ausgenutztheap.c: Dies wird verwendet, um den Ziel-Cache zu ermitteln*.stp: Diese Dateien werden für System Tap zum Debuggen verwendet. Außerdem gibt offset.stap den Strukturoffset ausgdb.script: gdb-Skript zum Debuggen. Dies löst den Haltepunkt aus, wenn RAX im Benutzermodus liegt. Beachte, dass wir den zweiten Haltepunkt setzen, nachdem wir den ersten erreicht haben, um Performance-Probleme zu vermeiden (wake_up wird sehr oft aufgerufen).