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 variableUżywając zmiennej środowiskowej PERL5OPT, możliwe jest wykonanie dowolnych poleceń przez perl. Na przykład, stwórz ten skrypt:
Teraz wyeksportuj zmienną env i uruchom skrypt perl:
Inną opcją jest stworzenie modułu Perl (np. /tmp/pmod.pm
):
A następnie użyj zmiennych środowiskowych:
Możliwe jest wylistowanie kolejności folderów zależności uruchomionego Perla:
Co zwróci coś takiego:
Niektóre z zwróconych folderów nawet nie istnieją, jednak /Library/Perl/5.30
istnieje, nie jest chroniony przez SIP i znajduje się przed folderami chronionymi przez SIP. Dlatego ktoś mógłby nadużyć tego folderu, aby dodać zależności skryptu, tak aby skrypt Perl z wysokimi uprawnieniami załadował je.
Jednak pamiętaj, że musisz być rootem, aby pisać w tym folderze i dzisiaj otrzymasz ten monit TCC:
Na przykład, jeśli skrypt importuje use File::Basename;
, możliwe byłoby stworzenie /Library/Perl/5.30/File/Basename.pm
, aby wykonać dowolny kod.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)