Seguridad de macOS y Escalaci贸n de Privilegios
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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
- La arquitectura del kernel
macOS Kernel & System Extensions
- Servicios y protocolos de red comunes de macOS
macOS Network Services & Protocols
- Opensource macOS: https://opensource.apple.com/
- Para descargar un
tar.gz
, cambia una URL como https://opensource.apple.com/source/dyld/ a https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
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 - Inspecci贸n, Depuraci贸n y Fuzzing
macOS Apps - Inspecting, debugging and Fuzzing
Protecciones de Seguridad de MacOS
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:
Manejadores de Aplicaciones de Extensi贸n de Archivo y Esquema 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 de macOS
En macOS, las aplicaciones y binarios pueden tener permisos para acceder a carpetas o configuraciones que les otorgan m谩s privilegios que a 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 de 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:
Cumplimiento de macOS
Referencias
- OS X Incident Response: Scripting and Analysis
- https://taomm.org/vol1/analysis.html
- https://github.com/NicolasGrimonpont/Cheatsheet
- https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ
- https://www.youtube.com/watch?v=vMGiplQtjTY
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.