hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections
2023-10-12 16:21:40 +00:00
..
macos-sandbox Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2023-10-12 16:21:40 +00:00
macos-tcc Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2023-10-09 11:51:23 +00:00
macos-dangerous-entitlements.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2023-09-19 23:04:58 +00:00
macos-gatekeeper.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2023-10-04 22:48:01 +00:00
macos-sip.md Translated ['macos-hardening/macos-security-and-privilege-escalation/REA 2023-09-11 00:05:26 +00:00
README.md Translated ['macos-hardening/macos-security-and-privilege-escalation/mac 2023-10-12 16:21:40 +00:00

Protecciones de seguridad de macOS

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

Gatekeeper

Gatekeeper se utiliza generalmente para referirse a la combinación de Quarantine + Gatekeeper + XProtect, 3 módulos de seguridad de macOS que intentarán evitar que los usuarios ejecuten software potencialmente malicioso descargado.

Más información en:

{% content-ref url="macos-gatekeeper.md" %} macos-gatekeeper.md {% endcontent-ref %}

MRT - Herramienta de eliminación de malware

La Herramienta de eliminación de malware (MRT) es otra parte de la infraestructura de seguridad de macOS. Como su nombre indica, la función principal de MRT es eliminar malware conocido de sistemas infectados.

Una vez que se detecta malware en un Mac (ya sea por XProtect o por algún otro medio), se puede utilizar MRT para eliminar automáticamente el malware. MRT funciona en segundo plano de forma silenciosa y se ejecuta normalmente cuando se actualiza el sistema o cuando se descarga una nueva definición de malware (parece que las reglas que MRT tiene para detectar malware están dentro del binario).

Si bien tanto XProtect como MRT son parte de las medidas de seguridad de macOS, realizan funciones diferentes:

  • XProtect es una herramienta preventiva. Verifica los archivos a medida que se descargan (a través de ciertas aplicaciones) y, si detecta algún tipo de malware conocido, impide que el archivo se abra, evitando así que el malware infecte el sistema en primer lugar.
  • MRT, por otro lado, es una herramienta reactiva. Opera después de que se haya detectado malware en un sistema, con el objetivo de eliminar el software ofensivo para limpiar el sistema.

La aplicación MRT se encuentra en /Library/Apple/System/Library/CoreServices/MRT.app

Limitaciones de procesos

SIP - Protección de la integridad del sistema

{% content-ref url="macos-sip.md" %} macos-sip.md {% endcontent-ref %}

Sandbox

El Sandbox de macOS limita las aplicaciones que se ejecutan dentro del sandbox a las acciones permitidas especificadas en el perfil del Sandbox con el que se ejecuta la aplicación. Esto ayuda a garantizar que la aplicación solo acceda a los recursos esperados.

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

TCC - Transparencia, Consentimiento y Control

TCC (Transparencia, Consentimiento y Control) es un mecanismo en macOS para limitar y controlar el acceso de las aplicaciones a ciertas funciones, generalmente desde una perspectiva de privacidad. Esto puede incluir cosas como servicios de ubicación, contactos, fotos, micrófono, cámara, accesibilidad, acceso completo al disco y muchas más.

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

Caché de confianza

La caché de confianza de Apple macOS, a veces también conocida como caché AMFI (Apple Mobile File Integrity), es un mecanismo de seguridad en macOS diseñado para evitar que se ejecute software no autorizado o malicioso. Esencialmente, es una lista de hashes criptográficos que el sistema operativo utiliza para verificar la integridad y autenticidad del software.

Cuando una aplicación o archivo ejecutable intenta ejecutarse en macOS, el sistema operativo verifica la caché de confianza de AMFI. Si se encuentra el hash del archivo en la caché de confianza, el sistema permite que el programa se ejecute porque lo reconoce como confiable.

Restricciones de inicio

Controla desde dónde y qué puede iniciar un binario firmado por Apple:

  • No se puede iniciar una aplicación directamente si debe ser ejecutada por launchd.
  • No se puede ejecutar una aplicación fuera de la ubicación de confianza (como /System/).

El archivo que contiene información sobre estas restricciones se encuentra en macOS en /System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/StaticTrustCache.img4 (y en iOS parece que está en /usr/standalone/firmware/FUD/StaticTrustCache.img4).

Parece que era posible utilizar la herramienta img4tool para extraer la caché:

img4tool -e in.img4 -o out.bin

Sin embargo, no he podido compilarlo en M1. También puedes usar pyimg4, pero el siguiente script no funciona con esa salida.

Luego, puedes usar un script como este para extraer datos.

A partir de esos datos, puedes verificar las aplicaciones con un valor de restricciones de inicio de 0, que son las que no están restringidas (ver aquí para saber qué significa cada valor).

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