Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden

This commit is contained in:
Translator 2023-06-17 14:44:28 +00:00
parent faec4dd419
commit 6cfd16024a
19 changed files with 94 additions and 38 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 358 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -142,11 +142,12 @@
* [macOS Apps - Inspecting, debugging and Fuzzing](macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/README.md)
* [Introduction to ARM64](macos-hardening/macos-security-and-privilege-escalation/macos-apps-inspecting-debugging-and-fuzzing/arm64-basic-assembly.md)
* [macOS AppleFS](macos-hardening/macos-security-and-privilege-escalation/macos-applefs.md)
* [macOS Bypassing Firewalls](macos-hardening/macos-security-and-privilege-escalation/macos-bypassing-firewalls.md)
* [macOS Defensive Apps](macos-hardening/macos-security-and-privilege-escalation/macos-defensive-apps.md)
* [macOS Kernel](macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/README.md)
* [macOS Kernel Extensions](macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-kernel-extensions.md)
* [macOS System Extensions](macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-system-extensions.md)
* [macOS Network Services & Protocols](macos-hardening/macos-security-and-privilege-escalation/macos-protocols.md)
* [macOS Bypassing Firewalls](macos-hardening/macos-security-and-privilege-escalation/macos-bypassing-firewalls.md)
* [macOS File Extension & URL scheme app handlers](macos-hardening/macos-security-and-privilege-escalation/macos-file-extension-apps.md)
* [macOS Files, Folders, Binaries & Memory](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/README.md)
* [macOS Bundles](macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-bundles.md)

View File

@ -8,7 +8,7 @@
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
@ -49,11 +49,11 @@ Podrías usar el script [**JamfSniper.py**](https://github.com/WithSecureLabs/Ja
Además, después de encontrar las credenciales adecuadas, podrías ser capaz de realizar un ataque de fuerza bruta en otros nombres de usuario con el siguiente formulario:
![](<../../.gitbook/assets/image (6).png>)
![](<../../.gitbook/assets/image (7).png>)
#### Autenticación de dispositivos JAMF
<figure><img src="../../.gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
El binario **`jamf`** contenía el secreto para abrir el llavero que en el momento del descubrimiento estaba **compartido** entre todos y era: **`jk23ucnq91jfu9aj`**.\
Además, jamf **persiste** como un **LaunchDaemon** en **`/Library/LaunchAgents/com.jamf.management.agent.plist`**
@ -78,7 +78,7 @@ plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
```
{% endcode %}
Por lo tanto, un atacante podría dejar caer un paquete malicioso (`pkg`) que **sobrescribe este archivo** cuando se instala, estableciendo la **URL en un escucha de Mythic C2 desde un agente de Typhon** para poder abusar de JAMF como C2.
Entonces, un atacante podría dejar caer un paquete malicioso (`pkg`) que **sobrescribe este archivo** cuando se instala estableciendo la **URL a un escucha de Mythic C2 desde un agente Typhon** para ahora poder abusar de JAMF como C2.
```bash
# After changing the URL you could wait for it to be reloaded or execute:
sudo jamf policy -id 0
@ -98,7 +98,7 @@ Con esta información, **crea una VM** con el **UUID** de hardware **robado** y
#### Robo de secretos
<figure><img src="../../.gitbook/assets/image (2).png" alt=""><figcaption><p>a</p></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (11).png" alt=""><figcaption><p>a</p></figcaption></figure>
También puedes monitorear la ubicación `/Library/Application Support/Jamf/tmp/` para los **scripts personalizados** que los administradores puedan querer ejecutar a través de Jamf, ya que se **colocan aquí, se ejecutan y se eliminan**. Estos scripts **pueden contener credenciales**.
@ -130,7 +130,7 @@ En algunas ocasiones encontrarás que la **computadora MacOS está conectada a u
[pentesting-kerberos-88](../../network-services-pentesting/pentesting-kerberos-88/)
{% endcontent-ref %}
Algunas **herramientas locales de MacOS** que también pueden ayudarte son `dscl`:
Alguna **herramienta local de MacOS** que también puede ayudarte es `dscl`:
```bash
dscl "/Active Directory/[Domain]/All Domains" ls /
```
@ -185,7 +185,7 @@ Más información en [https://its-a-feature.github.io/posts/2018/01/Active-Direc
## Accediendo al Keychain
Es muy probable que el Keychain contenga información sensible que, si se accede sin generar una solicitud, podría ayudar a avanzar en un ejercicio de red team:
Es muy probable que el Keychain contenga información sensible que, si se accede sin generar una solicitud, podría ayudar a avanzar en un ejercicio de red teaming:
{% content-ref url="macos-keychain.md" %}
[macos-keychain.md](macos-keychain.md)
@ -193,7 +193,7 @@ Es muy probable que el Keychain contenga información sensible que, si se accede
## Servicios Externos
El red teaming de MacOS es diferente al red teaming regular de Windows ya que usualmente **MacOS está integrado con varias plataformas externas directamente**. Una configuración común de MacOS es acceder a la computadora usando **credenciales sincronizadas de OneLogin y acceder a varios servicios externos** (como github, aws...) a través de OneLogin:
El red teaming en MacOS es diferente al red teaming regular de Windows, ya que normalmente **MacOS está integrado con varias plataformas externas directamente**. Una configuración común de MacOS es acceder al ordenador usando **credenciales sincronizadas de OneLogin y acceder a varios servicios externos** (como github, aws...) a través de OneLogin:
![](<../../.gitbook/assets/image (563).png>)
@ -201,9 +201,9 @@ El red teaming de MacOS es diferente al red teaming regular de Windows ya que us
### Safari
Cuando se descarga un archivo en Safari, si es un archivo "seguro", se **abrirá automáticamente**. Por ejemplo, si se **descarga un archivo zip**, se descomprimirá automáticamente:
Cuando se descarga un archivo en Safari, si es un archivo "seguro", se **abrirá automáticamente**. Así que, por ejemplo, si se **descarga un zip**, se descomprimirá automáticamente:
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
## Referencias
@ -217,9 +217,9 @@ Cuando se descarga un archivo en Safari, si es un archivo "seguro", se **abrirá
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos.
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Consigue el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).

View File

@ -157,6 +157,8 @@ En primer lugar, tenga en cuenta que **la mayoría de los trucos sobre la escala
[privilege-escalation](../../linux-hardening/privilege-escalation/)
{% endcontent-ref %}
## Aplicaciones Defensivas de MacOS
## Referencias
* [**OS X Incident Response: Scripting and Analysis**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS)
@ -180,8 +182,8 @@ En primer lugar, tenga en cuenta que **la mayoría de los trucos sobre la escala
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabaja en una **empresa de ciberseguridad**? ¿Quiere ver su **empresa anunciada en HackTricks**? ¿O quiere tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulte los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenga el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos.
* Obtenga el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Únase al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígame** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparta sus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).

