Email Injections

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

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://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

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

アカウント乗っ取り

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

Reply-To

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

ハードバウンス率

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

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

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

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

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

参考文献

**htARTE(HackTricks AWS Red Team Expert)**で**ゼロからヒーローまでのAWSハッキング**を学びましょう!

HackTricksをサポートする他の方法:

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

Last updated