Account Takeover

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

Authorization Issue

Bir hesabın e-posta adresi değiştirmeye çalışılmalı ve onay süreci dikkatle incelenmelidir. Eğer süreç zayıf ise, e-posta hedef kurbanın adresiyle değiştirilip onaylanmalıdır.

Unicode Normalization Issue

  1. Hedef kurbanın hesabı victim@gmail.com
  2. Unicode kullanılarak bir hesap oluşturulmalı
    örnek: vićtim@gmail.com

As explained in this talk, the previous attack could also be done abusing third party identity providers:

  • Üçüncü taraf identity provider’da, kurbanın e-postasına benzer bir e-posta kullanarak bir hesap oluşturun; örn: vićtim@company.com.
  • Üçüncü taraf provider e-postayı doğrulamamalıdır.
  • Eğer identity provider e-postayı doğruluyorsa, domain kısmına saldırmayı deneyebilirsiniz; örn: victim@ćompany.com — bu domaini kaydederek, identity provider’ın domainin ascii sürümünü üretmesini ve hedef platformun domain adını normalize etmesini umabilirsiniz.
  • Bu identity provider ile hedef platforma giriş yapın; platform unicode karakteri normalize etmeli ve kurban hesabına erişmenize izin vermelidir.

For further details, refer to the document on Unicode Normalization:

Unicode Normalization

Reusing Reset Token

Hedef sistem reset linkinin yeniden kullanılmasına izin veriyorsa, gau, wayback veya scan.io gibi araçları kullanarak daha fazla reset linki bulmaya çalışılmalıdır.

Pre Account Takeover

  1. Kurbanın e-postası kullanılarak platforma kayıt olunmalı ve bir parola belirlenmelidir (onaylamaya çalışılmalı; ancak kurbanın e-postalarına erişim yoksa bu mümkün olmayabilir).
  2. Kurbanın OAuth kullanarak kayıt yapıp hesabı onaylamasını beklenmelidir.
  3. Normal kayıt onaylanırsa, kurban hesabına erişim sağlanması umulmalıdır.

CORS Misconfiguration to Account Takeover

Sayfada CORS misconfigurations varsa, kullanıcıdan hassas bilgileri çalarak hesabını ele geçirmeniz veya aynı amaçla kimlik bilgilerini değiştirmesini sağlamanız mümkün olabilir:

CORS - Misconfigurations & Bypass

Csrf to Account Takeover

Sayfa CSRF’e karşı savunmasızsa, kullanıcıyı parolasını, e-postasını veya kimlik doğrulamasını değiştirmeye zorlayarak daha sonra erişim sağlayabilirsiniz:

CSRF (Cross Site Request Forgery)

XSS to Account Takeover

Uygulamada XSS bulursanız, çerezleri, local storage veya web sayfasından alınabilecek bilgileri çalarak hesabı ele geçirmenize olanak sağlayabilirsiniz:

XSS (Cross Site Scripting)

Same Origin + Cookies

Sınırlı bir XSS veya bir subdomain take over bulursanız, çerezlerle oynayarak (örneğin fixate ederek) kurban hesabını ele geçirmeyi deneyebilirsiniz:

Cookies Hacking

Attacking Password Reset Mechanism

Reset/Forgotten Password Bypass

Security-question resets that trust client-supplied usernames

If an “update security questions” flow takes a username parameter even though the caller is already authenticated, you can overwrite any account’s recovery data (including admins) because the backend typically runs UPDATE ... WHERE user_name = ? with your untrusted value. The pattern is:

  1. Geçici bir kullanıcıyla giriş yapın ve session cookie’sini yakalayın.
  2. Reset formu aracılığıyla kurbanın kullanıcı adını ve yeni cevapları gönderin.
  3. Hemen, az önce enjekte ettiğiniz cevapları kullanarak security-question login endpoint’inden kimlik doğrulaması yapın ve kurbanın ayrıcalıklarını devralın.
POST /reset.php HTTP/1.1
Host: file.era.htb
Cookie: PHPSESSID=<low-priv>
Content-Type: application/x-www-form-urlencoded

username=admin_ef01cab31aa&new_answer1=A&new_answer2=B&new_answer3=C

Anything gated by the victim’s $_SESSION context (admin dashboards, dangerous stream-wrapper features, etc.) is now exposed without touching the real answers.

Numaralandırılmış kullanıcı adları daha sonra yukarıdaki overwrite tekniğiyle hedef alınabilir veya yan hizmetlere (FTP/SSH password spraying) karşı yeniden kullanılabilir.

Response Manipulation

If the authentication response could be reduced to a simple boolean just try to change false to true and see if you get any access.

OAuth to Account takeover

OAuth to Account takeover

Host Header Injection

  1. Parola sıfırlama isteği başlatıldıktan sonra Host header değiştirilir.
  2. X-Forwarded-For proxy header attacker.com olarak değiştirilir.
  3. Host, Referrer ve Origin header’ları eşzamanlı olarak attacker.com olarak değiştirilir.
  4. Parola sıfırlama başlatıldıktan sonra mailin yeniden gönderilmesini seçip yukarıdaki üç yöntem de uygulanır.

Response Manipulation

  1. Code Manipulation: Status kodu 200 OK olarak değiştirilir.
  2. Code and Body Manipulation:
  • Status kodu 200 OK olarak değiştirilir.
  • Response body {"success":true} veya boş obje {} olarak değiştirilir.

Bu manipülasyon teknikleri, JSON’un veri iletimi ve alımı için kullanıldığı senaryolarda etkilidir.

Change email of current session

From this report:

  • Saldırgan e-postasını yeni bir e-posta ile değiştirme talebinde bulunur
  • Saldırgan e-posta değişikliğini onaylamak için bir link alır
  • Saldırgan linki kurbana gönderir, kurban linke tıklar
  • Kurbanın e-postası saldırganın belirttiği e-posta ile değiştirilir
  • Saldırgan şifreyi kurtarabilir ve hesabı ele geçirebilir

This also happened in this report.

Bypass email verification for Account Takeover

  • Saldırgan attacker@test.com ile giriş yapar ve kayıt sırasında e-postayı doğrular.
  • Saldırgan doğrulanmış e-postayı victim@test.com olarak değiştirir (e-posta değişikliğinde ikinci bir doğrulama yok)
  • Artık site victim@test.com ile girişe izin veriyor ve kurban kullanıcının e-posta doğrulamasını atladık.

Old Cookies

As explained in this post, bir hesaba giriş yapıp doğrulanmış kullanıcı olarak çerezleri kaydetmek, çıkış yapmak ve sonra tekrar giriş yapmak mümkündü. Yeni girişle birlikte farklı çerezler oluşturulsa bile eski çerezler yeniden çalışıyordu.

References

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