macOS Perl Applications Injection
Putem PERL5OPT
& PERL5LIB
env promenljive
PERL5OPT
& PERL5LIB
env promenljiveKorišćenjem env promenljive PERL5OPT moguće je naterati perl da izvrši proizvoljne komande. Na primer, kreirajte ovaj skript:
Sada izvezite env promenljivu i izvršite perl skriptu:
Druga opcija je da se kreira Perl modul (npr. /tmp/pmod.pm
):
Zatim koristite env promenljive:
Preko zavisnosti
Moguće je izlistati redosled foldera zavisnosti Perl-a koji se izvršava:
Koji će vratiti nešto slično:
Neke od vraćenih mapa čak ne postoje, međutim, /Library/Perl/5.30
postoji, nije zaštićen od strane SIP-a i nalazi se ispred mapa zaštićenih SIP-om. Stoga, neko bi mogao zloupotrebiti tu mapu da bi dodao zavisnosti skripta tamo kako bi visoko privilegovani Perl skript učitao te zavisnosti.
Međutim, imajte na umu da morate biti root da biste pisali u tu mapu i danas ćete dobiti ovaj TCC prozor:
Na primer, ako skript uvozi use File::Basename;
bilo bi moguće kreirati /Library/Perl/5.30/File/Basename.pm
da bi se izvršio proizvoljni kod.
Reference
Last updated