CodeKitHub
Kodeerimistööriistad

NTLM Hash Generator

Viimati uuendatud:

NTLM räsi arvutatakse kodeerides sisendi UTF-16LE vormingus (2 baiti tähemärgi kohta, little-endian) ning seejärel käivitades selle läbi MD4 sõnumiräsi algoritmi — see ühekordne, soolamata operatsioon on kogu NTLM-räsiskeem, mida Microsoft Windows on kasutanud alates NT 4.0-st paroolikontrollide talletamiseks. See tööriist teostab täpselt sama arvutuse kohapeal sinu brauseris, täielikult JavaScriptis, nii et miski, mida sisestad, ei jõua kunagi serverisse. See on mõeldud õiguspäraseks turvatööks — Active Directory räsiekspordi kontrollimiseks, hashcat või Mimikatz väljundvormingute kontrollimiseks või CTF ja pentestimislabori ülesannete lahendamiseks — mitte kontode ründamiseks, mis sulle ei kuulu või mille testimiseks sul volitust pole.

NTLM Hash

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

  1. Sisesta parool või sõne, mida soovid räsida, sisestusväljale.
  2. Klõpsa "Generate NTLM Hash".
  3. 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).
  4. Klõpsa "Copy", et kopeerida räsi lõikelauale.

Näide

Sisend

password

Tulemus

8846F7EAEE8FB117AD06BDD830B7586C

See 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.

OmadusNTLMbcrypt / scrypt / Argon2
Aluseks olev primitiivÜksainus MD4 läbimineOtstarbekohaselt aeglane räsi reguleeritava kuluga
SoolaminePuudub — identsed paroolid annavad alati identse räsiAinulaadne juhuslik sool iga parooli kohta
Kordamine / venitaminePuudubReguleeritav töötegur, mida saab aja jooksul suurendada
Vastupidavus jõuräsimiseleVäga nõrk — miljardeid oletusi/sek tänapäeva GPU-delTahtlikult kulukas iga oletuse kohta
Kus seda veel leidubPärand-Windowsi autentimine, Active Directory tagavaravariantUued 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.

Seotud tööriistad