macOS Perl Applications Injection
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
PERL5OPT
& PERL5LIB
Usando la variable de entorno PERL5OPT es posible hacer que perl ejecute comandos arbitrarios. Por ejemplo, crea este script:
Ahora exporta la variable de entorno y ejecuta el script de perl:
Otra opción es crear un módulo de Perl (por ejemplo, /tmp/pmod.pm
):
Y luego usa las variables de entorno:
Es posible listar el orden de la carpeta de dependencias de Perl en ejecución:
Lo que devolverá algo como:
Algunas de las carpetas devueltas ni siquiera existen, sin embargo, /Library/Perl/5.30
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 script allí para que un script Perl de alto privilegio lo cargue.
Sin embargo, ten en cuenta que necesitas ser root para escribir en esa carpeta y hoy en día recibirás este mensaje de TCC:
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.
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)