NTLM
Basiese Inligting
In omgewings waar Windows XP en Server 2003 in werking is, word LM (Lan-bestuurder) hasies gebruik, alhoewel dit algemeen erken word dat hierdie maklik gekompromitteer kan word. 'n Spesifieke LM-hash, AAD3B435B51404EEAAD3B435B51404EE
, dui op 'n scenario waar LM nie gebruik word nie, en verteenwoordig die hash vir 'n leë string.
Standaard is die Kerberos-verifikasieprotokol die primêre metode wat gebruik word. NTLM (NT LAN-bestuurder) tree op onder spesifieke omstandighede: afwesigheid van Aktiewe Gids, nie-bestaan van die domein, wanfunksionering van Kerberos as gevolg van onvanpaste konfigurasie, of wanneer verbindinge probeer word met 'n IP-adres eerder as 'n geldige gasnaam.
Die teenwoordigheid van die "NTLMSSP"-kop in netwerkpakkette dui op 'n NTLM-verifikasieproses.
Ondersteuning vir die verifikasieprotokolle - LM, NTLMv1 en NTLMv2 - word gefasiliteer deur 'n spesifieke DLL wat geleë is by %windir%\Windows\System32\msv1\_0.dll
.
Kernpunte:
LM-hasies is kwesbaar en 'n leë LM-hash (
AAD3B435B51404EEAAD3B435B51404EE
) dui op die nie-gebruik daarvan.Kerberos is die verstek-verifikasiemetode, met NTLM wat slegs onder sekere omstandighede gebruik word.
NTLM-verifikasiepakkette is identifiseerbaar deur die "NTLMSSP"-kop.
LM, NTLMv1 en NTLMv2-protokolle word ondersteun deur die stelsel lêer
msv1\_0.dll
.
LM, NTLMv1 en NTLMv2
Jy kan nagaan en konfigureer watter protokol gebruik sal word:
GUI
Voer secpol.msc uit -> Plaaslike beleid -> Sekuriteitsopsies -> Netwerksekuriteit: LAN-bestuurder-verifikasievlak. Daar is 6 vlakke (van 0 tot 5).
Register
Dit sal die vlak 5 instel:
Moontlike waardes:
Basiese NTLM-domeinoutentiseringskema
Die gebruiker voer sy geloofsbriewe in
Die kliëntrekenaar stuur 'n outentiseringsversoek deur die domeinnaam en die gebruikersnaam te stuur
Die bediener stuur die uitdaging
Die kliënt versleutel die uitdaging deur die has van die wagwoord as sleutel te gebruik en stuur dit as 'n antwoord
Die bediener stuur die domeinbeheerder die domeinnaam, die gebruikersnaam, die uitdaging en die antwoord. As daar nie 'n Geaktiveerde Gids geconfigureer is nie of die domeinnaam die naam van die bediener is, word die geloofsbriewe plaaslik nagegaan.
Die domeinbeheerder kyk of alles korrek is en stuur die inligting na die bediener
Die bediener en die Domeinbeheerder is in staat om 'n Veilige Kanaal te skep via die Netlogon-bediener aangesien die Domeinbeheerder die wagwoord van die bediener ken (dit is binne die NTDS.DIT-databasis).
Plaaslike NTLM-outentiseringskema
Die outentisering is soos die een wat voorheen genoem is, maar die bediener ken die has van die gebruiker wat probeer outentiseer binne die SAM-lêer. Dus, in plaas daarvan om die Domeinbeheerder te vra, sal die bediener self nagaan of die gebruiker kan outentiseer.
NTLMv1-uitdaging
Die uitdagingslengte is 8 byte en die antwoord is 24 byte lank.
Die has NT (16 byte) is verdeel in 3 dele van elk 7 byte (7B + 7B + (2B+0x00*5)): die laaste deel is met nulle gevul. Dan word die uitdaging afsonderlik versleutel met elke deel en die resultaatversleutelde byte word saamgevoeg. Totaal: 8B + 8B + 8B = 24 byte.
Probleme:
Gebrek aan willekeurigheid
Die 3 dele kan afsonderlik aangeval word om die NT-has te vind
DES is kraakbaar
Die 3de sleutel bestaan altyd uit 5 nulls.
Met dieselfde uitdaging sal die antwoord dieselfde wees. Jy kan dus die slagoffer die string "1122334455667788" as 'n uitdaging gee en die antwoord aanval wat met voorgekompilserde reënboogtabelle gebruik is.
NTLMv1-aanval
Dit word al hoe minder algemeen om omgewings met Onbeperkte Delegering geconfigureer te vind, maar dit beteken nie jy kan nie 'n Drukspooler-diens misbruik nie wat geconfigureer is.
Jy kan sekere geloofsbriewe/sessies wat jy reeds op die AD het, misbruik om die drukker te vra om teen 'n gasheer onder jou beheer te outentiseer. Dan kan jy met behulp van metasploit auxiliary/server/capture/smb
of responder
die outentiseringsuitdaging instel op 1122334455667788, die outentiseringspoging vasvang, en as dit gedoen is met NTLMv1 sal jy dit kan kraak.
As jy responder
gebruik, kan jy probeer om die vlag --lm
te gebruik om die outentisering af te gradeer.
Merk op dat vir hierdie tegniek die outentisering met NTLMv1 uitgevoer moet word (NTLMv2 is nie geldig nie).
Onthou dat die drukker die rekenaarrekening tydens die outentisering sal gebruik, en rekenaarrekeninge gebruik lang en willekeurige wagwoorde wat jy waarskynlik nie sal kan kraak met gewone woordeboeke nie. Maar die NTLMv1-outentisering gebruik DES (meer inligting hier), dus deur van sommige dienste wat spesiaal toegewy is aan die kraak van DES gebruik te maak, sal jy dit kan kraak (jy kan byvoorbeeld https://crack.sh/ gebruik).
NTLMv1-aanval met hashcat
NTLMv1 kan ook gebreek word met die NTLMv1 Multi Tool https://github.com/evilmog/ntlmv1-multi wat NTLMv1-boodskappe in 'n metode formateer wat met hashcat gebreek kan word.
Die bevel
Die volgende is inhoud uit 'n hakboek oor hak tegnieke. Die volgende inhoud is uit die lêer windows-hardening/ntlm/README.md. Vertaal die relevante Engelse teks na Afrikaans en gee die vertaling terug met presies dieselfde markdown- en html-sintaks. Moet nie dinge soos kode, hak tegniek name, hak woord, wolk/SaaS platform name (soos Workspace, aws, gcp...), die woord 'leak', pentesting, en markdown etikette vertaal nie. Moet ook nie enige ekstra goed byvoeg buite die vertaling en markdown sintaks nie.
Windows Hardening: NTLM
NTLM Relay Attack
NTLM Relay Attack is a type of attack where an attacker captures the NTLM authentication and relays it to another server to gain unauthorized access. This attack can be mitigated by enabling SMB signing, Extended Protection for Authentication, and disabling NTLMv1.
NTLM Reflection Attack
NTLM Reflection Attack is a technique where an attacker sends a malicious link to a victim, and when the victim clicks on the link, their NTLM hash is sent back to the attacker. To prevent this attack, ensure secure coding practices and educate users about phishing attacks.
Voer hashcat uit (verspreiding is die beste deur 'n instrument soos hashtopolis) aangesien dit andersins verskeie dae sal neem.
In hierdie geval weet ons dat die wagwoord hiervoor wagwoord is, so ons gaan valsspeel vir demonstrasiedoeleindes:
Ons moet nou die hashcat-hulpprogramme gebruik om die gekraakte des-sleutels in dele van die NTLM-hash om te skakel:
Afrikaans Translation:
Laastelik die laaste deel:
Windows Hardening: NTLM
Translation:
Windows Verharding: NTLM
NTLMv2 Uitdaging
Die uitdagingslengte is 8 byte en 2 reaksies word gestuur: Een is 24 byte lank en die lengte van die ander is veranderlik.
Die eerste reaksie word geskep deur te sif met behulp van HMAC_MD5 die string saamgestel deur die kliënt en die domein en deur as sleutel die hash MD4 van die NT-hash te gebruik. Dan sal die resultaat gebruik word as sleutel om te sif met HMAC_MD5 die uitdaging. Hiervoor sal 'n kliënt-uitdaging van 8 byte bygevoeg word. Totaal: 24 B.
Die tweede reaksie word geskep deur verskeie waardes te gebruik ('n nuwe kliënt-uitdaging, 'n tydstempel om herhaalaanvalle te voorkom...).
As jy 'n pcap het wat 'n suksesvolle verifikasieproses vasgevang het, kan jy hierdie gids volg om die domein, gebruikersnaam, uitdaging en reaksie te kry en probeer om die wagwoord te kraak: https://research.801labs.org/cracking-an-ntlmv2-hash/
Pass-the-Hash
Sodra jy die hash van die slagoffer het, kan jy dit gebruik om hom te impersoneer. Jy moet 'n werktuig gebruik wat die NTLM-verifikasie uitvoer met daardie hash, of jy kan 'n nuwe sessieaanmelding skep en daardie hash binne die LSASS inspuit, sodat wanneer enige NTLM-verifikasie uitgevoer word, daardie hash gebruik sal word. Die laaste opsie is wat mimikatz doen.
Onthou asseblief dat jy Pass-the-Hash-aanvalle ook kan uitvoer met Rekenaarrekeninge.
Mimikatz
Moet as administrateur uitgevoer word
Hierdie sal 'n proses begin wat aan die gebruikers behoort wat mimikatz begin het, maar intern in LSASS is die gestoorde geloofsbriewe diegene binne die mimikatz parameters. Dan kan jy toegang kry tot netwerkbronne asof jy daardie gebruiker was (soortgelyk aan die runas /netonly
truuk maar jy hoef nie die plat-teks wagwoord te weet nie).
Pass-the-Hash vanaf Linux
Jy kan kode-uitvoering op Windows-masjiene verkry deur Pass-the-Hash vanaf Linux te gebruik. Klik hier om te leer hoe om dit te doen.
Impacket Windows saamgestelde gereedskap
Jy kan Impacket bineêre lêers vir Windows hier aflaai.
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
atexec.exe (In hierdie geval moet jy 'n bevel spesifiseer, cmd.exe en powershell.exe is nie geldig om 'n interaktiewe skaal te verkry nie)
C:\AD\MyTools\atexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.dollarcorp.moneycorp.local 'whoami'
Daar is verskeie Impacket bineêre lêers...
Invoke-TheHash
Jy kan die powershell-skripte hier kry: https://github.com/Kevin-Robertson/Invoke-TheHash
Invoke-SMBExec
Roep-WMIExec
Roep-SMB-kliënt
Roep-SMBEnum
Roep-DieHashAan
Hierdie funksie is 'n mengsel van al die ander. Jy kan verskeie gasheer deurgee, uitsonder sommiges en die opsie kies wat jy wil gebruik (SMBExec, WMIExec, SMBClient, SMBEnum). As jy enigeen van SMBExec en WMIExec kies, maar jy gee geen Opdrag parameter nie, sal dit net kontroleer of jy genoeg regte het.
Windows Credentials Editor (WCE)
Moet as administrateur uitgevoer word
Hierdie instrument sal dieselfde ding doen as mimikatz (LSASS-geheue wysig).
Handleiding vir Windows afstands-uitvoering met gebruikersnaam en wagwoord
pageLateral MovementOntgin van geloofsbriewe vanaf 'n Windows-gashuis
Vir meer inligting oor hoe om geloofsbriewe vanaf 'n Windows-gashuis te verkry, moet jy hierdie bladsy lees.
NTLM Oordrag en Responder
Lees 'n meer gedetailleerde gids oor hoe om hierdie aanvalle uit te voer hier:
pageSpoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay AttacksOntleding van NTLM-uitdagings vanaf 'n netwerkvangs
Jy kan gebruik maak van https://github.com/mlgualtieri/NTLMRawUnHide
Last updated