Account Takeover
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
Problem z autoryzacją
Należy spróbować zmienić email konta i dokładnie sprawdzić proces potwierdzania. Jeśli okaże się słaby, należy zmienić email na adres docelowej ofiary i następnie go potwierdzić.
Problem normalizacji Unicode
- Konto docelowej ofiary
victim@gmail.com - Należy utworzyć konto używając znaków Unicode, np.:
vićtim@gmail.com
Jak wyjaśniono w this talk, powyższy atak można również przeprowadzić wykorzystując zewnętrznych dostawców tożsamości:
- Utwórz konto u zewnętrznego dostawcy tożsamości z adresem email podobnym do ofiary, używając jakiegoś znaku unicode (
vićtim@company.com). - Zewnętrzny dostawca nie powinien weryfikować emaila
- Jeśli dostawca tożsamości weryfikuje email, możesz spróbować zaatakować część domeny, np.:
victim@ćompany.comi zarejestrować taką domenę, licząc, że dostawca tożsamości wygeneruje ASCII-ową wersję domeny, podczas gdy platforma ofiary znormalizuje nazwę domeny. - Zaloguj się przez tego dostawcę tożsamości w platformie ofiary, która powinna znormalizować znak unicode i pozwolić ci na dostęp do konta ofiary.
Po więcej szczegółów odnieś się do dokumentu o normalizacji Unicode:
Ponowne użycie tokenu resetu
Jeżeli system docelowy pozwala na ponowne użycie linku resetującego, należy spróbować znaleźć więcej linków resetujących używając narzędzi takich jak gau, wayback lub scan.io.
Pre Account Takeover
- Adres email ofiary powinien być użyty do rejestracji na platformie, a hasło powinno zostać ustawione (należy spróbować je potwierdzić, choć brak dostępu do skrzynki ofiary może to uniemożliwić).
- Należy poczekać, aż ofiara zaloguje się używając OAuth i potwierdzi konto.
- Oczekuje się, że zwykła rejestracja zostanie potwierdzona, co umożliwi dostęp do konta ofiary.
Błędna konfiguracja CORS prowadząca do Account Takeover
Jeśli strona zawiera błędną konfigurację CORS, możesz być w stanie ukraść wrażliwe informacje od użytkownika, aby przejąć jego konto albo zmusić go do zmiany danych uwierzytelniających w tym samym celu:
CORS - Misconfigurations & Bypass
Csrf to Account Takeover
Jeśli strona jest podatna na CSRF, możesz być w stanie spowodować, że użytkownik zmieni swoje hasło, email lub dane uwierzytelniające, aby następnie uzyskać do niego dostęp:
CSRF (Cross Site Request Forgery)
XSS to Account Takeover
Jeśli znajdziesz XSS w aplikacji, możesz być w stanie ukraść ciasteczka, local storage lub informacje ze strony, które pozwolą ci przejąć konto:
Same Origin + Cookies
Jeśli znajdziesz ograniczone XSS lub przejmiesz subdomenę, możesz manipulować cookies (np. przypisując je na stałe) aby spróbować skompromitować konto ofiary:
Attacking Password Reset Mechanism
Reset/Forgotten Password Bypass
Resety pytań bezpieczeństwa, które ufają nazwom użytkowników dostarczanym przez klienta
Jeśli proces “update security questions” przyjmuje parametr username mimo że wykonawca jest już uwierzytelniony, możesz nadpisać dane odzyskiwania dowolnego konta (w tym administratorów), ponieważ backend zwykle wykonuje UPDATE ... WHERE user_name = ? z twoją niezweryfikowaną wartością. Schemat działania:
- Zaloguj się przy pomocy jednorazowego konta i przechwyć cookie sesji.
- Prześlij nazwę użytkownika ofiary oraz nowe odpowiedzi przez formularz resetu.
- Natychmiast uwierzytelnij się przez endpoint logowania za pomocą pytań bezpieczeństwa, używając odpowiedzi, które właśnie wstrzyknąłeś, aby przejąć uprawnienia ofiary.
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.
Enumerated usernames can then be targeted via the overwrite technique above or reused against ancillary services (FTP/SSH password spraying).
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
Host Header Injection
- The Host header is modified following a password reset request initiation.
- The
X-Forwarded-Forproxy header is altered toattacker.com. - The Host, Referrer, and Origin headers are simultaneously changed to
attacker.com. - After initiating a password reset and then opting to resend the mail, all three of the aforementioned methods are employed.
Response Manipulation
- Code Manipulation: The status code is altered to
200 OK. - Code and Body Manipulation:
- The status code is changed to
200 OK. - The response body is modified to
{"success":true}or an empty object{}.
These manipulation techniques are effective in scenarios where JSON is utilized for data transmission and receipt.
Change email of current session
From this report:
- Atakujący żąda zmiany swojego e-maila na nowy
- Atakujący otrzymuje link do potwierdzenia zmiany e-maila
- Atakujący wysyła ofierze link, aby ta w niego kliknęła
- E-mail ofiary zostaje zmieniony na wskazany przez atakującego
- Atak może odzyskać hasło i przejąć konto
This also happened in this report.
Bypass email verification for Account Takeover
- Atakujący loguje się przy użyciu attacker@test.com i weryfikuje e-mail podczas rejestracji.
- Atakujący zmienia zweryfikowany e-mail na victim@test.com (no secondary verification on email change)
- Teraz strona pozwala victim@test.com na logowanie i ominęliśmy weryfikację e-mail użytkownika.
Old Cookies
As explained in this post, it was possible to login into an account, save the cookies as an authenticated user, logout, and then login again.
With the new login, although different cookies might be generated the old ones became to work again.
References
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
- 0xdf – HTB Era: security-question IDOR & username oracle
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
HackTricks

