diff --git a/src/SUMMARY.md b/src/SUMMARY.md index cac3fa3dc..5835e6c1e 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -288,7 +288,6 @@ - [PsExec/Winexec/ScExec](windows-hardening/lateral-movement/psexec-and-winexec.md) - [RDPexec](windows-hardening/lateral-movement/rdpexec.md) - [SCMexec](windows-hardening/lateral-movement/scmexec.md) - - [SmbExec/ScExec](windows-hardening/lateral-movement/smbexec.md) - [WinRM](windows-hardening/lateral-movement/winrm.md) - [WmiExec](windows-hardening/lateral-movement/wmiexec.md) - [Pivoting to the Cloud$$external:https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/index.html$$]() diff --git a/src/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md b/src/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md index dde878577..8042d79e6 100644 --- a/src/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md +++ b/src/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md @@ -6,7 +6,7 @@ **TCC (透明性、同意和控制)** 是一种安全协议,专注于规范应用程序权限。其主要作用是保护敏感功能,如 **位置服务、联系人、照片、麦克风、相机、辅助功能和完整磁盘访问**。通过在授予应用程序访问这些元素之前要求用户明确同意,TCC 增强了隐私和用户对其数据的控制。 -当应用程序请求访问受保护功能时,用户会遇到 TCC。这通过一个提示可见,允许用户 **批准或拒绝访问**。此外,TCC 还支持用户的直接操作,例如 **将文件拖放到应用程序中**,以授予对特定文件的访问,确保应用程序仅访问明确允许的内容。 +当应用程序请求访问受保护的功能时,用户会遇到 TCC。这通过一个提示可见,允许用户 **批准或拒绝访问**。此外,TCC 还支持用户的直接操作,例如 **将文件拖放到应用程序中**,以授予对特定文件的访问,确保应用程序仅访问明确允许的内容。 ![TCC 提示的示例](https://rainforest.engineering/images/posts/macos-tcc/tcc-prompt.png?1620047855) @@ -14,7 +14,7 @@ 每个登录用户都有一个 **用户模式 tccd** 在运行,定义在 `/System/Library/LaunchAgents/com.apple.tccd.plist` 中,注册 mach 服务 `com.apple.tccd` 和 `com.apple.usernotifications.delegate.com.apple.tccd`。 -在这里,您可以看到 tccd 作为系统和用户运行: +在这里可以看到 tccd 作为系统和用户运行: ```bash ps -ef | grep tcc 0 374 1 0 Thu07PM ?? 2:01.66 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd system @@ -42,7 +42,7 @@ ps -ef | grep tcc - SIP 保护的文件 **`/Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plist`**(任何人可读)是需要 TCC 例外的应用程序的允许列表。 > [!TIP] -> **iOS** 中的 TCC 数据库在 **`/private/var/mobile/Library/TCC/TCC.db`** 中。 +> **iOS** 中的 TCC 数据库在 **`/private/var/mobile/Library/TCC/TCC.db`**。 > [!NOTE] > **通知中心 UI** 可以对**系统 TCC 数据库**进行**更改**: @@ -174,7 +174,7 @@ echo "X'$REQ_HEX'" 您还可以在`System Preferences --> Security & Privacy --> Privacy --> Files and Folders`中检查**已授予的权限**。 > [!TIP] -> 用户_可以_使用**`tccutil`** **删除或查询规则**。 +> 用户 _可以_ **使用 `tccutil` 删除或查询规则**。 #### 重置 TCC 权限 ```bash @@ -186,7 +186,7 @@ tccutil reset All ``` ### TCC 签名检查 -TCC **数据库** 存储应用程序的 **Bundle ID**,但它还 **存储** **信息** 关于 **签名** 以 **确保** 请求使用权限的应用程序是正确的。 +TCC **数据库** 存储应用程序的 **Bundle ID**,但它还 **存储** **信息** 关于 **签名** 以 **确保** 请求使用权限的应用是正确的。 ```bash # From sqlite sqlite> select service, client, hex(csreq) from access where auth_value=2; @@ -204,11 +204,11 @@ csreq -t -r /tmp/telegram_csreq.bin ### 权限与 TCC 权限 应用程序 **不仅需要** **请求** 并且已经 **获得访问** 某些资源的权限,它们还需要 **拥有相关的权限**。\ -例如 **Telegram** 拥有权限 `com.apple.security.device.camera` 来请求 **访问相机**。一个 **没有** 这个 **权限的应用** 将无法访问相机(用户甚至不会被询问权限)。 +例如 **Telegram** 拥有权限 `com.apple.security.device.camera` 来请求 **访问相机**。一个 **没有** 这个 **权限的应用程序将无法** 访问相机(用户甚至不会被询问权限)。 然而,对于应用程序 **访问** 某些用户文件夹,如 `~/Desktop`、`~/Downloads` 和 `~/Documents`,它们 **不需要** 任何特定的 **权限**。系统将透明地处理访问并 **根据需要提示用户**。 -苹果的应用程序 **不会生成提示**。它们在其 **权限** 列表中包含 **预先授予的权利**,这意味着它们 **永远不会生成弹出窗口**,**也不会** 显示在任何 **TCC 数据库** 中。例如: +苹果的应用程序 **不会生成提示**。它们在其 **权限** 列表中包含 **预先授予的权利**,这意味着它们 **永远不会生成弹出窗口**,**也** 不会出现在任何 **TCC 数据库** 中。例如: ```bash codesign -dv --entitlements :- /System/Applications/Calendar.app [...] @@ -254,13 +254,13 @@ uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3 > > 还要注意,如果您将允许计算机上某个应用程序的 UUID 的文件移动到另一台计算机,由于同一应用程序将具有不同的 UID,它将不会授予该应用程序访问权限。 -扩展属性 `com.apple.macl` **无法像其他扩展属性那样被清除**,因为它是 **受 SIP 保护的**。然而,正如 [**在这篇文章中解释的**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/),可以通过 **压缩** 文件、**删除** 它和 **解压缩** 它来禁用它。 +扩展属性 `com.apple.macl` **无法像其他扩展属性那样被清除**,因为它是 **受 SIP 保护的**。然而,正如 [**在这篇文章中解释的**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/),可以通过 **压缩** 文件、**删除** 它和 **解压** 它来禁用它。 ## TCC 权限提升与绕过 ### 插入到 TCC -如果您在某个时刻成功获得对 TCC 数据库的写入访问权限,可以使用以下内容添加条目(删除注释): +如果您在某个时刻成功获得 TCC 数据库的写入访问权限,可以使用以下内容添加条目(删除注释):
@@ -398,9 +398,9 @@ EOD 同样发生在 **Script Editor app**,它可以控制 Finder,但使用 AppleScript 你无法强制它执行脚本。 -### Automation (SE) to some TCC +### 自动化 (SE) 到某些 TCC -**System Events 可以创建文件夹操作,而文件夹操作可以访问一些 TCC 文件夹**(桌面、文档和下载),因此可以使用如下脚本来滥用这种行为: +**系统事件可以创建文件夹操作,而文件夹操作可以访问一些 TCC 文件夹**(桌面、文档和下载),因此可以使用如下脚本来滥用这种行为: ```bash # Create script to execute with the action cat > "/tmp/script.js" <