mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
150 lines
8.5 KiB
Markdown
150 lines
8.5 KiB
Markdown
# Hesap Ele Geçirme
|
||
|
||
{% hint style="success" %}
|
||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
|
||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
## **Yetkilendirme Sorunu**
|
||
|
||
Bir hesabın e-posta adresinin değiştirilmesi denenmeli ve onay süreci **incelenmelidir**. Eğer **zayıf** bulunursa, e-posta hedef kurbanın e-posta adresi ile değiştirilip onaylanmalıdır.
|
||
|
||
## **Unicode Normalizasyon Sorunu**
|
||
|
||
1. Hedef kurbanın hesabı `victim@gmail.com`
|
||
2. Unicode kullanarak bir hesap oluşturulmalıdır\
|
||
örneğin: `vićtim@gmail.com`
|
||
|
||
[**bu konuşmada**](https://www.youtube.com/watch?v=CiIyaZ3x49c) açıklandığı gibi, önceki saldırı üçüncü taraf kimlik sağlayıcılarını kötüye kullanarak da yapılabilir:
|
||
|
||
* Kurbanın e-posta adresine benzer bir e-posta ile üçüncü taraf kimlik sağlayıcısında bir hesap oluşturun (`vićtim@company.com`).
|
||
* Üçüncü taraf sağlayıcı e-posta adresini doğrulamamalıdır.
|
||
* Eğer kimlik sağlayıcı e-posta adresini doğruluyorsa, belki de alan adı kısmını `victim@ćompany.com` gibi saldırıya uğratabilir ve o alan adını kaydedip kimlik sağlayıcının alan adının ascii versiyonunu oluşturmasını umabilirsiniz, bu sırada kurban platformu alan adı adını normalize eder.
|
||
* Bu kimlik sağlayıcı aracılığıyla kurban platformuna giriş yapın, bu platform unicode karakterini normalize etmeli ve kurban hesabına erişmenize izin vermelidir.
|
||
|
||
Daha fazla ayrıntı için, Unicode Normalizasyonu belgesine bakın:
|
||
|
||
{% content-ref url="unicode-injection/unicode-normalization.md" %}
|
||
[unicode-normalization.md](unicode-injection/unicode-normalization.md)
|
||
{% endcontent-ref %}
|
||
|
||
## **Sıfırlama Token'ını Yeniden Kullanma**
|
||
|
||
Hedef sistem **sıfırlama bağlantısının yeniden kullanılmasına** izin veriyorsa, `gau`, `wayback` veya `scan.io` gibi araçlar kullanarak **daha fazla sıfırlama bağlantısı bulmak için çaba sarf edilmelidir**.
|
||
|
||
## **Hesap Ele Geçirmeden Önce**
|
||
|
||
1. Kurbanın e-posta adresi platformda kaydolmak için kullanılmalı ve bir şifre belirlenmelidir (kurbanın e-postalarına erişim yoksa onaylama girişimi yapılamayabilir).
|
||
2. Kurbanın OAuth kullanarak kaydolmasını ve hesabı onaylamasını beklemelidir.
|
||
3. Normal kaydın onaylanması umulmakta, bu da kurbanın hesabına erişim sağlanmasını mümkün kılmaktadır.
|
||
|
||
## **CORS Yanlış Yapılandırması ile Hesap Ele Geçirme**
|
||
|
||
Sayfa **CORS yanlış yapılandırmaları** içeriyorsa, kullanıcının **hassas bilgilerini çalmak** veya aynı amaçla kimlik bilgilerini değiştirmesini sağlamak için **hesabını ele geçirebilirsiniz**:
|
||
|
||
{% content-ref url="cors-bypass.md" %}
|
||
[cors-bypass.md](cors-bypass.md)
|
||
{% endcontent-ref %}
|
||
|
||
## **CSRF ile Hesap Ele Geçirme**
|
||
|
||
Sayfa CSRF'ye karşı savunmasızsa, **kullanıcının şifresini**, e-posta adresini veya kimlik doğrulamasını değiştirmesini sağlayarak ona erişim sağlayabilirsiniz:
|
||
|
||
{% content-ref url="csrf-cross-site-request-forgery.md" %}
|
||
[csrf-cross-site-request-forgery.md](csrf-cross-site-request-forgery.md)
|
||
{% endcontent-ref %}
|
||
|
||
## **XSS ile Hesap Ele Geçirme**
|
||
|
||
Uygulamada bir XSS bulursanız, çerezleri, yerel depolamayı veya hesabı ele geçirmenizi sağlayacak web sayfasından bilgileri çalabilirsiniz:
|
||
|
||
{% content-ref url="xss-cross-site-scripting/" %}
|
||
[xss-cross-site-scripting](xss-cross-site-scripting/)
|
||
{% endcontent-ref %}
|
||
|
||
## **Aynı Kaynak + Çerezler**
|
||
|
||
Sınırlı bir XSS veya bir alt alan ele geçirme bulursanız, çerezlerle (örneğin, onları sabitleyerek) o kurban hesabını tehlikeye atmayı deneyebilirsiniz:
|
||
|
||
{% content-ref url="hacking-with-cookies/" %}
|
||
[hacking-with-cookies](hacking-with-cookies/)
|
||
{% endcontent-ref %}
|
||
|
||
## **Şifre Sıfırlama Mekanizmasına Saldırı**
|
||
|
||
{% content-ref url="reset-password.md" %}
|
||
[reset-password.md](reset-password.md)
|
||
{% endcontent-ref %}
|
||
|
||
## **Yanıt Manipülasyonu**
|
||
|
||
Eğer kimlik doğrulama yanıtı **basit bir boolean'a indirgenebiliyorsa, false'u true olarak değiştirmeyi deneyin** ve herhangi bir erişim elde edip edemediğinizi görün.
|
||
|
||
## OAuth ile Hesap Ele Geçirme
|
||
|
||
{% content-ref url="oauth-to-account-takeover.md" %}
|
||
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
|
||
{% endcontent-ref %}
|
||
|
||
## Host Başlık Enjeksiyonu
|
||
|
||
1. Şifre sıfırlama isteği başlatıldıktan sonra Host başlığı değiştirilir.
|
||
2. `X-Forwarded-For` proxy başlığı `attacker.com` olarak değiştirilir.
|
||
3. Host, Referrer ve Origin başlıkları aynı anda `attacker.com` olarak değiştirilir.
|
||
4. Şifre sıfırlama başlatıldıktan sonra e-postayı yeniden göndermeyi seçerken, yukarıda belirtilen üç yöntem de kullanılır.
|
||
|
||
## Yanıt Manipülasyonu
|
||
|
||
1. **Kod Manipülasyonu**: Durum kodu `200 OK` olarak değiştirilir.
|
||
2. **Kod ve Gövde Manipülasyonu**:
|
||
* Durum kodu `200 OK` olarak değiştirilir.
|
||
* Yanıt gövdesi `{"success":true}` veya boş bir nesne `{}` olarak değiştirilir.
|
||
|
||
Bu manipülasyon teknikleri, veri iletimi ve alımı için JSON kullanıldığında etkilidir.
|
||
|
||
## Mevcut oturumun e-posta adresini değiştirme
|
||
|
||
[bu rapordan](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
|
||
|
||
* Saldırgan yeni bir e-posta ile e-posta adresini değiştirmeyi talep eder.
|
||
* Saldırgan, e-posta değişikliğini onaylamak için bir bağlantı alır.
|
||
* Saldırgan, kurbana bağlantıyı gönderir, böylece tıklayabilir.
|
||
* Kurbanın e-posta adresi saldırganın belirttiği e-posta adresi ile değiştirilir.
|
||
* Saldırgan şifreyi kurtarabilir ve hesabı ele geçirebilir.
|
||
|
||
Bu, [**bu raporda**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea) da olmuştur.
|
||
|
||
### Eski Çerezler
|
||
|
||
[**bu yazıda**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9) açıklandığı gibi, bir hesaba giriş yapmak, çerezleri kimlik doğrulaması yapılmış bir kullanıcı olarak kaydetmek, çıkış yapmak ve sonra tekrar giriş yapmak mümkündü.\
|
||
Yeni girişle, farklı çerezler oluşturulmuş olsa da eski çerezler tekrar çalışmaya başladı.
|
||
|
||
## Referanslar
|
||
|
||
* [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050)
|
||
* [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)
|
||
|
||
{% hint style="success" %}
|
||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
|
||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||
|
||
</details>
|
||
{% endhint %}
|