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
Використовуючи змінну середовища PERL5OPT, можна змусити perl виконувати довільні команди. Наприклад, створіть цей скрипт:
Тепер експортуйте змінну середовища та виконайте perl скрипт:
Інший варіант - створити модуль Perl (наприклад, /tmp/pmod.pm
):
А потім використовуйте змінні середовища:
Можливо перерахувати порядок папок залежностей, які використовує Perl:
Що поверне щось на зразок:
Деякі з повернених папок навіть не існують, однак, /Library/Perl/5.30
дійсно існує, вона не захищена SIP і вона перед папками, захищеними SIP. Тому хтось може зловживати цією папкою, щоб додати залежності скриптів, щоб скрипт Perl з високими привілеями міг його завантажити.
Однак зверніть увагу, що вам потрібно бути root, щоб записати в цю папку і в наш час ви отримаєте цей TCC запит:
Наприклад, якщо скрипт імпортує use File::Basename;
, буде можливим створити /Library/Perl/5.30/File/Basename.pm
, щоб виконати довільний код.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)