LM hash

LM-hash , eller LAN Manager-hash , är ett av formaten som används av Microsoft LAN Manager och versioner av Microsoft Windows före Windows Vista för att lagra användarlösenord som är mindre än 15 tecken långa. Detta är den enda hash som används i Microsoft LAN Manager, där namnet kommer ifrån, och i versioner av Windows före Windows Me . Det stöds också av senare versioner av Windows för bakåtkompatibilitet , även om det måste aktiveras manuellt i Windows Vista.

Algoritm

LM-hash beräknas enligt följande [1] :

  1. Användarlösenordet är versalt .
  2. Lösenordet är utfyllt med nollor eller trunkerat till 14 byte .
  3. Det resulterande lösenordet är uppdelat i två delar om 7 byte.
  4. Dessa värden används för att skapa två DES -nycklar , en för varje 7-byte-halva, med 7 byte behandlade som en bitström och en nolla infogas efter var 7 :e bit . Detta skapar de 64 bitar som krävs för en DES- nyckel .
  5. Var och en av dessa nycklar används för att DES-kryptera ASCII - strängen " KGS!@#$%", vilket resulterar i två 8-byte krypterade värden.
  6. Dessa krypterade värden är sammanlänkade till ett 16-byte-värde, vilket är LM-hash.

Säkerhetssårbarheter

Även om LM-hash är baserat på ett DES -blockchiffer av hög kvalitet , kan det lätt attackeras för lösenordsgissning på grund av två sårbarheter i dess implementering. Först delas lösenord som är längre än 7 tecken i två delar och varje del hashas separat. För det andra konverteras alla gemener till versaler innan lösenordet hashas. Den första sårbarheten gör det möjligt att attackera varje del av lösenordet separat. Även om det finns olika lösenord som består av synliga ASCII-tecken, är det möjligt att bara skapa olika 7-byte delar av lösenordet med en kodtabell. Begränsning av teckenuppsättning på grund av konvertering av versaler minskar också antalet alternativ till . Genom att tillämpa en brute force- attack på varje halva separat, kan moderna persondatorer plocka upp en alfanumerisk LM-hash på några timmar.

Eftersom LM-hash inte använder slumpmässiga sekvenser , är ordbokskryptanalytiska attacker som regnbågstabeller också möjliga mot den . 2003 publicerades Ophcrack , en attack baserad på regnbågstabeller. Den utnyttjar alla sårbarheter i LM-kryptering och inkluderar en databas som är tillräckligt stor för att knäcka nästan alla LM-hashar med taltecken på några sekunder. Många crackingverktyg som RainbowCrack , L0phtCrack och Cain inkluderar nu också sådana attacker, vilket gör cracking LM-hashar trivialt.

Som svar på dessa LM-krypteringssårbarheter introducerade Microsoft NTLM- algoritmen i Windows NT 3.1 . Även om LAN Manager anses vara föråldrad och moderna versioner av Windows använder den mer robusta NTLM-hashalgoritmen, beräknar och lagrar alla Windows-operativsystem fortfarande en LM-hash som standard för kompatibilitet med LAN Manager och Windows Me eller äldre klienter . Man tror att om du inaktiverar denna funktion när den inte behövs förbättras säkerheten [2] .

Microsoft har uppgett att stödet för LM-hashning helt kommer att tas bort i Windows Vista [3] . Trots detta innehåller den nuvarande versionen av Vista LM-hash-stöd, om än inaktiverat som standard. Det kan aktiveras i "Lokala säkerhetspolicyer" från verktygen "Administration".

Lösenord är särskilt sårbara för LM-hashning

På grund av lösenordsdelning är lösenord med 7 tecken eller mindre särskilt sårbara, liksom de som består av ett ord med 7 tecken följt av ett annat vanligt ord eller ett enda tecken. Samtidigt, eftersom LM-hashning inte tillämpas på lösenord på 15 tecken eller mer, är de relativt starka. Om Windows-versioner av 9x-familjen inte används kan stöd och användning av LM-hash inaktiveras [4] .

Skäl för fortsatt användning

Tillgänglighet av NTLM-protokoll utformade för att ersätta LM-autentisering
produkt Stöd för NTLMv1 Stöd för NTLMv2
Windows NT 3.1 RTM (1993) stöds inte
Windows NT 3.5 RTM (1994) stöds inte
Windows NT 3.51 RTM (1995) stöds inte
Windows NT4 RTM (1996) SP4 [5] (25 oktober 1998)
Windows 95 stöds inte Directory Service Client (släppt med Windows 2000 Server, 17 februari 2000)
Windows 98 RTM Directory Service Client (släppt med Windows 2000 Server, 17 februari 2000)
Windows 2000 RTM (17 februari 2000) RTM (17 februari 2000)
Windows ME RTM (14 september 2000) Directory Service Client (släppt med Windows 2000 Server, 17 februari 2000)
Samba ? version 3.0 [6] (24 september 2003)
JCIFS stöds inte version 1.3.0 (25 oktober 2008) [7]
IBM AIX (SMBFS) 5.3 (2004) [8] Stöds inte i version 7.1 [9]

Se även

Anteckningar

  1. Glass, Eric NTLM-autentiseringsprotokollet (2003). Hämtad 5 juni 2006. Arkiverad från originalet 18 mars 2012.
  2. Hur man förhindrar Windows från att lagra en LAN-hanterare-hash av ditt lösenord i Active Directory och lokala SAM-databaser . Microsoft Knowledge Base . Hämtad 5 juni 2006. Arkiverad från originalet 18 mars 2012.
  3. Johansson, Jesper. Den mest missförstådda säkerhetsinställningen i Windows genom tiderna  //  TechNet Magazine: journal. - 2006. - Augusti. Arkiverad från originalet den 18 november 2008.
  4. Hur man förhindrar Windows från att lagra en LAN-hanterare-hash av ditt lösenord i Active Directory och lokala SAM-databaser . Hämtad 11 september 2008. Arkiverad från originalet 18 mars 2012.
  5. Windows NT 4.0 Service Pack 4 Readme.txt-fil (40-bitars) . Microsoft (25 oktober 1998). Tillträdesdatum: 27 maj 2010. Arkiverad från originalet 31 december 2014.
  6. Samba-teamet tillkännager den första officiella utgåvan av Samba 3.0 . samba.org (24 september 2003). Hämtad 27 maj 2010. Arkiverad från originalet 8 mars 2021.
  7. JCIFS-biblioteket: Nyheter . Datum för åtkomst: 27 maj 2010. Arkiverad från originalet den 20 februari 2011.
  8. AIX 5L Version 5.3: Nätverks- och kommunikationshantering (pdf) 441. IBM (15 mars 2010). Hämtad: 18 september 2012.
  9. AIX 7.1: Nätverks- och kommunikationshantering (pdf) 479. IBM (5 december 2011). Hämtad: 18 september 2012.