macOS Perl Applications Injection
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
PERL5OPT
& PERL5LIB
variabile d'ambienteUtilizzando la variabile d'ambiente PERL5OPT è possibile far eseguire a perl comandi arbitrari. Ad esempio, crea questo script:
Ora esporta la variabile env ed esegui lo script perl:
Un'altra opzione è creare un modulo Perl (ad esempio, /tmp/pmod.pm
):
E poi usa le variabili di ambiente:
È possibile elencare l'ordine della cartella delle dipendenze di Perl in esecuzione:
Che restituirà qualcosa come:
Alcune delle cartelle restituite non esistono nemmeno, tuttavia, /Library/Perl/5.30
esiste, non è protetta da SIP ed è prima delle cartelle protette da SIP. Pertanto, qualcuno potrebbe abusare di quella cartella per aggiungere dipendenze di script in modo che uno script Perl ad alta privilegio lo carichi.
Tuttavia, nota che devi essere root per scrivere in quella cartella e oggigiorno riceverai questo prompt TCC:
Ad esempio, se uno script importa use File::Basename;
, sarebbe possibile creare /Library/Perl/5.30/File/Basename.pm
per far eseguire codice arbitrario.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)