<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Pracujesz w **firmie zajmującej się cyberbezpieczeństwem**? Chcesz zobaczyć swoją **firmę reklamowaną w HackTricks**? A może chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLAN SUBSKRYPCYJNY**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** [**💬**](https://emojipedia.org/speech-balloon/) [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** mnie na **Twitterze** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR do** [**repozytorium hacktricks**](https://github.com/carlospolop/hacktricks) **i** [**repozytorium hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Problem "podwójnego skoku" Kerberos występuje, gdy atakujący próbuje użyć uwierzytelniania **Kerberos** w dwóch **skokach**, na przykład za pomocą **PowerShell**/**WinRM**.
Podczas **uwierzytelniania** za pomocą **Kerberos**, **poświadczenia****nie są** przechowywane w **pamięci** podręcznej. Dlatego, jeśli uruchomisz mimikatz, **nie znajdziesz poświadczeń** użytkownika na maszynie, nawet jeśli uruchamia procesy.
1. Użytkownik 1 podaje poświadczenia, a **kontroler domeny** zwraca użytkownikowi 1 **TGT** Kerberos.
2. Użytkownik 1 używa **TGT**, aby poprosić o **bilet usługi** w celu **połączenia** z Serwerem 1.
3. Użytkownik 1 **łączy się** z **Serwerem 1** i podaje **bilet usługi**.
4.**Serwer 1** nie ma **poświadczeń** użytkownika 1 w pamięci podręcznej ani **TGT** użytkownika 1. Dlatego, gdy użytkownik 1 z Serwera 1 próbuje zalogować się na drugi serwer, nie jest **w stanie się uwierzytelnić**.
Jeśli **nieograniczone przekazywanie** jest włączone na komputerze, to się nie zdarzy, ponieważ **Serwer** otrzyma **TGT** każdego użytkownika, który się do niego łączy. Ponadto, jeśli używane jest nieograniczone przekazywanie, prawdopodobnie można **skompromitować kontroler domeny**.\
[**Więcej informacji na stronie dotyczącej nieograniczonego przekazywania**](unconstrained-delegation.md).
Innym sposobem uniknięcia tego problemu, który jest [**znacznie niebezpieczny**](https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/enable-wsmancredssp?view=powershell-7), jest **Credential Security Support Provider** (CredSSP). Według Microsoftu:
> Uwierzytelnianie CredSSP przekazuje poświadczenia użytkownika z komputera lokalnego do komputera zdalnego. Ta praktyka zwiększa ryzyko bezpieczeństwa operacji zdalnych. Jeśli zdalny komputer zostanie skompromitowany, po przekazaniu do niego poświadczeń, można ich użyć do kontrolowania sesji sieciowej.
Zaleca się wyłączenie **CredSSP** na systemach produkcyjnych, wrażliwych sieciach i podobnych środowiskach ze względów bezpieczeństwa. Aby sprawdzić, czy **CredSSP** jest włączone, można uruchomić polecenie `Get-WSManCredSSP`. Polecenie to pozwala na **sprawdzenie stanu CredSSP** i może być wykonane zdalnie, o ile jest włączony **WinRM**.
Aby rozwiązać problem podwójnego skoku, przedstawiona jest metoda wykorzystująca zagnieżdżone polecenie `Invoke-Command`. Nie rozwiązuje to problemu bezpośrednio, ale oferuje obejście bez konieczności specjalnej konfiguracji. Ta metoda umożliwia wykonanie polecenia (`hostname`) na drugim serwerze za pomocą polecenia PowerShell wykonanego z atakującego komputera lub poprzez wcześniej ustanowioną sesję PS z pierwszym serwerem. Oto jak to się robi:
Alternatywnie, sugeruje się ustanowienie sesji PS z pierwszym serwerem i uruchomienie polecenia `Invoke-Command` przy użyciu `$cred` w celu scentralizowania zadań.
Rozwiązaniem umożliwiającym obejście problemu podwójnego skoku jest użycie `Register-PSSessionConfiguration` z `Enter-PSSession`. Ta metoda wymaga innego podejścia niż `evil-winrm` i pozwala na sesję, która nie ma ograniczenia podwójnego skoku.
Dla lokalnych administratorów na pośrednim celu, przekierowywanie portów umożliwia wysyłanie żądań do ostatecznego serwera. Za pomocą polecenia `netsh` można dodać regułę przekierowywania portów, wraz z regułą zapory systemu Windows, która umożliwia przekierowanie portu.
`winrs.exe` może być używane do przekazywania żądań WinRM, potencjalnie jako mniej wykrywalna opcja, jeśli obawiasz się monitorowania PowerShell. Poniższa komenda demonstruje jego użycie:
Instalowanie OpenSSH na pierwszym serwerze umożliwia obejście problemu podwójnego skoku, co jest szczególnie przydatne w scenariuszach z użyciem skrzynki pośredniczącej. Ta metoda wymaga instalacji i konfiguracji OpenSSH dla systemu Windows za pomocą wiersza poleceń. Po skonfigurowaniu uwierzytelniania hasłem, umożliwia to serwerowi pośredniczącemu uzyskanie TGT w imieniu użytkownika.
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Czy pracujesz w **firmie zajmującej się cyberbezpieczeństwem**? Chcesz zobaczyć swoją **firmę reklamowaną na HackTricks**? A może chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** [**💬**](https://emojipedia.org/speech-balloon/) [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** mnie na **Twitterze** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR do repozytorium** [**hacktricks**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).