View File

@ -16,7 +16,7 @@
A diferencia de las extensiones del kernel, las **extensiones del sistema se ejecutan en el espacio de usuario** en lugar del espacio del kernel, lo que reduce el riesgo de un fallo del sistema debido al mal funcionamiento de la extensión.
<figure><img src="../../../.gitbook/assets/image (4).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
Existen tres tipos de extensiones del sistema: extensiones de **DriverKit**, extensiones de **red** y extensiones de **seguridad de punto final**.
@ -56,22 +56,22 @@ Los eventos que el marco de seguridad de punto final puede monitorear se clasifi
### Arquitectura del marco de seguridad de punto final
<figure><img src="../../../.gitbook/assets/image (8).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
La **comunicación del espacio de usuario** con el marco de seguridad de punto final se realiza a través de la clase IOUserClient. Se utilizan dos subclases diferentes, según el tipo de llamante:
* **EndpointSecurityDriverClient**: requiere el permiso `com.apple.private.endpoint-security.manager`, que solo tiene el proceso del sistema `endpointsecurityd`.
* **EndpointSecurityExternalClient**: requiere el permiso `com.apple.developer.endpoint-security.client`. Esto lo utilizaría típicamente el software de seguridad de terceros que necesita interactuar con el marco de seguridad de punto final.
Las extensiones de seguridad de punto final: **`libEndpointSecurity.dylib`** es la biblioteca C que utilizan las extensiones del sistema para comunicarse con el kernel. Esta biblioteca utiliza el I/O Kit (`IOKit`) para comunicarse con la extensión del kernel de seguridad de punto final.
Las extensiones del sistema de seguridad de punto final: **`libEndpointSecurity.dylib`** es la biblioteca C que utilizan las extensiones del sistema para comunicarse con el kernel. Esta biblioteca utiliza el I/O Kit (`IOKit`) para comunicarse con la extensión del kernel de seguridad de punto final.
**`endpointsecurityd`** es un demonio del sistema clave que participa en la gestión y el lanzamiento de extensiones del sistema de seguridad de punto final, especialmente durante el proceso de arranque temprano. Solo las extensiones del sistema marcadas con **`NSEndpointSecurityEarlyBoot`** en su archivo `Info.plist` reciben este tratamiento de arranque temprano.
Otro demonio del sistema, **`sysextd`**, **valida las extensiones del sistema** y las mueve a las ubicaciones del sistema adecuadas. Luego solicita al demonio relevante que cargue la extensión. El **`SystemExtensions.framework`** es responsable de activar y desactivar las extensiones del sistema.
## Saltando ESF
## Saltándose ESF
ESF es utilizado por herramientas de seguridad que intentarán detectar a un equipo de red, por lo que cualquier información sobre cómo se podría evitar suena interesante.
ESF es utilizado por herramientas de seguridad que intentarán detectar a un equipo rojo, por lo que cualquier información sobre cómo evitarlo suena interesante.
### CVE-2021-30965

