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

9 KiB
Raw Blame History

macOS安全与权限提升

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥

加入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 ,与顶级黑客一起合作!

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