Hvad er dette værktøj?
NTLM (NT LAN Manager) er Microsofts ældre challenge-response-godkendelsesprotokol, som stadig bruges i dag til lokale Windows-kontologins og som fallback i mange Active Directory-miljøer. Dens adgangskodeverifikator — almindeligvis kaldet "NTLM-hashet" — er defineret i Microsofts egen MS-NLMP-protokolspecifikation som `MD4(UTF-16-LE(password))`: adgangskoden kodes først som UTF-16 little-endian (så hvert tegn bliver til 2 bytes, i modsætning til UTF-8), og denne bytesekvens hashes derefter én gang med MD4-algoritmen fra RFC 1320.
UTF-16LE-trinnet er det detalje, flest mennesker får galt, når de genimplementerer NTLM: at hashe UTF-8-bytes af en streng i stedet for dens UTF-16LE-bytes giver et helt andet, forkert digest, selvom den synlige tekst ser identisk ud. Dette værktøj koder korrekt, så dets output matcher det, Windows selv gemmer, og det, værktøjer som hashcat (mode 1000) og Mimikatz forventer.
Fordi NTLM er ældre end moderne adgangskode-hashing-design, har det ingen af de beskyttelser, der senere blev bygget specifikt til at bremse cracking: ingen salt pr. bruger, ingen konfigurerbar arbejdsfaktor og ingen bevidst iteration. Det er én enkelt MD4-omgang, hvilket gør det ekstremt hurtigt at beregne — en egenskab, der er praktisk til bagudkompatibilitet, men katastrofal for modstandsdygtighed over for brute-force- og ordbogsangreb.
Hvorfor bruge det?
- Verificér, at et hash udtrukket fra en Windows SAM-database, et NTDS.dit-dump eller en Active Directory-eksport matcher en forventet værdi under autoriseret sikkerhedstestning.
- Bekræft din forståelse af MS-NLMP-algoritmen, eller tjek et hash, din egen kode har produceret, mod en kendt korrekt implementering.
- Generér NTLM-hashes til hashcat (`-m 1000`) eller John the Ripper-wordlist-testning i et lab eller CTF-miljø, du har tilladelse til at angribe.
- Krydstjek Mimikatz eller andre pentest-værktøjers output under legitime red-team- eller credential-audit-opgaver.
- 100% lokalt: dit input forlader aldrig browseren, så det er sikkert at bruge selv til følsomt legitimationsmateriale i en autoriseret vurdering.
Sådan bruger du det
- Skriv den adgangskode eller streng, du vil hashe, i inputfeltet.
- Klik på "Generate NTLM Hash".
- Læs det 32-tegns hexadecimale NTLM-hash (output med store bogstaver er som standard slået til, hvilket matcher, hvordan Windows og de fleste crackingværktøjer viser det — fjern markeringen for små bogstaver).
- Klik på "Copy" for at kopiere hashet til din udklipsholder.
Eksempel
Input
passwordOutput
8846F7EAEE8FB117AD06BDD830B7586CDette er en velkendt, uafhængigt verificerbar testvektor: NTLM-hashet af den bogstavelige streng "password" er altid 8846F7EAEE8FB117AD06BDD830B7586C. Du kan tjekke dette værktøjs output mod enhver anden korrekt NTLM-implementering.
NTLM vs. moderne adgangskode-hashing
Tabellen nedenfor fremhæver, hvorfor NTLM anses for forældet til beskyttelse af nye systemer, selvom det stadig er indlejret i ældre Windows- og Active Directory-infrastruktur.
| Egenskab | NTLM | bcrypt / scrypt / Argon2 |
|---|---|---|
| Underliggende primitiv | Enkelt MD4-omgang | Formålsbygget langsomt hash med justerbar omkostning |
| Salting | Ingen — identiske adgangskoder hasher altid identisk | Unik tilfældig salt pr. adgangskode |
| Iteration / stretching | Ingen | Konfigurerbar arbejdsfaktor, kan øges over tid |
| Modstandsdygtighed over for brute-force | Meget svag — milliarder af gæt/sek på moderne GPU'er | Bevidst dyrt pr. gæt |
| Hvor det stadig findes | Ældre Windows-godkendelse, Active Directory-fallback | Nye applikationer, nuværende bedste praksis |
Relaterede værktøjer
Hvis du har brug for et generelt kryptografisk hash i stedet for den NTLM-specifikke MD4(UTF-16LE)-konstruktion, passer disse værktøjer måske bedre.
→ Multi-Algorithm Hash Generator · MD5 Generator · Password Generator
Ofte stillede spørgsmål
Hvad er præcis et NTLM-hash?
Det er den adgangskodeverifikator, Windows beregner og gemmer til NT LAN Manager-godkendelse, defineret i Microsofts MS-NLMP-specifikation som MD4(UTF-16LE(password)) — en enkelt MD4-omgang over adgangskodens UTF-16 little-endian bytekodning. Det er altid 128 bit, vist som 32 hex-tegn.
Hvorfor specifikt UTF-16LE, og ikke UTF-8 eller ASCII?
Windows har gemt tekst internt som UTF-16LE, siden NT blev designet, så adgangskoder kodes også på den måde før hashing. Hvert tegn bliver til 2 bytes (little-endian byte-rækkefølge), inklusive almindelige ASCII-tegn som 'a', der bliver til 0x61 0x00 i stedet for blot 0x61. At hashe UTF-8-bytes af den samme streng giver et helt andet, forkert resultat — dette er den mest almindelige fejl i NTLM-implementeringer bygget fra bunden.
Er NTLM sikkert at bruge i dag?
Nej, og Microsoft selv anbefaler at bevæge sig væk fra det til fordel for Kerberos, hvor det er muligt. NTLM har ingen salt, så identiske adgangskoder altid producerer identiske hashes på tværs af alle brugere og alle systemer, hvilket muliggør præberegnede rainbow-table-opslag. Det har heller ingen iteration eller arbejdsfaktor — én usaltet MD4-omgang — så moderne GPU'er kan forsøge milliarder af gæt pr. sekund mod et opsnappet hash. Det overlever primært for bagudkompatibilitet med ældre Windows-systemer og -applikationer.
Hvordan adskiller NTLM sig fra moderne adgangskode-hashing som bcrypt, scrypt eller Argon2?
Moderne adgangskode-hashere er bevidst langsomme og saltede: bcrypt, scrypt og Argon2 tilføjer hver en unik tilfældig salt pr. adgangskode og en justerbar omkostningsfaktor, der kan øges over tid, efterhånden som hardware bliver hurtigere, specifikt for at gøre brute-forcing dyrt selv i stor skala. NTLM gør ingen af delene — det blev designet i en æra, før offline brute-forcing var en praktisk trusselsmodel, og det ses tydeligt. Det er præcis derfor, NTLM aldrig bør bruges til at beskytte noget, der designes i dag; dette værktøjs reelle brugstilfælde er kompatibilitet med eksisterende Windows-infrastruktur og autoriseret sikkerhedstestning, ikke opbygning af nye systemer.
Hvad er legitime anvendelser af en NTLM-hash-generator?
Verificering af hashes udtrukket fra en SAM-database eller NTDS.dit under en autoriseret penetrationstest eller credential-audit; kontrol af, at dine egne værktøjer eller scripts implementerer MS-NLMP korrekt; generering af testhashes til hashcat (mode 1000) eller Mimikatz-formatkompatibilitetstjek i et lab, du kontrollerer; og løsning af CTF- eller træningsøvelser, der eksplicit involverer NTLM. At bruge dette værktøj til at angribe konti eller systemer, du ikke ejer eller har skriftlig tilladelse til at teste, er ikke en legitim anvendelse.
Bliver min adgangskode eller mit input sendt til en server?
Nej. MD4-beregningen kører udelukkende i JavaScript i din browser — der findes ingen native browser-API til MD4, så den er implementeret direkte i denne sides klientside-kode, og intet af det, du skriver, transmitteres nogen steder.