hacktricks/pentesting-web/email-injections.md

11 KiB
Raw Blame History

Email Injections


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

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}

{% hint style="success" %} AWSハッキングを学び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践するHackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする
{% endhint %}

送信されたメールに注入する

送信者引数の後に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

メッセージは元の受信者と攻撃者のアカウントに送信されます。

Subject引数のインジェクト

From:sender@domain.com%0ASubject:This is%20Fake%20Subject

偽の件名は元の件名に追加され、場合によってはそれを置き換えます。これはメールサービスの動作に依存します。

メッセージの本文を変更する

二行の改行を挿入し、その後にメッセージを書いてメッセージの本文を変更します。

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を確認してください。

Eメール名への注入

Eメールの無視される部分

記号:**+、-および{}**は、稀にタグ付けに使用され、ほとんどのEメールサーバーによって無視されることがあります。

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

ホワイトリストバイパス

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

アカウント乗っ取り

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

Reply-To

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

ハードバウンス率

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

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

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

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

詳細な情報については、AWSの公式ドキュメントでバウンスと苦情の処理に関する情報を参照できますAWS SES Bounce Handling

参考文献

{% hint style="success" %} AWSハッキングを学び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践するHackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする
{% endhint %}


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

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}