Seguridad y Escalación de Privilegios en macOS

Reading time: 5 minutes

tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks

MacOS Básico

Si no estás familiarizado con macOS, deberías comenzar a aprender los conceptos básicos de macOS:

  • Archivos y permisos especiales de macOS:

macOS Files, Folders, Binaries & Memory

  • Usuarios comunes de macOS

macOS Users & External Accounts

  • AppleFS

macOS AppleFS

  • La arquitectura del kernel

macOS Kernel & System Extensions

  • Servicios y protocolos de red comunes de macOS

macOS Network Services & Protocols

MDM de MacOS

En las empresas, los sistemas macOS probablemente serán gestionados con un MDM. Por lo tanto, desde la perspectiva de un atacante, es interesante saber cómo funciona eso:

macOS MDM

MacOS - Inspección, Depuración y Fuzzing

macOS Apps - Inspecting, debugging and Fuzzing

Protecciones de Seguridad de MacOS

macOS Security Protections

Superficie de Ataque

Permisos de Archivos

Si un proceso que se ejecuta como root escribe un archivo que puede ser controlado por un usuario, el usuario podría abusar de esto para escalar privilegios.
Esto podría ocurrir en las siguientes situaciones:

  • El archivo utilizado ya fue creado por un usuario (pertenece al usuario)
  • El archivo utilizado es escribible por el usuario debido a un grupo
  • El archivo utilizado está dentro de un directorio propiedad del usuario (el usuario podría crear el archivo)
  • El archivo utilizado está dentro de un directorio propiedad de root, pero el usuario tiene acceso de escritura sobre él debido a un grupo (el usuario podría crear el archivo)

Poder crear un archivo que va a ser utilizado por root, permite a un usuario aprovechar su contenido o incluso crear symlinks/hardlinks para apuntar a otro lugar.

Para este tipo de vulnerabilidades, no olvides verificar instaladores .pkg vulnerables:

macOS Installers Abuse

Manejadores de Extensiones de Archivos y Esquemas de URL

Aplicaciones extrañas registradas por extensiones de archivo podrían ser abusadas y diferentes aplicaciones pueden registrarse para abrir protocolos específicos.

macOS File Extension & URL scheme app handlers

Escalación de Privilegios TCC / SIP en macOS

En macOS, las aplicaciones y binarios pueden tener permisos para acceder a carpetas o configuraciones que los hacen más privilegiados que otros.

Por lo tanto, un atacante que quiera comprometer con éxito una máquina macOS necesitará escalar sus privilegios TCC (o incluso eludir SIP, dependiendo de sus necesidades).

Estos privilegios generalmente se otorgan en forma de derechos con los que la aplicación está firmada, o la aplicación podría solicitar algunos accesos y después de que el usuario los apruebe, pueden encontrarse en las bases de datos TCC. Otra forma en que un proceso puede obtener estos privilegios es siendo un hijo de un proceso con esos privilegios, ya que generalmente son heredados.

Sigue estos enlaces para encontrar diferentes formas de escalar privilegios en TCC, para eludir TCC y cómo en el pasado se ha eludido SIP.

Escalación de Privilegios Tradicional en macOS

Por supuesto, desde la perspectiva de un equipo rojo, también deberías estar interesado en escalar a root. Consulta la siguiente publicación para algunos consejos:

macOS Privilege Escalation

Cumplimiento de macOS

Referencias

tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks