hacktricks/pentesting-web/account-takeover.md

147 lines
8.5 KiB
Markdown

# Przejęcie Konta
<details>
<summary><strong>Nauka hakowania AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się swoimi sztuczkami hakowania, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na GitHubie.
</details>
## **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**](https://www.youtube.com/watch?v=CiIyaZ3x49c), 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](unicode-injection/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](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](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](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](hacking-with-cookies/)
{% endcontent-ref %}
## **Atakowanie Mechanizmu Resetowania Hasła**
{% content-ref url="reset-password.md" %}
[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](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](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
* 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**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea).
### Stare Ciasteczka
Jak wyjaśniono [**w tym poście**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9), 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
* [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050)
* [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)
<details>
<summary><strong>Nauka hakowania AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Inne sposoby wsparcia HackTricks:
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się swoimi sztuczkami hakowania, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na GitHubie.
</szczegóły>