Hesap Ele Geçirme
Reading time: 5 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
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
- Hedef kurbanın hesabı
victim@gmail.com
- Unicode kullanarak bir hesap oluşturulmalıdır
örneğin:vićtim@gmail.com
bu konuşmada 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, bazı unicode karakterleri kullanarak (
vićtim@company.com
). - Üçüncü taraf sağlayıcı e-postayı doğrulamamalıdır.
- Eğer kimlik sağlayıcı e-postayı doğruluyorsa, belki de alan kısmını saldırıya uğratabilirsiniz:
victim@ćompany.com
ve o alanı kaydedip kimlik sağlayıcının alanın ascii versiyonunu oluşturmasını umabilirsiniz, kurban platformu alan adını normalize ederken. - Bu kimlik sağlayıcı aracılığıyla kurban platformuna giriş yapın, kimlik sağlayıcı unicode karakterini normalize etmeli ve kurban hesabına erişmenize izin vermelidir.
Daha fazla ayrıntı için Unicode Normalizasyonu belgesine bakın:
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
- Kurbanın e-posta adresi platformda kaydolmak için kullanılmalı ve bir şifre belirlenmelidir (onaylamak için bir girişimde bulunulmalıdır, ancak kurbanın e-postalarına erişim yoksa bu imkansız hale gelebilir).
- Kurbanın OAuth kullanarak kaydolmasını ve hesabı onaylamasını beklemelidir.
- Normal kaydın onaylanması umulmakta, bu da kurbanın hesabına erişim sağlamaktadı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 çalma veya aynı amaçla kimlik bilgilerini değiştirmesi için hesabını ele geçirme şansınız olabilir:
CORS - Misconfigurations & Bypass
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ğlayabilir ve ardından buna erişebilirsiniz:
CSRF (Cross Site Request Forgery)
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 çalma şansınız olabilir:
Aynı Kaynak + Çerezler
Sınırlı bir XSS veya bir alt alan ele geçirme bulursanız, çerezlerle oynamak (örneğin, onları sabitlemek) kurban hesabını tehlikeye atmayı deneyebilirsiniz:
Şifre Sıfırlama Mekanizmasına Saldırı
Reset/Forgotten Password Bypass
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
Host Header Enjeksiyonu
- Şifre sıfırlama isteği başlatıldıktan sonra Host başlığı değiştirilir.
X-Forwarded-For
proxy başlığıattacker.com
olarak değiştirilir.- Host, Referrer ve Origin başlıkları aynı anda
attacker.com
olarak değiştirilir. - Ş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
- Kod Manipülasyonu: Durum kodu
200 OK
olarak değiştirilir. - 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, JSON'un veri iletimi ve alımı için kullanıldığı senaryolarda etkilidir.
Mevcut Oturumun E-posta Adresini Değiştirme
- 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 da olmuştur.
Hesap Ele Geçirme için E-posta Doğrulamasını Atlatma
- Saldırgan attacker@test.com ile giriş yapar ve kaydolduğunda e-postayı doğrular.
- Saldırgan doğrulanmış e-postayı victim@test.com olarak değiştirir (e-posta değişikliği için ikinci bir doğrulama yoktur).
- Artık web sitesi victim@test.com ile giriş yapmaya izin verir ve kurban kullanıcının e-posta doğrulamasını atlatmış oluruz.
Eski Çerezler
bu yazıda açıklandığı gibi, bir hesaba giriş yapmak, çerezleri kimlik doğrulaması yapılmış bir kullanıcı olarak kaydetmek, çıkış yapmak ve ardından 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://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.