mirror of
https://github.com/carlospolop/hacktricks
synced 2025-01-26 11:55:06 +00:00
150 lines
8.4 KiB
Markdown
150 lines
8.4 KiB
Markdown
# Przejęcie Konta
|
|
|
|
{% hint style="success" %}
|
|
Ucz się i ćwicz Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Wsparcie dla HackTricks</summary>
|
|
|
|
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
|
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Podziel się sztuczkami hackingowymi, przesyłając PR do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
## **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**](https://www.youtube.com/watch?v=CiIyaZ3x49c), 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 szczegółów, zapoznaj się z dokumentem na temat Normalizacji Unicode:
|
|
|
|
{% content-ref url="unicode-injection/unicode-normalization.md" %}
|
|
[unicode-normalization.md](unicode-injection/unicode-normalization.md)
|
|
{% endcontent-ref %}
|
|
|
|
## **Ponowne Użycie Tokena Resetowania**
|
|
|
|
Jeśli system docelowy pozwala na **ponowne użycie 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. 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 pozwoli na 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:
|
|
|
|
{% content-ref url="cors-bypass.md" %}
|
|
[cors-bypass.md](cors-bypass.md)
|
|
{% endcontent-ref %}
|
|
|
|
## **CSRF do Przejęcia Konta**
|
|
|
|
Jeśli strona jest podatna na CSRF, możesz być w stanie sprawić, że **użytkownik zmodyfikuje swoje hasło**, e-mail lub uwierzytelnienie, abyś mógł 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 do Przejęcia Konta**
|
|
|
|
Jeśli znajdziesz XSS w aplikacji, możesz być w stanie ukraść ciasteczka, lokalne przechowywanie lub informacje ze strony internetowej, które mogą pozwolić ci przejąć konto:
|
|
|
|
{% content-ref url="xss-cross-site-scripting/" %}
|
|
[xss-cross-site-scripting](xss-cross-site-scripting/)
|
|
{% endcontent-ref %}
|
|
|
|
## **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:
|
|
|
|
{% 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 być **zredukowana do prostego boolean, spróbuj zmienić false na true** i zobacz, czy uzyskasz dostęp.
|
|
|
|
## OAuth do Przejęcia 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 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](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea):
|
|
|
|
* 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 w niego.
|
|
* 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**](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), 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://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)
|
|
|
|
{% hint style="success" %}
|
|
Ucz się i ćwicz Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Wsparcie dla HackTricks</summary>
|
|
|
|
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
|
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Podziel się sztuczkami hackingowymi, przesyłając PR do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
|
|
|
</details>
|
|
{% endhint %}
|