hacktricks/pentesting-web/account-takeover.md

8.5 KiB

Przejęcie Konta

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Problem Autoryzacji

Adres e-mail konta powinien zostać zmieniony, a proces potwierdzenia musi zostać zbadany. Jeśli zostanie uznany za słaby, adres e-mail powinien zostać zmieniony na adres zamierzonej ofiary, a następnie potwierdzony.

Problem Normalizacji Unicode

  1. Konto zamierzonej ofiary victim@gmail.com
  2. Konto powinno zostać utworzone z użyciem Unicode
    na przykład: vićtim@gmail.com

Jak wyjaśniono w tym wystąpieniu, poprzedni atak mógł być również przeprowadzony poprzez nadużycie dostawców tożsamości stron trzecich:

  • Utwórz konto w dostawcy tożsamości stron trzecich z podobnym adresem e-mail do ofiary, używając pewnego znaku Unicode (vićtim@company.com).
  • Dostawca tożsamości nie powinien weryfikować adresu e-mail
  • Jeśli dostawca tożsamości weryfikuje adres e-mail, możesz spróbować zaatakować część domenową, 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 pomocą 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, odwołaj się do dokumentu na temat Normalizacji Unicode:

{% content-ref url="unicode-injection/unicode-normalization.md" %} unicode-normalization.md {% endcontent-ref %}

Ponowne Wykorzystanie Tokena Resetowania

Jeśli system docelowy pozwala na ponowne wykorzystanie linku resetowania, należy podjąć wysiłki w celu znalezienia więcej linków resetowania za pomocą narzędzi takich jak gau, wayback lub scan.io.

Przed Przejęciem Konta

  1. E-mail ofiary powinien zostać użyty do zarejestrowania się na platformie, a hasło powinno zostać ustawione (należy spróbować je potwierdzić, chociaż brak dostępu do e-maili ofiary może uniemożliwić to).
  2. Należy poczekać, aż ofiara zarejestruje się za pomocą OAuth i potwierdzi konto.
  3. Mamy nadzieję, że regularna rejestracja zostanie potwierdzona, umożliwiając dostęp do konta ofiary.

Błąd Konfiguracji CORS w Przejęciu Konta

Jeśli strona zawiera błędy konfiguracji CORS, możesz być w stanie ukraść wrażliwe informacje od użytkownika w celu przejęcia jego konta lub zmuszenia go do zmiany informacji uwierzytelniających w tym celu:

{% content-ref url="cors-bypass.md" %} cors-bypass.md {% endcontent-ref %}

CSRF w Przejęciu Konta

Jeśli strona jest podatna na CSRF, możesz być w stanie sprawić, że użytkownik zmieni swoje hasło, e-mail lub uwierzytelnienie, aby następnie uzyskać do niego dostęp:

{% content-ref url="csrf-cross-site-request-forgery.md" %} csrf-cross-site-request-forgery.md {% endcontent-ref %}

XSS w Przejęciu Konta

Jeśli znajdziesz XSS w aplikacji, możesz być w stanie ukraść ciasteczka, lokalne przechowywanie danych lub informacje ze strony internetowej, które mogą umożliwić przejęcie konta:

{% content-ref url="xss-cross-site-scripting/" %} xss-cross-site-scripting {% endcontent-ref %}

Ten Sam Pochodzenie + Ciasteczka

Jeśli znajdziesz ograniczony XSS lub przejęcie subdomeny, możesz manipulować ciasteczkami (np. ustalając je) w celu próby skompromitowania konta ofiary:

{% content-ref url="hacking-with-cookies/" %} hacking-with-cookies {% endcontent-ref %}

Atakowanie Mechanizmu Resetowania Hasła

{% content-ref url="reset-password.md" %} reset-password.md {% endcontent-ref %}

Manipulacja Odpowiedzią

Jeśli odpowiedź uwierzytelniająca może zostać zredukowana do prostego booleana, spróbuj zmienić false na true i sprawdź, czy uzyskasz dostęp.

OAuth w Przejęciu Konta

{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}

Wstrzyknięcie Nagłówka Host

  1. Nagłówek Host jest modyfikowany podczas inicjowania żą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, a następnie wybraniu opcji ponownego wysłania wiadomości e-mail, stosowane są wszystkie trzy wymienione metody.

Manipulacja Odpowiedzią

  1. Manipulacja Kodem: Kod stanu jest zmieniany na 200 OK.
  2. Manipulacja Kodem i Treścią:
  • Kod stanu jest zmieniany na 200 OK.
  • Treść odpowiedzi jest modyfikowana na {"success":true} lub pusty obiekt {}.

Techniki manipulacji są skuteczne w przypadkach, gdy JSON jest wykorzystywany do przesyłania i odbierania danych.

Zmiana e-mail 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 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, było możliwe zalogowanie się do konta, zapisanie ciasteczek jako uwierzytelniony użytkownik, wylogowanie, a następnie ponowne zalogowanie.
Po nowym zalogowaniu, chociaż mogą być generowane inne ciasteczka, stare zaczęły ponownie działać.

Odnośniki

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: