Account Takeover

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Authorization Issue

Pokušajte promeniti e-mail naloga i OBAVEZNO pregledajte proces potvrde. Ako je proces slab, promenite e-mail na onaj ciljne žrtve i izvršite potvrdu.

Unicode Normalization Issue

  1. Nalog ciljne žrtve victim@gmail.com
  2. Treba napraviti nalog koristeći Unicode
    na primer: vićtim@gmail.com

Kao što je objašnjeno u this talk, prethodni napad se takođe može izvesti zloupotrebom provajdera identiteta treće strane:

  • Create an account in the third party identity with similar email to the victim using some unicode character (vićtim@company.com).
  • The third party provider shouldn’t verify the email
  • If the identity provider verifies the email, maybe you can attack the domain part like: victim@ćompany.com and register that domain and hope that the identity provider generates the ascii version of the domain while the victim platform normalize the domain name.
  • Login via this identity provider in the victim platform who should normalize the unicode character and allow you to access the victim account.

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

Unicode Normalization

Reusing Reset Token

Ako ciljani sistem dozvoljava ponovnu upotrebu reset linka, treba pokušati pronaći više reset linkova koristeći alate kao što su gau, wayback, ili scan.io.

Pre Account Takeover

  1. Koristite e-mail žrtve da se registrujete na platformi i podesite lozinku (treba pokušati i potvrditi nalog, iako odsustvo pristupa žrtvinim mejlovima može to onemogućiti).
  2. Sačekajte da se žrtva prijavi koristeći OAuth i potvrdi nalog.
  3. Nadate se da će regularna registracija biti potvrđena, što će omogućiti pristup žrtvinom nalogu.

CORS Misconfiguration to Account Takeover

Ako stranica sadrži CORS misconfigurations, možete uspeti da ukradete osetljive informacije od korisnika kako biste preuzeli njegov nalog ili ga naterali da promeni auth informacije u istu svrhu:

CORS - Misconfigurations & Bypass

Csrf to Account Takeover

Ako je stranica ranjiva na CSRF, možda ćete moći da naterate korisnika da promeni svoju lozinku, e-mail ili autentifikaciju tako da potom dobijete pristup:

CSRF (Cross Site Request Forgery)

XSS to Account Takeover

Ako nađete XSS u aplikaciji, možda ćete moći da ukradete cookies, local storage, ili informacije sa web stranice koje bi vam omogućile preuzimanje naloga:

XSS (Cross Site Scripting)

  • Attribute-only reflected payloads on login pages can hook document.onkeypress, exfiltrate keystrokes through new Image().src, and steal credentials without submitting the form. See Attribute-only login XSS behind WAFs for a practical workflow.

Same Origin + Cookies

Ako nađete ograničeni XSS ili subdomain take over, možete manipulisati cookies (npr. fiksiranjem istih) kako biste pokušali kompromitovati žrtvin nalog:

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. Log in with a throwaway user and capture the session cookie.
  2. Submit the victim username plus new answers via the reset form.
  3. Immediately authenticate through the security-question login endpoint using the answers you just injected to inherit the victim’s privileges.
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

Sve što je ograničeno kontekstom žrtve $_SESSION (admin dashboards, dangerous stream-wrapper features, etc.) je sada izloženo bez diranja stvarnih odgovora.

Enumerisani korisnički nalozi mogu potom biti ciljano napadnuti putem overwrite tehnike iznad ili ponovo iskorišćeni protiv pomoćnih servisa (FTP/SSH password spraying).

Response Manipulation

Ako se odgovor za autentifikaciju može svesti na jednostavan boolean — samo pokušajte promeniti false u true i proverite da li dobijate pristup.

OAuth to Account takeover

OAuth to Account takeover

Host Header Injection

  1. Host header se menja nakon pokretanja zahteva za reset lozinke.
  2. X-Forwarded-For proxy header se menja na attacker.com.
  3. Host, Referrer i Origin zaglavlja se istovremeno menjaju na attacker.com.
  4. Nakon iniciranja resetovanja lozinke i odabira opcije ponovnog slanja mejla, primenjuju se sve tri prethodno navedene metode.

Response Manipulation

  1. Code Manipulation: status code se menja u 200 OK.
  2. Code and Body Manipulation:
  • status code se menja u 200 OK.
  • response body se menja u {"success":true} ili prazan objekat {}.

Ove manipulacione tehnike su efikasne u scenarijima gde se JSON koristi za slanje i primanje podataka.

Change email of current session

Iz this report:

  • Napadač zahteva promenu svog emaila u novi
  • Napadač dobija link za potvrdu promene emaila
  • Napadač pošalje žrtvi link, tako da žrtva klikne na njega
  • Email žrtve se promeni na onaj koji je naveden od strane napadača
  • Napad može oporaviti lozinku i preuzeti nalog

This also happened in this report.

Bypass email verification for Account Takeover

  • Napadač se prijavi sa attacker@test.com i verifikuje email prilikom registracije.
  • Napadač promeni verifikovani email u victim@test.com (no secondary verification on email change)
  • Sada vebsajt dozvoljava victim@test.com da se prijavi i zaobišli smo verifikaciju emaila žrtve.

Old Cookies

Kao što je objašnjeno in this post, bilo je moguće login-ovati se na nalog, sačuvati cookies kao autentifikovani korisnik, logout-ovati se, i zatim se ponovo prijaviti.
Sa novom prijavom, iako su mogli biti generisani drugačiji cookies, stari su ponovo počeli da rade.

Trusted device cookies + batch API leakage

Dugotrajni identifikatori uređaja koji omogućavaju oporavak mogu biti ukradeni kada batch API dozvoli kopiranje nečitljivih potodgovora u zapisiva odredišta.

  • Identifikujte trusted-device cookie (SameSite=None, long-lived) koji se koristi za ublažavanje provera oporavka.
  • Pronađite first-party endpoint koji vraća taj device ID u JSON-u (npr. an OAuth code exchange returning machine_id) ali nije čitljiv cross-origin.
  • Upotrebite batch/chained API koji omogućava referenciranje ranijih potodgovora ({result=name:$.path}) i upisivanje istih u sink vidljiv napadaču (page post, upload-by-URL, itd.). Primer sa Facebook Graph API:
POST https://graph.facebook.com/
batch=[
{"method":"post","omit_response_on_success":0,"relative_url":"/oauth/access_token?client_id=APP_ID%26redirect_uri=REDIRECT_URI","body":"code=SINGLE_USE_CODE","name":"leaker"},
{"method":"post","relative_url":"PAGE_ID/posts","body":"message={result=leaker:$.machine_id}"}
]
access_token=PAGE_ACCESS_TOKEN&method=post
  • Učitaj batch URL u sakriveni <iframe> tako da žrtva pošalje trusted-device cookie; JSON-path reference kopira machine_id u attacker-controlled post iako je OAuth response nečitljiv stranici.
  • Replay: postavi ukradeni device cookie u novu sesiju. Recovery sada tretira browser kao trusted, često otkrivajući slabije “no email/phone” tokove (npr. automated document upload) kojima se može dodati attacker email bez password ili 2FA.

References

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks