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

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

  1. Konto zamierzonej ofiary victim@gmail.com
  2. 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

  1. 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ć).
  2. Należy czekać, aż ofiara zarejestruje się za pomocą OAuth i potwierdzi konto.
  3. 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

  1. Nagłówek Host jest modyfikowany po zainicjowaniu żądania resetowania hasła.
  2. Nagłówek proxy X-Forwarded-For jest zmieniany na attacker.com.
  3. Nagłówki Host, Referrer i Origin są jednocześnie zmieniane na attacker.com.
  4. Po zainicjowaniu resetowania hasła i wybraniu opcji ponownego wysłania maila, stosowane są wszystkie trzy powyższe metody.

Manipulacja Odpowiedzią

  1. Manipulacja Kodem: Kod statusu jest zmieniany na 200 OK.
  2. 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

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