hacktricks/macos-hardening/macos-security-and-privilege-escalation/README.md

8 KiB
Raw Blame History

macOS安全性与权限提升

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

加入HackenProof Discord服务器,与经验丰富的黑客和赏金猎人交流!

黑客见解
深入探讨黑客的刺激和挑战的内容

实时黑客新闻
通过实时新闻和见解及时了解快节奏的黑客世界

最新公告
随时了解最新的赏金任务发布和重要平台更新

加入我们的 Discord,立即与顶尖黑客合作!

基本的MacOS

如果您对macOS不熟悉应该开始学习macOS的基础知识

  • 特殊的macOS文件和权限:

{% content-ref url="macos-files-folders-and-binaries/" %} macos-files-folders-and-binaries {% endcontent-ref %}

  • 常见的macOS用户

{% content-ref url="macos-users.md" %} macos-users.md {% endcontent-ref %}

  • AppleFS

{% content-ref url="macos-applefs.md" %} macos-applefs.md {% endcontent-ref %}

  • 内核架构

{% content-ref url="mac-os-architecture/" %} mac-os-architecture {% endcontent-ref %}

  • 常见的macOS网络服务和协议

{% content-ref url="macos-protocols.md" %} macos-protocols.md {% endcontent-ref %}

MacOS MDM

在公司中,macOS系统很可能会被MDM管理。因此,从攻击者的角度来看,了解它是如何工作的是很有趣的:

{% content-ref url="../macos-red-teaming/macos-mdm/" %} macos-mdm {% endcontent-ref %}

MacOS - 检查、调试和模糊

{% content-ref url="macos-apps-inspecting-debugging-and-fuzzing/" %} macos-apps-inspecting-debugging-and-fuzzing {% endcontent-ref %}

MacOS安全保护

{% content-ref url="macos-security-protections/" %} macos-security-protections {% endcontent-ref %}

攻击面

文件权限

如果以root身份运行的进程写入一个用户可以控制的文件,用户可以利用这一点来提升权限
这可能发生在以下情况下:

  • 使用的文件已经被用户创建(由用户拥有)
  • 使用的文件可被用户写入,因为属于一个组
  • 使用的文件位于用户拥有的目录中(用户可以创建文件)
  • 使用的文件位于由root拥有但用户有写访问权限的目录中用户可以创建文件

能够创建一个将被root使用的文件,允许用户利用其内容,甚至创建符号链接/硬链接将其指向另一个位置。

对于这种类型的漏洞,不要忘记检查易受攻击的.pkg安装程序

{% content-ref url="macos-files-folders-and-binaries/macos-installers-abuse.md" %} macos-installers-abuse.md {% endcontent-ref %}

文件扩展名和URL协议处理程序

通过文件扩展名注册的奇怪应用程序可能会被滥用,不同的应用程序可以注册以打开特定协议

{% content-ref url="macos-file-extension-apps.md" %} macos-file-extension-apps.md {% endcontent-ref %}

macOS TCC / SIP权限提升

在macOS中应用程序和二进制文件可以具有访问文件夹或设置的权限,使它们比其他应用程序更具特权。

因此想要成功地攻击macOS机器的攻击者将需要提升其TCC权限(甚至绕过SIP,取决于他的需求)。

这些权限通常以应用程序签名的授权形式给出,或者应用程序可能请求一些访问权限,用户批准后可以在TCC数据库中找到。进程可以获得这些权限的另一种方式是作为具有这些权限的进程的子进程,因为它们通常会被继承

点击以下链接查找不同的方式来提升TCC权限绕过TCC,以及过去如何绕过SIP

macOS传统权限提升

当然从红队的角度来看您也应该对提升为root感兴趣。查看以下文章获取一些提示

{% content-ref url="macos-privilege-escalation.md" %} macos-privilege-escalation.md {% endcontent-ref %}

参考资料

加入HackenProof Discord服务器,与经验丰富的黑客和赏金猎人交流!

黑客见解
深入探讨黑客的刺激和挑战的内容

实时黑客新闻
通过实时新闻和见解及时了解快节奏的黑客世界

最新公告
随时了解最新的赏金任务发布和重要平台更新

加入我们的 Discord,立即与顶尖黑客合作!

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式