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

6.9 KiB
Raw Blame History

macOS安全保护

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

Gatekeeper

Gatekeeper通常用于指代Quarantine + Gatekeeper + XProtect的组合这是3个macOS安全模块它们将尝试阻止用户执行可能具有恶意的下载软件

更多信息请参见:

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

MRT - 恶意软件移除工具

恶意软件移除工具MRT是macOS安全基础设施的另一部分。顾名思义MRT的主要功能是从受感染的系统中删除已知的恶意软件

一旦在Mac上检测到恶意软件无论是通过XProtect还是其他方式MRT可以用于自动删除恶意软件。MRT在后台静默运行通常在系统更新或下载新的恶意软件定义时运行看起来MRT用于检测恶意软件的规则嵌入在二进制文件中

虽然XProtect和MRT都是macOS的安全措施的一部分但它们执行不同的功能

  • XProtect是一种预防工具。它会在文件下载时(通过某些应用程序)检查文件,如果检测到任何已知类型的恶意软件,它将阻止文件打开,从而防止恶意软件首次感染您的系统。
  • 另一方面,MRT是一种响应工具。它在检测到系统上的恶意软件后运行,目的是删除有问题的软件以清理系统。

MRT应用程序位于**/Library/Apple/System/Library/CoreServices/MRT.app**

进程限制

SIP - 系统完整性保护

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

沙盒

MacOS沙盒限制在沙盒内运行的应用程序只能执行沙盒配置文件中指定的允许操作。这有助于确保应用程序只能访问预期的资源

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

TCC - 透明度、同意和控制

TCC透明度、同意和控制是macOS中的一种机制用于从隐私角度限制和控制应用程序对某些功能的访问。这可能包括位置服务、联系人、照片、麦克风、摄像头、辅助功能、完全磁盘访问等等。

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

信任缓存

苹果macOS的信任缓存有时也称为AMFIApple Mobile File Integrity缓存是macOS中的一种安全机制旨在防止未经授权或恶意软件运行。实质上,它是操作系统用于验证软件的完整性和真实性的加密哈希列表

当应用程序或可执行文件尝试在macOS上运行时操作系统会检查AMFI信任缓存。如果在信任缓存中找到文件的哈希值则系统会允许该程序运行,因为它被识别为可信任的。

启动限制

它控制从何处以及什么可以启动Apple签名的二进制文件

  • 如果应该由launchd运行您无法直接启动应用程序
  • 您无法在受信任的位置之外运行应用程序(如/System/

包含有关此限制信息的文件位于macOS中的**/System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/StaticTrustCache.img4在iOS中它似乎位于/usr/standalone/firmware/FUD/StaticTrustCache.img4**)。

看起来可以使用工具img4tool 提取缓存

img4tool -e in.img4 -o out.bin

然后,您可以使用pyimg4之类的脚本,但是以下脚本无法与该输出一起使用。

然后,您可以使用此脚本之类的脚本来提取数据。

从该数据中,您可以检查具有**启动约束值为0**的应用程序,这些应用程序没有受到约束(在此处查看每个值的含义)。

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