Przejęcie Konta
Reading time: 6 minutes
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ć 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ć, wykorzystują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 umożliwić dostęp do konta ofiary.
Aby uzyskać więcej szczegółów, zapoznaj się z dokumentem na temat Normalizacji Unicode:
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 celu:
CORS - Misconfigurations & Bypass
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:
CSRF (Cross Site Request Forgery)
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:
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:
Atakowanie Mechanizmu Resetowania Hasła
Reset/Forgotten Password Bypass
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
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:
- Napastnik prosi o zmianę swojego e-maila na nowy
- Napastnik otrzymuje link do potwierdzenia zmiany e-maila
- Napastnik wysyła ofierze link, aby kliknęła
- E-mail ofiary zostaje zmieniony na ten wskazany przez napastnika
- Napastnik może odzyskać hasło i przejąć konto
To również miało miejsce w tym raporcie.
Ominięcie weryfikacji e-maila w celu przejęcia konta
- Napastnik loguje się jako attacker@test.com i weryfikuje e-mail podczas rejestracji.
- Napastnik zmienia zweryfikowany e-mail na victim@test.com (brak dodatkowej weryfikacji przy zmianie e-maila)
- Teraz strona pozwala victim@test.com na logowanie, a my ominięliśmy weryfikację e-maila użytkownika ofiary.
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.
Odnośniki
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
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.