macOS Perl Applications Injection
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (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)