Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
U okruženjima gde su **Windows XP i Server 2003** u upotrebi, koriste se LM (Lan Manager) hešovi, iako je široko priznato da se lako kompromituju. Određeni LM heš, `AAD3B435B51404EEAAD3B435B51404EE`, ukazuje na situaciju u kojoj LM nije korišćen, predstavljajući heš za prazan string.
Podrazumevano, **Kerberos** autentifikacioni protokol je primarna metoda koja se koristi. NTLM (NT LAN Manager) se koristi pod određenim okolnostima: odsustvo Active Directory, nepostojanje domena, neispravnost Kerberosa zbog nepravilne konfiguracije, ili kada se pokušavaju povezati koristeći IP adresu umesto važećeg imena hosta.
Podrška za autentifikacione protokole - LM, NTLMv1 i NTLMv2 - omogućena je specifičnom DLL datotekom smeštenom na `%windir%\Windows\System32\msv1\_0.dll`.
2. Klijentska mašina **šalje zahtev za autentifikaciju** šaljući **ime domena** i **korisničko ime**
3.**server** šalje **izazov**
4.**klijent enkriptuje****izazov** koristeći hash lozinke kao ključ i šalje ga kao odgovor
5.**server šalje****kontroloru domena****ime domena, korisničko ime, izazov i odgovor**. Ako **nije** konfigurisan Active Directory ili je ime domena ime servera, akreditive se **proveravaju lokalno**.
6.**kontrolor domena proverava da li je sve ispravno** i šalje informacije serveru
**server** i **kontrolor domena** mogu da kreiraju **sigurni kanal** putem **Netlogon** servera jer kontrolor domena zna lozinku servera (ona je unutar **NTDS.DIT** baze).
Autentifikacija je kao ona pomenuta **ranije, ali****server** zna **hash korisnika** koji pokušava da se autentifikuje unutar **SAM** datoteke. Tako da, umesto da pita kontrolora domena, **server će sam proveriti** da li korisnik može da se autentifikuje.
**hash NT (16 bajtova)** je podeljen u **3 dela od po 7 bajtova** (7B + 7B + (2B+0x00\*5)): **poslednji deo je popunjen nulama**. Zatim, **izazov** se **šifruje odvojeno** sa svakim delom i **rezultantni** šifrovani bajtovi se **spajaju**. Ukupno: 8B + 8B + 8B = 24B.
* 3 dela mogu biti **napadnuta odvojeno** da bi se pronašao NT hash
* **DES se može probiti**
* 3. ključ se uvek sastoji od **5 nula**.
* Dajući **isti izazov**, **odgovor** će biti **isti**. Tako da možete dati kao **izazov** žicu "**1122334455667788**" i napasti odgovor koristeći **prekomponovane rainbow tabele**.
Danas postaje sve ređe naći okruženja sa konfigurisanom Unconstrained Delegation, ali to ne znači da ne možete **zloupotrebiti Print Spooler servis** koji je konfigurisan.
Možete zloupotrebiti neke akreditive/sesije koje već imate na AD da **tražite od štampača da se autentifikuje** protiv nekog **hosta pod vašom kontrolom**. Zatim, koristeći `metasploit auxiliary/server/capture/smb` ili `responder` možete **postaviti izazov za autentifikaciju na 1122334455667788**, uhvatiti pokušaj autentifikacije, i ako je izvršen koristeći **NTLMv1**, moći ćete da ga **probijete**.\
Zapamtite da će štampač koristiti račun računara tokom autentifikacije, a računi računara koriste **duge i slučajne lozinke** koje **verovatno nećete moći da probijete** koristeći uobičajene **rečnike**. Ali **NTLMv1** autentifikacija **koristi DES** ([više informacija ovde](./#ntlmv1-challenge)), tako da koristeći neke usluge posebno posvećene probijanju DES-a moći ćete da ga probijete (možete koristiti [https://crack.sh/](https://crack.sh) ili [https://ntlmv1.com/](https://ntlmv1.com) na primer).
NTLMv1 se takođe može probiti sa NTLMv1 Multi Tool [https://github.com/evilmog/ntlmv1-multi](https://github.com/evilmog/ntlmv1-multi) koji formatira NTLMv1 poruke na način koji se može probiti sa hashcat.
NTLM (NT LAN Manager) je protokol za autentifikaciju koji se koristi u Windows okruženju. Iako je NTLM bio široko korišćen, danas se smatra zastarelim i manje sigurnim u poređenju sa modernijim protokolima kao što je Kerberos.
## Preporučene prakse
1.**Onemogućite NTLM**: Ako je moguće, onemogućite NTLM autentifikaciju na svim sistemima.
2.**Koristite Kerberos**: Preporučuje se korišćenje Kerberos protokola umesto NTLM.
3.**Redovno ažuriranje**: Održavajte sistem ažuriranim kako biste zaštitili od poznatih ranjivosti.
## Zaključak
NTLM predstavlja sigurnosni rizik i treba ga izbegavati kada god je to moguće. Preporučuje se prelazak na sigurnije protokole.
**Prvi odgovor** se kreira šifrovanjem koristeći **HMAC\_MD5****niz** sastavljen od **klijenta i domena** i koristeći kao **ključ****MD4** heš **NT heša**. Zatim će **rezultat** biti korišćen kao **ključ** za šifrovanje koristeći **HMAC\_MD5****izazov**. Tome će biti **dodato 8 bajtova klijentskog izazova**. Ukupno: 24 B.
Ako imate **pcap koji je uhvatio uspešan proces autentifikacije**, možete pratiti ovaj vodič da dobijete domenu, korisničko ime, izazov i odgovor i pokušate da provalite lozinku: [https://research.801labs.org/cracking-an-ntlmv2-hash/](https://www.801labs.org/research-portal/post/cracking-an-ntlmv2-hash/)
**Kada imate heš žrtve**, možete ga koristiti da **imitirate**.\
Trebalo bi da koristite **alat** koji će **izvršiti****NTLM autentifikaciju koristeći** taj **heš**, **ili** možete kreirati novu **sessionlogon** i **ubaciti** taj **heš** unutar **LSASS**, tako da kada se izvrši bilo koja **NTLM autentifikacija**, taj **heš će biti korišćen.** Poslednja opcija je ono što radi mimikatz.
Ovo će pokrenuti proces koji će pripadati korisnicima koji su pokrenuli mimikatz, ali interno u LSASS-u sačuvane akreditive su one unutar mimikatz parametara. Tada možete pristupiti mrežnim resursima kao da ste taj korisnik (slično `runas /netonly` triku, ali ne morate znati lozinku u običnom tekstu).
* **atexec.exe** (U ovom slučaju morate navesti komandu, cmd.exe i powershell.exe nisu validni za dobijanje interaktivne ljuske)`C:\AD\MyTools\atexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.dollarcorp.moneycorp.local 'whoami'`
Ova funkcija je **mešavina svih ostalih**. Možete proslediti **several hosts**, **isključiti** neke i **izabrati****opciju** koju želite da koristite (_SMBExec, WMIExec, SMBClient, SMBEnum_). Ako izaberete **bilo koju** od **SMBExec** i **WMIExec** ali ne date _**Command**_ parametar, samo će **proveriti** da li imate **dovoljno dozvola**.
**Za više informacija o** [**tome kako dobiti kredencijale sa Windows hosta, trebali biste pročitati ovu stranicu**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/ntlm/broken-reference/README.md)**.**
Učite i vežbajte AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Učite i vežbajte GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitter-u** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**