<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sigue** a **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **/Library**: Aquí se pueden encontrar muchos subdirectorios y archivos relacionados con preferencias, cachés y registros. Existe una carpeta Library en la raíz y en el directorio de cada usuario.
* **/.vol**: Al ejecutar `stat a.txt` obtienes algo como `16777223 7545753 -rw-r--r-- 1 username wheel ...` donde el primer número es el número de identificación del volumen donde existe el archivo y el segundo es el número de inodo. Puedes acceder al contenido de este archivo a través de /.vol/ con esa información ejecutando `cat /.vol/16777223/7545753`
* Los **datos de la aplicación** se pueden encontrar en `/Library/Application Support` para las aplicaciones que se ejecutan como root y `~/Library/Application Support` para aplicaciones que se ejecutan como el usuario.
* Los **daemons** de aplicaciones de terceros que **necesitan ejecutarse como root** generalmente se ubican en `/Library/PrivilegedHelperTools/`
* Las aplicaciones **sandboxed** se mapean en la carpeta `~/Library/Containers`. Cada aplicación tiene una carpeta nombrada de acuerdo con el ID del paquete de la aplicación (`com.apple.Safari`).
* **`.pkg`**: Son lo mismo que xar (formato de archivo extensible). El comando de instalación se puede usar para instalar el contenido de estos archivos.
Básicamente, un paquete es una **estructura de directorio** dentro del sistema de archivos. Curiosamente, por defecto este directorio **parece un solo objeto en Finder** (como `.app`). 
En macOS (y iOS) todas las bibliotecas compartidas del sistema, como frameworks y dylibs, se **combinan en un solo archivo**, llamado **dyld shared cache**. Esto mejora el rendimiento, ya que el código se puede cargar más rápido.
Similar al dyld shared cache, el kernel y las extensiones del kernel también se compilan en un caché del kernel, que se carga en el momento del arranque.
Para extraer las bibliotecas del archivo único dylib shared cache era posible usar el binario [dyld\_shared\_cache\_util](https://www.mbsplugins.de/files/dyld\_shared\_cache\_util-dyld-733.8.zip) que podría no estar funcionando hoy en día, pero también puedes usar [**dyldextractor**](https://github.com/arandomdev/dyldextractor):
Ten en cuenta que incluso si la herramienta `dyld_shared_cache_util` no funciona, puedes pasar el **binario dyld compartido a Hopper** y Hopper será capaz de identificar todas las bibliotecas y permitirte **seleccionar cuál** quieres investigar:
En una **carpeta**, **leer** permite **listarla**, **escribir** permite **eliminar** y **escribir** archivos en ella, y **ejecutar** permite **atravesar** el directorio. Por lo tanto, por ejemplo, un usuario con **permiso de lectura sobre un archivo** dentro de un directorio donde **no tiene permiso de ejecución****no podrá leer** el archivo.
Hay algunas banderas que se pueden establecer en los archivos que harán que el archivo se comporte de manera diferente. Puedes **verificar las banderas** de los archivos dentro de un directorio con `ls -lO /path/directory`
* **`uchg`**: Conocida como bandera **uchange**, **evitará cualquier acción** que cambie o elimine el **archivo**. Para establecerla haz: `chflags uchg file.txt`
* El usuario root podría **eliminar la bandera** y modificar el archivo
* **`Sticky bit`**: Si un directorio con sticky bit, **solo** el **propietario del directorio o root pueden renombrar o eliminar** archivos. Típicamente esto se establece en el directorio /tmp para evitar que los usuarios ordinarios eliminen o muevan archivos de otros usuarios.
Esta es una forma de obtener **Alternate Data Streams en MacOS**. Puedes guardar contenido dentro de un atributo extendido llamado **com.apple.ResourceFork** dentro de un archivo guardándolo en **file/..namedfork/rsrc**.
Los binarios de Mac OS suelen compilarse como **binarios universales**. Un **binario universal** puede **soportar múltiples arquitecturas en el mismo archivo**.
Los archivos `/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/System` contienen el riesgo asociado a archivos dependiendo de la extensión del archivo.
* **LSRiskCategorySafe**: **Totalmente****seguro**; Safari lo abrirá automáticamente después de la descarga
* **LSRiskCategoryNeutral**: Sin advertencia, pero **no se abre automáticamente**
* **LSRiskCategoryUnsafeExecutable**: **Desencadena** una **advertencia** “Este archivo es una aplicación...”
* **LSRiskCategoryMayContainUnsafeExecutable**: Esto es para cosas como archivos comprimidos que contienen un ejecutable. **Desencadena una advertencia a menos que Safari pueda determinar que todo el contenido es seguro o neutral**.
* **`$HOME/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2`**: Contiene información sobre archivos descargados, como la URL de donde se descargaron.
* **`/var/log/system.log`**: Registro principal de los sistemas OSX. com.apple.syslogd.plist es responsable de la ejecución del registro del sistema (puedes verificar si está desactivado buscando "com.apple.syslogd" en `launchctl list`).
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).