# Abuso de Procesos en macOS
Aprende hacking en AWS de cero a h茅roe con htARTE (HackTricks AWS Red Team Expert)! Otras formas de apoyar a HackTricks: * 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 exclusivos**](https://opensea.io/collection/the-peass-family) * **脷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).
## Abuso de Procesos en MacOS MacOS, como cualquier otro sistema operativo, ofrece una variedad de m茅todos y mecanismos para que los **procesos interact煤en, se comuniquen y compartan datos**. Aunque estas t茅cnicas son esenciales para el funcionamiento eficiente del sistema, tambi茅n pueden ser abusadas por actores de amenazas para **realizar actividades maliciosas**. ### Inyecci贸n de Bibliotecas La Inyecci贸n de Bibliotecas es una t茅cnica en la que un atacante **fuerza a un proceso a cargar una biblioteca maliciosa**. Una vez inyectada, la biblioteca se ejecuta en el contexto del proceso objetivo, proporcionando al atacante los mismos permisos y acceso que el proceso. {% content-ref url="macos-library-injection/" %} [macos-library-injection](macos-library-injection/) {% endcontent-ref %} ### Gancho de Funciones El Gancho de Funciones implica **interceptar llamadas a funciones** o mensajes dentro de un c贸digo de software. Al enganchar funciones, un atacante puede **modificar el comportamiento** de un proceso, observar datos sensibles o incluso tomar control sobre el flujo de ejecuci贸n. {% content-ref url="../mac-os-architecture/macos-function-hooking.md" %} [macos-function-hooking.md](../mac-os-architecture/macos-function-hooking.md) {% endcontent-ref %} ### Comunicaci贸n Entre Procesos La Comunicaci贸n Entre Procesos (IPC) se refiere a diferentes m茅todos por los cuales procesos separados **comparten e intercambian datos**. Aunque el IPC es fundamental para muchas aplicaciones leg铆timas, tambi茅n puede ser mal utilizado para subvertir el aislamiento de procesos, filtrar informaci贸n sensible o realizar acciones no autorizadas. {% content-ref url="../mac-os-architecture/macos-ipc-inter-process-communication/" %} [macos-ipc-inter-process-communication](../mac-os-architecture/macos-ipc-inter-process-communication/) {% endcontent-ref %} ### Inyecci贸n en Aplicaciones Electron Las aplicaciones Electron ejecutadas con variables de entorno espec铆ficas podr铆an ser vulnerables a la inyecci贸n de procesos: {% content-ref url="macos-electron-applications-injection.md" %} [macos-electron-applications-injection.md](macos-electron-applications-injection.md) {% endcontent-ref %} ### NIB Sucio Los archivos NIB **definen elementos de la interfaz de usuario (UI)** y sus interacciones dentro de una aplicaci贸n. Sin embargo, pueden **ejecutar comandos arbitrarios** y **Gatekeeper no detiene** la ejecuci贸n de una aplicaci贸n ya ejecutada si un **archivo NIB es modificado**. Por lo tanto, podr铆an ser utilizados para hacer que programas arbitrarios ejecuten comandos arbitrarios: {% content-ref url="macos-dirty-nib.md" %} [macos-dirty-nib.md](macos-dirty-nib.md) {% endcontent-ref %} ### Inyecci贸n en Aplicaciones Java Es posible abusar de ciertas capacidades de Java (como la variable de entorno **`_JAVA_OPTS`**) para hacer que una aplicaci贸n Java ejecute **c贸digo/comandos arbitrarios**. {% content-ref url="macos-java-apps-injection.md" %} [macos-java-apps-injection.md](macos-java-apps-injection.md) {% endcontent-ref %} ### Inyecci贸n en Aplicaciones .Net Es posible inyectar c贸digo en aplicaciones .Net **abusando de la funcionalidad de depuraci贸n de .Net** (no protegida por las protecciones de macOS como el endurecimiento en tiempo de ejecuci贸n). {% content-ref url="macos-.net-applications-injection.md" %} [macos-.net-applications-injection.md](macos-.net-applications-injection.md) {% endcontent-ref %} ### Inyecci贸n en Perl Consulta diferentes opciones para hacer que un script de Perl ejecute c贸digo arbitrario en: {% content-ref url="macos-perl-applications-injection.md" %} [macos-perl-applications-injection.md](macos-perl-applications-injection.md) {% endcontent-ref %} ### Inyecci贸n en Python Si la variable de entorno **`PYTHONINSPECT`** est谩 establecida, el proceso de python pasar谩 a una CLI de python una vez que haya terminado. Tambi茅n es posible usar **`PYTHONSTARTUP`** para indicar un script de python que se ejecute al inicio de una sesi贸n interactiva.\ Sin embargo, ten en cuenta que el script **`PYTHONSTARTUP`** no se ejecutar谩 cuando **`PYTHONINSPECT`** cree la sesi贸n interactiva. Otras variables de entorno como **`PYTHONPATH`** y **`PYTHONHOME`** tambi茅n podr铆an ser 煤tiles para hacer que un comando de python ejecute c贸digo arbitrario. Ten en cuenta que los ejecutables compilados con **`pyinstaller`** no utilizar谩n estas variables de entorno incluso si se est谩n ejecutando usando un python embebido. {% hint style="danger" %} En general, no encontr茅 una manera de hacer que python ejecute c贸digo arbitrario abusando de las variables de entorno.\ Sin embargo, la mayor铆a de las personas instalan python usando **Homebrew**, que instalar谩 python en una **ubicaci贸n escribible** para el usuario administrador predeterminado. Puedes secuestrarlo con algo como: ```bash mv /opt/homebrew/bin/python3 /opt/homebrew/bin/python3.old cat > /opt/homebrew/bin/python3 < Aprende hacking en AWS de cero a h茅roe con htARTE (HackTricks AWS Red Team Expert)! Otras formas de apoyar a HackTricks: * 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 **s铆gueme** en **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).