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
env varijableKorišćenjem env varijable PERL5OPT moguće je naterati perl da izvršava proizvoljne komande. Na primer, kreirajte ovaj skript:
Sada izvezite env promenljivu i izvršite perl skript:
Druga opcija je da se kreira Perl modul (npr. /tmp/pmod.pm
):
I zatim koristite env promenljive:
Moguće je navesti redosled foldera zavisnosti Perl-a koji se izvršava:
Što će vratiti nešto poput:
Neki od vraćenih foldera čak ni ne postoje, međutim, /Library/Perl/5.30
postoji, nije zaštićen SIP-om i nalazi se pre foldera zaštićenih SIP-om. Stoga, neko bi mogao da zloupotrebi taj folder da doda zavisnosti skripti, tako da će skripta sa visokim privilegijama učitati to.
Međutim, imajte na umu da morate biti root da biste pisali u taj folder i danas ćete dobiti ovaj TCC prompt:
Na primer, ako skripta uvozi use File::Basename;
, bilo bi moguće kreirati /Library/Perl/5.30/File/Basename.pm
da bi se izvršio proizvoljan kod.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)