View File

@ -0,0 +1,39 @@
# Aplicaciones defensivas de macOS
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PR a los repositorios de** [**hacktricks**](https://github.com/carlospolop/hacktricks) **y** [**hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Firewalls
* [**Little Snitch**](https://www.obdev.at/products/littlesnitch/index.html): Monitorea cada conexión realizada por cada proceso. Dependiendo del modo (permitir conexiones silenciosamente, denegar conexiones silenciosamente y alertar), **mostrará una alerta** cada vez que se establezca una nueva conexión. También tiene una interfaz gráfica muy agradable para ver toda esta información.
* [**LuLu**](https://objective-see.org/products/lulu.html): Firewall de Objective-See. Este es un firewall básico que le alertará sobre conexiones sospechosas (tiene una interfaz gráfica pero no es tan elegante como la de Little Snitch).
## Detección de persistencia
* [**KnockKnock**](https://objective-see.org/products/knockknock.html): Aplicación de Objective-See que buscará en varios lugares donde **el malware podría estar persistiendo** (es una herramienta de un solo uso, no un servicio de monitoreo).
* [**BlockBlock**](https://objective-see.org/products/blockblock.html): Al igual que KnockKnock, monitorea los procesos que generan persistencia.
## Detección de keyloggers
* [**ReiKey**](https://objective-see.org/products/reikey.html): Aplicación de Objective-See para encontrar **keyloggers** que instalan "event taps" de teclado.
## Detección de ransomware
* [**RansomWhere**](https://objective-see.org/products/ransomwhere.html): Aplicación de Objective-See para detectar acciones de **cifrado de archivos**.
## Detección de micrófono y cámara web
* [**OverSight**](https://objective-see.org/products/oversight.html): Aplicación de Objective-See para detectar **aplicaciones que comienzan a usar la cámara web y el micrófono.**
## Detección de inyección de procesos
* [**Shield**](https://theevilbit.github.io/shield/): Aplicación que **detecta diferentes técnicas de inyección de procesos**.

View File

@ -20,13 +20,13 @@ printf "\nThe following services are OFF if '0', or ON otherwise:\nScreen Sharin
```
### Pentesting ARD
(Esta parte fue tomada de [**esta publicación de blog**](https://lockboxx.blogspot.com/2019/07/macos-red-teaming-206-ard-apple-remote.html))
(Esta parte fue [**tomada de esta publicación de blog**](https://lockboxx.blogspot.com/2019/07/macos-red-teaming-206-ard-apple-remote.html))
Esencialmente, es un [VNC](https://en.wikipedia.org/wiki/Virtual\_Network\_Computing) bastardizado con algunas **características específicas de macOS adicionales**.\
Sin embargo, la opción **Screen Sharing** es solo un servidor **VNC básico**. También hay una opción avanzada de ARD o Administración remota para **establecer una contraseña de pantalla de control** que hará que ARD sea **compatible con clientes VNC**. Sin embargo, hay una debilidad en este método de autenticación que **limita** esta **contraseña** a un **búfer de autenticación de 8 caracteres**, lo que lo hace muy fácil de **atacar por fuerza bruta** con una herramienta como [Hydra](https://thudinh.blogspot.com/2017/09/brute-forcing-passwords-with-thc-hydra.html) o [GoRedShell](https://github.com/ahhh/GoRedShell/) (tampoco hay **límites de velocidad por defecto**).\
Puede identificar **instancias vulnerables de Screen Sharing** o Administración remota con **nmap**, utilizando el script `vnc-info`, y si el servicio admite `Autenticación VNC (2)` es probable que sean **vulnerables a ataques por fuerza bruta**. El servicio truncará todas las contraseñas enviadas por cable a 8 caracteres, de modo que si establece la autenticación VNC en "contraseña", tanto "contraseña" como "contraseña123" se autenticarán.
Es esencialmente un [VNC](https://en.wikipedia.org/wiki/Virtual\_Network\_Computing) bastardizado con algunas **características específicas de macOS adicionales**.\
Sin embargo, la opción **Screen Sharing** es solo un servidor **VNC básico**. También hay una opción avanzada de ARD o Remote Management para **establecer una contraseña de pantalla de control** que hará que ARD sea **compatible con clientes VNC**. Sin embargo, hay una debilidad en este método de autenticación que **limita** esta **contraseña** a un **búfer de autenticación de 8 caracteres**, lo que lo hace muy fácil de **atacar por fuerza bruta** con una herramienta como [Hydra](https://thudinh.blogspot.com/2017/09/brute-forcing-passwords-with-thc-hydra.html) o [GoRedShell](https://github.com/ahhh/GoRedShell/) (tampoco hay **límites de velocidad por defecto**).\
Puede identificar **instancias vulnerables de Screen Sharing** o Remote Management con **nmap**, utilizando el script `vnc-info`, y si el servicio admite `VNC Authentication (2)`, es probable que sean **vulnerables a ataques por fuerza bruta**. El servicio truncará todas las contraseñas enviadas por cable a 8 caracteres, de modo que si establece la autenticación VNC en "password", tanto "passwords" como "password123" se autenticarán.
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (9).png" alt=""><figcaption></figcaption></figure>
Si desea habilitarlo para escalar privilegios (aceptar las solicitudes de TCC), acceder con una GUI o espiar al usuario, es posible habilitarlo con:

View File

@ -1,8 +1,22 @@
## Bypasses de TCC en macOS
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Consigue la [**merchandising oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Por funcionalidad
### Bypass de escritura
Esto no es un bypass, es simplemente cómo funciona TCC: **no protege de la escritura**. Si Terminal **no tiene acceso para leer el escritorio de un usuario, aún puede escribir en él**:
Esto no es un bypass, es simplemente cómo funciona TCC: **no protege de la escritura**. Si Terminal **no tiene acceso para leer el Escritorio de un usuario, aún puede escribir en él**:
```shell-session
username@hostname ~ % ls Desktop
ls: Desktop: Operation not permitted
@ -36,15 +50,15 @@ Por lo tanto, un usuario podría **registrar una aplicación maliciosa** para ma
### iCloud
Con el permiso **`com.apple.private.icloud-account-access`** es posible comunicarse con el servicio XPC **`com.apple.iCloudHelper`**, que **proporcionará tokens de iCloud**.
Con el permiso **`com.apple.private.icloud-account-access`** es posible comunicarse con el servicio XPC **`com.apple.iCloudHelper`** que **proporcionará tokens de iCloud**.
**iMovie** y **Garageband** tenían este permiso y otros que lo permitían.
**iMovie** y **Garageband** tenían este permiso y otros que permitían.
Para obtener más **información** sobre la explotación para **obtener tokens de iCloud** de ese permiso, consulte la charla: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=\_6e2LhmxVc0)
### kTCCServiceAppleEvents / Automatización
Una aplicación con el permiso **`kTCCServiceAppleEvents`** podrá **controlar otras aplicaciones**. Esto significa que podría ser capaz de **abusar de los permisos otorgados a otras aplicaciones**.
Una aplicación con el permiso **`kTCCServiceAppleEvents`** podrá **controlar otras aplicaciones**. Esto significa que podría ser capaz de **abusar de los permisos otorgados a las otras aplicaciones**.
Para obtener más información sobre los Scripts de Apple, consulte:
@ -52,7 +66,7 @@ Para obtener más información sobre los Scripts de Apple, consulte:
[macos-apple-scripts.md](macos-apple-scripts.md)
{% endcontent-ref %}
Por ejemplo, si una aplicación tiene **permiso de Automatización sobre `iTerm`**, en este ejemplo **`Terminal`** tiene acceso sobre iTerm:
Por ejemplo, si una aplicación tiene **permiso de Automatización sobre `iTerm`**, por ejemplo en este ejemplo **`Terminal`** tiene acceso sobre iTerm:
<figure><img src="../../../../.gitbook/assets/image (2) (2) (1).png" alt=""><figcaption></figcaption></figure>
@ -94,7 +108,7 @@ do shell script "rm " & POSIX path of (copyFile as alias)
El demonio **tccd** de usuario utiliza la variable de entorno **`HOME`** para acceder a la base de datos de usuarios de TCC desde: **`$HOME/Library/Application Support/com.apple.TCC/TCC.db`**
Según [esta publicación de Stack Exchange](https://stackoverflow.com/questions/135688/setting-environment-variables-on-os-x/3756686#3756686) y debido a que el demonio TCC se ejecuta a través de `launchd` dentro del dominio del usuario actual, es posible **controlar todas las variables de entorno** que se le pasan.\
Según [esta publicación de Stack Exchange](https://stackoverflow.com/questions/135688/setting-environment-variables-on-os-x/3756686#3756686) y debido a que el demonio TCC se está ejecutando a través de `launchd` dentro del dominio del usuario actual, es posible **controlar todas las variables de entorno** que se le pasan.\
Por lo tanto, un **atacante podría establecer la variable de entorno `$HOME`** en **`launchctl`** para que apunte a un **directorio controlado**, **reiniciar** el demonio **TCC** y luego **modificar directamente la base de datos de TCC** para otorgarse a sí mismo **todos los permisos de TCC disponibles** sin nunca solicitar al usuario final.\
PoC:
```bash
@ -127,7 +141,7 @@ $> ls ~/Documents
Notas tenía acceso a ubicaciones protegidas por TCC, pero cuando se crea una nota, esta se **crea en una ubicación no protegida**. Por lo tanto, se podría pedir a Notas que copie un archivo protegido en una nota (en una ubicación no protegida) y luego acceder al archivo:
<figure><img src="../../../../.gitbook/assets/image (11).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../../.gitbook/assets/image (6).png" alt=""><figcaption></figcaption></figure>
### CVE-2021-XXXX - Translocación
@ -211,7 +225,7 @@ Existen diferentes técnicas para inyectar código dentro de un proceso y abusar
### Firefox
La aplicación Firefox sigue siendo vulnerable al tener la concesión `com.apple.security.cs.disable-library-validation`:
La aplicación Firefox sigue siendo vulnerable teniendo la concesión `com.apple.security.cs.disable-library-validation`:
```xml
codesign -d --entitlements :- /Applications/Firefox.app
Executable=/Applications/Firefox.app/Contents/MacOS/firefox
@ -235,7 +249,7 @@ Executable=/Applications/Firefox.app/Contents/MacOS/firefox
</dict>
</plist>
```
Para obtener más información sobre cómo explotar esto, consulte el [**informe original**](https://wojciechregula.blog/post/how-to-rob-a-firefox/).
Para obtener más información sobre cómo explotar esto fácilmente, consulte el [**informe original**](https://wojciechregula.blog/post/how-to-rob-a-firefox/).
### CVE-2020-10006
@ -347,7 +361,7 @@ La herramienta **`/usr/sbin/asr`** permitía copiar todo el disco y montarlo en
### Servicios de ubicación
Hay una tercera base de datos de TCC en **`/var/db/locationd/clients.plist`** para indicar los clientes autorizados a **acceder a los servicios de ubicación**.\
La carpeta **`/var/db/locationd/` no estaba protegida de la montura de DMG**, por lo que era posible montar nuestro propio plist.
La carpeta **`/var/db/locationd/` no estaba protegida del montaje de DMG**, por lo que era posible montar nuestro propio plist.
## Por aplicaciones de inicio
@ -359,13 +373,13 @@ La carpeta **`/var/db/locationd/` no estaba protegida de la montura de DMG**, po
En varias ocasiones, los archivos almacenarán información sensible como correos electrónicos, números de teléfono, mensajes... en ubicaciones no protegidas (lo que cuenta como una vulnerabilidad en Apple).
<figure><img src="../../../../.gitbook/assets/image (9).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../../.gitbook/assets/image (4).png" alt=""><figcaption></figcaption></figure>
## Referencia
* [**https://medium.com/@mattshockl/cve-2020-9934-bypassing-the-os-x-transparency-consent-and-control-tcc-framework-for-4e14806f1de8**](https://medium.com/@mattshockl/cve-2020-9934-bypassing-the-os-x-transparency-consent-and-control-tcc-framework-for-4e14806f1de8)
* [**https://www.sentinelone.com/labs/bypassing-macos-tcc-user-privacy-protections-by-accident-and-design/**](https://www.sentinelone.com/labs/bypassing-macos-tcc-user-privacy-protections-by-accident-and-design/)
* [**20+ formas de evadir los mecanismos de privacidad de macOS**](https://www.youtube.com/watch?v=W9GxnP8c8FU)
* [**20+ formas de evadir los mecanismos de privacidad de tu macOS**](https://www.youtube.com/watch?v=W9GxnP8c8FU)
* [**Knockout Win Against TCC - 20+ NEW Ways to Bypass Your MacOS Privacy Mechanisms**](https://www.youtube.com/watch?v=a9hsxPdRxsY)
<details>