<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ć, jak Twoja **firma jest reklamowana w HackTricks**? lub chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLANY SUBSKRYPCYJNE**](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)**.**
W środowiskach, w których działa **Windows XP i Server 2003**, używane są hashe LM (Lan Manager), chociaż powszechnie uważa się, że są one łatwo kompromitowalne. Określony hash LM, `AAD3B435B51404EEAAD3B435B51404EE`, wskazuje na scenariusz, w którym LM nie jest używane, reprezentując hash dla pustego ciągu znaków.
Domyślnie protokół uwierzytelniania **Kerberos** jest główną metodą używaną. NTLM (NT LAN Manager) wchodzi w grę w określonych okolicznościach: brak Active Directory, brak domeny, nieprawidłowa konfiguracja Kerberosa lub gdy próby połączeń są podejmowane za pomocą adresu IP zamiast poprawnej nazwy hosta.
Obsługa protokołów uwierzytelniania - LM, NTLMv1 i NTLMv2 - jest ułatwiona przez określony plik DLL znajdujący się w `%windir%\Windows\System32\msv1\_0.dll`.
Uruchom _secpol.msc_ -> Lokalne zasady -> Opcje zabezpieczeń -> Zabezpieczenia sieciowe: Poziom uwierzytelniania LAN Managera. Istnieje 6 poziomów (od 0 do 5).
4.**Klient szyfruje** wyzwanie, używając hasha hasła jako klucza i wysyła je jako odpowiedź
5.**Serwer wysyła** do **kontrolera domeny** nazwę domeny, nazwę użytkownika, wyzwanie i odpowiedź. Jeśli nie ma skonfigurowanego Katalogu Aktywnego lub nazwa domeny jest nazwą serwera, dane uwierzytelniające są **sprawdzane lokalnie**.
**Serwer** i **Kontroler domeny** są w stanie utworzyć **Bezpieczny Kanał** za pośrednictwem serwera **Netlogon**, ponieważ Kontroler domeny zna hasło serwera (jest ono wewnątrz bazy danych **NTDS.DIT**).
Uwierzytelnianie jest takie samo jak to opisane **wcześniej, ale** serwer zna **hash użytkownika**, który próbuje uwierzytelniać się wewnątrz pliku **SAM**. Dlatego zamiast pytać Kontroler domeny, **serwer sprawdzi sam**, czy użytkownik może się uwierzytelnić.
**Hash NT (16 bajtów)** jest podzielony na **3 części po 7 bajtów każda** (7B + 7B + (2B+0x00\*5)): **ostatnia część jest wypełniona zerami**. Następnie **wyzwanie** jest **szyfrowane osobno** dla każdej części, a **otrzymane** zaszyfrowane bajty są **łączone**. Łącznie: 8B + 8B + 8B = 24 bajty.
* Dla **tego samego wyzwania** odpowiedź będzie **taka sama**. Dlatego możesz podać ofierze jako **wyzwanie** ciąg "**1122334455667788**" i zaatakować odpowiedź, używając **prekalkulowanych tablic tęczowych**.
Obecnie coraz rzadziej spotyka się środowiska skonfigurowane z Nieskrępowanym Delegowaniem, ale to nie oznacza, że nie można **wykorzystać usługi Spoolera drukarki** skonfigurowanej.
Możesz wykorzystać pewne poświadczenia/sesje, które już masz w AD, aby **poprosić drukarkę o uwierzytelnienie** przeciwko **hostowi pod twoją kontrolą**. Następnie, korzystając z `metasploit auxiliary/server/capture/smb` lub `responder`, możesz **ustawić wyzwanie uwierzytelniania na 1122334455667788**, przechwycić próbę uwierzytelnienia, a jeśli została wykonana za pomocą **NTLMv1**, będziesz w stanie **je złamać**.\
Jeśli korzystasz z `responder`, możesz spróbować \*\*użyć flagi `--lm` \*\* w celu **zmniejszenia****uwierzytelnienia**.\
_Zauważ, że dla tej techniki uwierzytelnienie musi być wykonane za pomocą NTLMv1 (NTLMv2 nie jest ważne)._
Pamiętaj, że drukarka będzie używać konta komputera podczas uwierzytelniania, a konta komputerowe używają **długich i losowych haseł**, których **prawdopodobnie nie będziesz w stanie złamać** za pomocą **standardowych słowników**. Ale uwierzytelnianie **NTLMv1****używa DES** ([więcej informacji tutaj](./#ntlmv1-challenge)), więc korzystając z usług specjalnie dedykowanych do łamania DES, będziesz w stanie je złamać (możesz skorzystać z [https://crack.sh/](https://crack.sh) lub [https://ntlmv1.com/](https://ntlmv1.com) na przykład).
NTLMv1 można również złamać za pomocą narzędzia NTLMv1 Multi Tool [https://github.com/evilmog/ntlmv1-multi](https://github.com/evilmog/ntlmv1-multi), które formatuje wiadomości NTLMv1 w sposób, który można złamać za pomocą hashcat.
NTLM relay attacks are a common technique used by hackers to escalate privileges in a Windows environment. This attack involves relaying NTLM authentication messages from a victim machine to a target machine, tricking the target into thinking the attacker is the victim. This can lead to the attacker gaining unauthorized access to sensitive resources on the target machine.
2.**Disable NTLM**: Consider disabling NTLM authentication in favor of more secure protocols like Kerberos.
3.**Use LDAP Signing**: Enabling LDAP signing can also help protect against NTLM relay attacks by securing LDAP communication.
4.**Implement Extended Protection for Authentication**: This feature can provide additional protection against NTLM relay attacks by requiring channel binding tokens.
By implementing these measures, organizations can reduce the risk of falling victim to NTLM relay attacks and enhance the security of their Windows environment.
NTLM relay attacks are a common technique used by attackers to exploit the NTLM authentication protocol. This attack involves relaying NTLM authentication messages from a victim machine to a target machine, allowing the attacker to authenticate to the target machine using the victim's credentials.
NTLM relay attacks are a common technique used by attackers to exploit the NTLM authentication protocol. In a typical NTLM relay attack, the attacker intercepts an authentication attempt from a victim host and relays it to a target host, tricking the target host into believing that the attacker is the victim. This allows the attacker to gain unauthorized access to the target host using the victim's credentials.
4.**Implement Extended Protection for Authentication**: This feature can help protect against NTLM relay attacks by requiring extended protection for authentication.
**Pierwsza odpowiedź** jest tworzona poprzez zaszyfrowanie za pomocą **HMAC\_MD5****ciągu** składającego się z **klienta i domeny** oraz użycie jako **klucza****skrótu MD4** z **skrótu NT**. Następnie **wynik** będzie używany jako **klucz** do zaszyfrowania za pomocą **HMAC\_MD5****wyzwania**. Do tego zostanie dodane **wyzwanie klienta o długości 8 bajtów**. Razem: 24 B.
**Druga odpowiedź** jest tworzona za pomocą **kilku wartości** (nowe wyzwanie klienta, **znacznik czasu** w celu uniknięcia **ataków typu replay**...).
Jeśli masz **pcap z zarejestrowanym udanym procesem uwierzytelniania**, możesz postępować zgodnie z tym przewodnikiem, aby uzyskać domenę, nazwę użytkownika, wyzwanie i odpowiedź i spróbować złamać hasło: [https://research.801labs.org/cracking-an-ntlmv2-hash/](https://research.801labs.org/cracking-an-ntlmv2-hash/)
Musisz użyć **narzędzia**, które będzie **wykonywać** uwierzytelnianie **NTLM używając** tego **skrótu**, **lub** możesz utworzyć nowe **logowanie sesji** i **wstrzyknąć** ten **skrót** do **LSASS**, więc gdy zostanie wykonane **uwierzytelnianie NTLM**, ten **skrót zostanie użyty.** Ostatnia opcja to to, co robi mimikatz.
To uruchomi proces, który będzie należał do użytkowników, którzy uruchomili mimikatz, ale wewnętrznie w LSASS zapisane poświadczenia to te znajdujące się w parametrach mimikatz. Następnie możesz uzyskać dostęp do zasobów sieciowych tak, jakbyś był tym użytkownikiem (podobnie jak sztuczka `runas /netonly`, ale nie musisz znać hasła w postaci tekstu jawnego).
* **atexec.exe** (W tym przypadku musisz określić polecenie, cmd.exe i powershell.exe nie są ważne do uzyskania interaktywnej powłoki)`C:\AD\MyTools\atexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.dollarcorp.moneycorp.local 'whoami'`
Ta funkcja jest **mieszanką wszystkich innych**. Możesz przekazać **kilka hostów**, **wykluczyć** niektórych i **wybrać****opcję**, którą chcesz użyć (_SMBExec, WMIExec, SMBClient, SMBEnum_). Jeśli wybierzesz **którąkolwiek** z **SMBExec** i **WMIExec**, ale **nie** podasz żadnego parametru _**Command**_, funkcja po prostu **sprawdzi**, czy masz **wystarczające uprawnienia**.
**Aby uzyskać więcej informacji na temat** [**jak uzyskać poświadczenia z hosta z systemem Windows, powinieneś przeczytać tę stronę**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/ntlm/broken-reference/README.md)**.**
<summary><strong>Dowiedz się, jak 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ć, jak Twoja **firma jest reklamowana w HackTricks**? lub chcesz mieć dostęp do **najnowszej wersji PEASS lub pobrać HackTricks w formacie PDF**? Sprawdź [**PLANY SUBSKRYPCYJNE**](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-y do** [**repozytorium hacktricks**](https://github.com/carlospolop/hacktricks) **i** [**repozytorium hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).