Mis see tööriist on?
NTLM (NT LAN Manager) on Microsofti pärandiga challenge-response autentimisprotokoll, mida kasutatakse tänapäevalgi kohalike Windowsi kontode sisselogimiseks ja tagavaravariandina paljudes Active Directory keskkondades. Selle paroolikontroll — üldtuntud kui "NTLM räsi" — on määratletud Microsofti enda MS-NLMP protokollispetsifikatsioonis kui `MD4(UTF-16-LE(password))`: parool kodeeritakse esmalt UTF-16 little-endian vormingus (nii et igast tähemärgist saab 2 baiti, erinevalt UTF-8-st) ning see baidijada räsitakse seejärel üks kord RFC 1320 MD4 algoritmiga.
UTF-16LE samm on detail, mille enamik inimesi NTLM-i taasimplementeerimisel valesti teeb: sõne UTF-8 baitide räsimine UTF-16LE baitide asemel annab täiesti erineva, vale räsi, kuigi nähtav tekst tundub identne. See tööriist kodeerib õigesti, nii et selle väljund vastab sellele, mida Windows ise talletab ning mida ootavad tööriistad nagu hashcat (režiim 1000) ja Mimikatz.
Kuna NTLM eelneb tänapäevasele paroolide räsimise disainile, puuduvad sellel kõik kaitsemehhanismid, mis loodi hiljem spetsiaalselt murdmise aeglustamiseks: puudub kasutajapõhine sool, puudub reguleeritav töötegur ning puudub tahtlik korduste arv. See on üksainus MD4 läbimine, mis muudab selle arvutamise äärmiselt kiireks — omadus, mis on mugav pärandsüsteemidega ühilduvuse jaoks, kuid katastroofiline vastupidavuse osas jõuräsimis- ja sõnastikurünnakute vastu.
Miks seda kasutada?
- Kontrolli, kas Windows SAM andmebaasist, NTDS.dit väljavõttest või Active Directory ekspordist saadud räsi vastab oodatud väärtusele volitatud turvatestimise käigus.
- Kinnita oma arusaamist MS-NLMP algoritmist või kontrolli oma koodi loodud räsi teadaolevalt korrektse teostuse vastu.
- Genereeri NTLM räsisid hashcat (`-m 1000`) või John the Ripperi sõnastikutestimiseks laboris või CTF-keskkonnas, mille ründamiseks on sul volitus.
- Rist-kontrolli Mimikatzi või teiste pentestimistööriistade väljundit õiguspäraste red-team või volituste auditi ülesannete käigus.
- 100% kohalik: sinu sisend ei lahku kunagi brauserist, mistõttu on turvaline seda kasutada isegi tundliku volitusmaterjali puhul volitatud hindamisel.
Kuidas kasutada
- Sisesta parool või sõne, mida soovid räsida, sisestusväljale.
- Klõpsa "Generate NTLM Hash".
- Loe 32-tähemärgilist kuueteistkümnendsüsteemi NTLM räsi (suurtähtedega väljund on vaikimisi sees, vastavalt sellele, kuidas Windows ja enamik murdmistööriistu seda kuvavad — eemalda linnuke väiketähtede jaoks).
- Klõpsa "Copy", et kopeerida räsi lõikelauale.
Näide
Sisend
passwordTulemus
8846F7EAEE8FB117AD06BDD830B7586CSee on tuntud, sõltumatult kontrollitav testvektor: sõne "password" NTLM räsi on alati 8846F7EAEE8FB117AD06BDD830B7586C. Saad selle tööriista väljundit kontrollida mis tahes teise korrektse NTLM teostuse vastu.
NTLM vs. tänapäevane paroolide räsimine
Allolev tabel toob esile, miks NTLM-i peetakse uute süsteemide kaitsmiseks vananenuks, kuigi see on endiselt sisseehitatud vanemasse Windowsi ja Active Directory infrastruktuuri.
| Omadus | NTLM | bcrypt / scrypt / Argon2 |
|---|---|---|
| Aluseks olev primitiiv | Üksainus MD4 läbimine | Otstarbekohaselt aeglane räsi reguleeritava kuluga |
| Soolamine | Puudub — identsed paroolid annavad alati identse räsi | Ainulaadne juhuslik sool iga parooli kohta |
| Kordamine / venitamine | Puudub | Reguleeritav töötegur, mida saab aja jooksul suurendada |
| Vastupidavus jõuräsimisele | Väga nõrk — miljardeid oletusi/sek tänapäeva GPU-del | Tahtlikult kulukas iga oletuse kohta |
| Kus seda veel leidub | Pärand-Windowsi autentimine, Active Directory tagavaravariant | Uued rakendused, praegune parim tava |
Seotud tööriistad
Kui vajad üldotstarbelist krüptograafilist räsi, mitte NTLM-spetsiifilist MD4(UTF-16LE) konstruktsiooni, võivad need tööriistad paremini sobida.
→ Multi-Algorithm Hash Generator · MD5 Generator · Password Generator
Korduma kippuvad küsimused
Mis täpselt on NTLM räsi?
See on paroolikontroll, mille Windows arvutab ja talletab NT LAN Manager autentimiseks, määratletud Microsofti MS-NLMP spetsifikatsioonis kui MD4(UTF-16LE(password)) — üksainus MD4 läbimine parooli UTF-16 little-endian baitkodeeringu peal. See on alati 128 bitti, kuvatuna 32 kuueteistkümnendsüsteemi tähemärgina.
Miks just UTF-16LE, mitte UTF-8 või ASCII?
Windows on talletanud teksti sisemiselt UTF-16LE vormingus alates NT loomisest, seega kodeeritakse paroolid samamoodi ka enne räsimist. Igast tähemärgist saab 2 baiti (little-endian baidijärjestus), kaasa arvatud tavalised ASCII tähemärgid nagu 'a', millest saab 0x61 0x00 lihtsalt 0x61 asemel. Sama sõne UTF-8 baitide räsimine annab täiesti erineva, vale tulemuse — see on kõige levinum viga NTLM-i nullist teostamisel.
Kas NTLM on tänapäeval turvaline kasutada?
Ei, ning Microsoft ise soovitab sellest loobuda Kerberose kasuks, kus võimalik. NTLM-il puudub sool, seega annavad identsed paroolid alati identsed räsid kõigi kasutajate ja süsteemide lõikes, mis võimaldab eelarvutatud rainbow-table otsinguid. Samuti puuduvad sellel korduste arv ja töötegur — üksainus soolamata MD4 läbimine —, mistõttu suudavad tänapäeva graafikaprotsessorid proovida miljardeid oletusi sekundis vastu saadud räsi. See püsib peamiselt vanemate Windowsi süsteemide ja rakendustega ühilduvuse tõttu.
Kuidas erineb NTLM tänapäevasest paroolide räsimisest, nagu bcrypt, scrypt või Argon2?
Tänapäevased paroolide räsijad on tahtlikult aeglased ja soolatud: bcrypt, scrypt ja Argon2 lisavad kõik ainulaadse juhusliku soola iga parooli kohta ja reguleeritava kulukusteguri, mida saab aja jooksul suurendada riistvara kiirenedes, spetsiaalselt selleks, et muuta jõuräsimine kalliks isegi suures mahus. NTLM ei tee kumbagi — see loodi ajastul, mil offline jõuräsimine polnud veel praktiline ohumudel, ja see on ka näha. Just seetõttu ei tohiks NTLM-i kunagi kasutada millegi tänapäeval loodava kaitsmiseks; selle tööriista tegelikud kasutusjuhud on ühilduvus olemasoleva Windowsi infrastruktuuriga ja volitatud turvatestimine, mitte uute süsteemide loomine.
Millised on NTLM räsigeneraatori õiguspärased kasutusalad?
SAM andmebaasist või NTDS.dit-ist saadud räside kontrollimine volitatud läbitungimistesti või volituste auditi käigus; oma tööriistade või skriptide MS-NLMP korrektse teostuse kontrollimine; testräside genereerimine hashcat (režiim 1000) või Mimikatz-vormingu ühilduvuskontrollide jaoks sinu kontrolli all olevas laboris; ning CTF- või koolitusülesannete lahendamine, mis otseselt puudutavad NTLM-i. Selle tööriista kasutamine kontode või süsteemide ründamiseks, mis sulle ei kuulu või mille testimiseks pole sul kirjalikku luba, ei ole õiguspärane kasutus.
Kas mu parool või sisend saadetakse serverisse?
Ei. MD4 arvutus toimub täielikult JavaScriptis sinu brauseris — brauseris puudub sisseehitatud MD4 API, seega on see rakendatud otse selle lehe kliendipoolses koodis, ja miski, mida sisestad, ei edastata kuhugi.