.. | ||
macos-sandbox | ||
macos-tcc | ||
macos-dangerous-entitlements.md | ||
macos-gatekeeper.md | ||
macos-sip.md | ||
README.md |
macOS安全保护
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一个网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组或电报群组,或者关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。
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的信任缓存,有时也称为AMFI(Apple 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 🎥
- 您在网络安全公司工作吗?您想在HackTricks中看到您的公司广告吗?或者您想要访问PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品——The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组或电报群组,或在Twitter上关注我🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享您的黑客技巧。