Przejęcie Konta
Reading time: 5 minutes
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Problem z Autoryzacją
Należy spróbować zmienić adres e-mail konta, a proces potwierdzenia musi być zbadany. Jeśli okaże się słaby, adres e-mail powinien zostać zmieniony na adres zamierzonej ofiary, a następnie potwierdzony.
Problem z Normalizacją Unicode
- Konto zamierzonej ofiary
victim@gmail.com
- Należy utworzyć konto używając Unicode
na przykład:vićtim@gmail.com
Jak wyjaśniono w tej prezentacji, poprzedni atak można również przeprowadzić, nadużywając zewnętrznych dostawców tożsamości:
- Utwórz konto u zewnętrznego dostawcy tożsamości z podobnym adresem e-mail do ofiary, używając jakiegoś znaku unicode (
vićtim@company.com
). - Zewnętrzny dostawca nie powinien weryfikować adresu e-mail
- Jeśli dostawca tożsamości weryfikuje adres e-mail, być może możesz zaatakować część domeny, na przykład:
victim@ćompany.com
i zarejestrować tę domenę, mając nadzieję, że dostawca tożsamości wygeneruje wersję ascii domeny, podczas gdy platforma ofiary znormalizuje nazwę domeny. - Zaloguj się za pośrednictwem tego dostawcy tożsamości na platformie ofiary, która powinna znormalizować znak unicode i pozwolić ci uzyskać dostęp do konta ofiary.
Aby uzyskać więcej informacji, zapoznaj się z dokumentem na temat Normalizacji Unicode:
{{#ref}} unicode-injection/unicode-normalization.md {{#endref}}
Ponowne Wykorzystanie Tokena Resetowania
Jeśli system docelowy pozwala na ponowne wykorzystanie linku resetującego, należy podjąć wysiłki, aby znaleźć więcej linków resetujących przy użyciu narzędzi takich jak gau
, wayback
lub scan.io
.
Przed Przejęciem Konta
- Adres e-mail ofiary powinien być użyty do rejestracji na platformie, a hasło powinno być ustawione (należy spróbować je potwierdzić, chociaż brak dostępu do e-maili ofiary może to uniemożliwić).
- Należy czekać, aż ofiara zarejestruje się za pomocą OAuth i potwierdzi konto.
- Mamy nadzieję, że standardowa rejestracja zostanie potwierdzona, co umożliwi dostęp do konta ofiary.
Błąd Konfiguracji CORS do Przejęcia Konta
Jeśli strona zawiera błędy konfiguracji CORS, możesz być w stanie ukraść wrażliwe informacje od użytkownika, aby przejąć jego konto lub zmusić go do zmiany informacji uwierzytelniających w tym samym celu:
{{#ref}} cors-bypass.md {{#endref}}
CSRF do Przejęcia Konta
Jeśli strona jest podatna na CSRF, możesz być w stanie zmusić użytkownika do zmodyfikowania swojego hasła, e-maila lub uwierzytelnienia, abyś mógł uzyskać do niego dostęp:
{{#ref}} csrf-cross-site-request-forgery.md {{#endref}}
XSS do Przejęcia Konta
Jeśli znajdziesz XSS w aplikacji, możesz być w stanie ukraść ciasteczka, lokalne dane lub informacje ze strony internetowej, które mogą pozwolić ci przejąć konto:
{{#ref}} xss-cross-site-scripting/ {{#endref}}
Ta Sama Pochodna + Ciasteczka
Jeśli znajdziesz ograniczone XSS lub przejęcie subdomeny, możesz manipulować ciasteczkami (na przykład je ustalając), aby spróbować skompromitować konto ofiary:
{{#ref}} hacking-with-cookies/ {{#endref}}
Atakowanie Mechanizmu Resetowania Hasła
{{#ref}} reset-password.md {{#endref}}
Manipulacja Odpowiedzią
Jeśli odpowiedź uwierzytelniająca może być zredukowana do prostego boolean, spróbuj zmienić false na true i zobacz, czy uzyskasz dostęp.
OAuth do Przejęcia Konta
{{#ref}} oauth-to-account-takeover.md {{#endref}}
Wstrzyknięcie Nagłówka Host
- Nagłówek Host jest modyfikowany po zainicjowaniu żądania resetowania hasła.
- Nagłówek proxy
X-Forwarded-For
jest zmieniany naattacker.com
. - Nagłówki Host, Referrer i Origin są jednocześnie zmieniane na
attacker.com
. - Po zainicjowaniu resetowania hasła i wybraniu opcji ponownego wysłania maila, stosowane są wszystkie trzy powyższe metody.
Manipulacja Odpowiedzią
- Manipulacja Kodem: Kod statusu jest zmieniany na
200 OK
. - Manipulacja Kodem i Treścią:
- Kod statusu jest zmieniany na
200 OK
. - Treść odpowiedzi jest modyfikowana na
{"success":true}
lub pusty obiekt{}
.
Te techniki manipulacji są skuteczne w scenariuszach, w których JSON jest wykorzystywany do przesyłania i odbierania danych.
Zmiana e-maila bieżącej sesji
Z tego raportu:
- Atakujący prosi o zmianę swojego e-maila na nowy
- Atakujący otrzymuje link do potwierdzenia zmiany e-maila
- Atakujący wysyła ofierze link, aby kliknęła
- E-mail ofiary zostaje zmieniony na ten wskazany przez atakującego
- Atakujący może odzyskać hasło i przejąć konto
To również miało miejsce w tym raporcie.
Stare Ciasteczka
Jak wyjaśniono w tym poście, możliwe było zalogowanie się na konto, zapisanie ciasteczek jako uwierzytelniony użytkownik, wylogowanie się, a następnie ponowne zalogowanie.
Przy nowym logowaniu, chociaż mogą być generowane różne ciasteczka, stare zaczęły działać ponownie.
Referencje
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.