hacktricks/pentesting-web/email-injections.md

168 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# E-posta Enjeksiyonları
<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) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Edinin:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
<details>
<summary><strong>Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklam görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
</details>
## Gönderilen e-postaya enjekte edin
### Gönderen argümanından sonra Cc ve Bcc enjekte edin
```
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
```
Mesaj alıcı ve alıcı1 hesaplarına gönderilecektir.
### Argüman enjeksiyonu
```
From:sender@domain.com%0ATo:attacker@domain.com
```
### Konu argümanı enjekte edilir
```
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
```
### Mesajın gövdesini değiştirin
İki satır boşluk ekleyin, ardından mesajınızı yazın ve mesajın gövdesini değiştirin.
```
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
```
### PHP mail() fonksiyonu sömürüsü
```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. Parametre ($additional\_parameters)
Bu bölüm, **saldırganın bu parametreyi kontrol ettiği varsayılarak nasıl kötüye kullanılacağına** dayanacaktır.
Bu parametre, PHP'nin, ikili sendmail'i çağırmak için kullanacağı komut satırına eklenecektir. Bununla birlikte, bu parametre, `escapeshellcmd($additional_parameters)` işlevi ile temizlenecektir.
Bir saldırgan bu durumda **sendmail için ek parametreler enjekte edebilir**.
#### /usr/sbin/sendmail'in uygulamasındaki farklılıklar
**sendmail** arayüzü, sistemde yüklü olan MTA e-posta yazılımı (Sendmail, Postfix, Exim vb.) tarafından **sağlanır**. Temel işlevsellik (-t -i -f parametreleri gibi) uyumluluk nedeniyle **aynı kalırken**, **diğer işlevler ve parametreler** yüklenen MTA'ya bağlı olarak büyük ölçüde değişir.
İşte sendmail komut/arayüzünün farklı man sayfalarından bazı örnekler:
* 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'in kökenine** bağlı olarak, bunları kötüye kullanmak ve dosyaları sızdırmak veya hatta keyfi komutlar **çalıştırmak için farklı seçenekler keşfedilmiştir**. Nasıl yapıldığını kontrol edin [**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-posta adına enjekte et
### E-postanın ihmal edilen kısımları
Semboller: **+, -** ve **{}** nadir durumlarda etiketleme için kullanılabilir ve çoğu e-posta sunucusu tarafından **ihmal edilir**
* Örn. john.doe+intigriti@example.com → john.doe@example.com
Parantezler arasındaki yorumlar () başta veya sonda da **ihmal edilecektir**
* Örn. john.doe(intigriti)@example.com → john.doe@example.com
### Beyaz liste atlatma
<figure><img src="../.gitbook/assets/image (812).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### Alıntılar
<figure><img src="../.gitbook/assets/image (626).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### IP'ler
Kare parantezler arasında alan adı olarak IP'leri de kullanabilirsiniz:
* john.doe@\[127.0.0.1]
* john.doe@\[IPv6:2001:db8::1]
### Diğer zafiyetler
![https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](<../.gitbook/assets/image (1131).png>)
## Üçüncü Taraf SSO
### XSS
**Github** veya **salesforce** gibi bazı hizmetler, **XSS yükleri içeren bir e-posta adresi oluşturmanıza izin verir**. Bu sağlayıcıları **başka hizmetlere giriş yapmak için kullanabilirseniz** ve bu hizmetler e-postayı **doğru bir şekilde temizlemiyorsa**, **XSS** oluşturabilirsiniz.
### Hesap Ele Geçirme
Bir **SSO hizmeti**, verilen e-posta adresini doğrulamadan bir hesap oluşturmanıza izin veriyorsa (örneğin **salesforce**) ve daha sonra bu hesabı kullanarak salesforce'a güvenen başka bir hizmete giriş yapabilirseniz, herhangi bir hesaba erişebilirsiniz.\
_Unutulmamalıdır ki salesforce, verilen e-postanın doğrulanıp doğrulanmadığını belirtir ancak uygulama bu bilgiyi dikkate almalıdır._
## Yanıt Adresi
**_Gönderen: şirket.com_** ve **_Yanıt Adresi: saldırgan.com_** kullanarak bir e-posta gönderebilir ve eğer e-posta **içeriden bir adresten gönderildiyse** otomatik bir yanıt gönderilirse, **saldırgan** o **yanıtı alabilir**.
## Sert Geri Dönüş Oranı
AWS gibi belirli hizmetler, genellikle %10 olarak belirlenen **Sert Geri Dönüş Oranı** adı verilen bir eşiği uygular. Bu, özellikle e-posta teslimat hizmetleri için kritik bir metriktir. Bu oran aşıldığında, AWS'nin e-posta hizmeti gibi bir hizmet, e-posta gönderme yeteneklerinizi askıya alabilir veya engelleyebilir.
**Sert geri dönüş**, alıcının adresinin geçersiz veya mevcut olmaması nedeniyle gönderene geri döndürülen bir e-postayı ifade eder. Bu, e-postanın mevcut olmayan bir adrese, gerçek olmayan bir alan adına veya alıcı sunucusunun e-postaları kabul etmeyi reddetmesi gibi çeşitli nedenlerden kaynaklanabilir.
AWS bağlamında, 1000 e-posta gönderirseniz ve bunlardan 100'ü sert geri dönüşlerle sonuçlanırsa (geçersiz adresler veya alanlar gibi nedenlerden dolayı), bu %10'luk bir sert geri dönüş oranı anlamına gelir. Bu oranı aşmak, AWS SES (Basit E-posta Hizmeti) hizmetini e-posta gönderme yeteneklerinizi engellemek veya askıya almak için tetikleyebilir.
Kesintisiz e-posta hizmetini sağlamak ve gönderen itibarını korumak için düşük bir sert geri dönüş oranını korumak son derece önemlidir. Posta listelerinizdeki e-posta adreslerinin kalitesini izlemek ve yönetmek, bunu başarmada önemli ölçüde yardımcı olabilir.
Daha detaylı bilgi için, AWS'nin sert geri dönüşler ve şikayetlerle başa çıkma konusundaki resmi belgelerine başvurulabilir [AWS SES Geri Dönüş İşleme](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types).
## Referanslar
* [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)
<details>
<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerine göz atın**](https://peass.creator-spring.com)
* [**The PEASS Family'yi keşfedin**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek **hacking püf noktalarınızı paylaşın**.
</details>
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections)'i kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}