macOS Perl Applications Injection
Last updated
Last updated
Aprenda e pratique Hacking na AWS:Treinamento HackTricks AWS Red Team Expert (ARTE) Aprenda e pratique Hacking na GCP: Treinamento HackTricks GCP Red Team Expert (GRTE)
PERL5OPT
e PERL5LIB
Usando a variável de ambiente PERL5OPT é possível fazer o perl executar comandos arbitrários. Por exemplo, crie este script:
Agora exporte a variável de ambiente e execute o script perl:
Outra opção é criar um módulo Perl (por exemplo, /tmp/pmod.pm
):
E então use as variáveis de ambiente:
É possível listar a ordem da pasta de dependências do Perl em execução:
O seguinte conteúdo é de um livro sobre técnicas de hacking. O conteúdo a seguir é do arquivo macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md.
Algumas das pastas retornadas nem sequer existem, no entanto, /Library/Perl/5.30
existe, não é protegida pelo SIP e está antes das pastas protegidas pelo SIP. Portanto, alguém poderia abusar dessa pasta para adicionar dependências de script nela, para que um script Perl de alta privilégio as carregue.
No entanto, observe que você precisa ser root para escrever nessa pasta e hoje em dia você receberá este prompt TCC:
Por exemplo, se um script estiver importando use File::Basename;
seria possível criar /Library/Perl/5.30/File/Basename.pm
para executar código arbitrário.
Aprenda e pratique Hacking AWS:Treinamento HackTricks AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: Treinamento HackTricks GCP Red Team Expert (GRTE)