Jul
9
2009

LM-hash (lösenordskryptering)


lm hashingLM-hash är ett format som Windows XP använder för att spara lösenord som innehåller 14 eller färre tecken. Windows Vista används inte LM-hash till fördel för NTML som anses vara mycket säkrare. LM-hashar finns dock som tillval i Vista för att klara av bakåtkompatibilitet.

Hur skapas LM-hashar från lösenord?

  1. Lösenordet omvandlas till att endast innehålla stora bokstäver.
  2. Om lösenordet innehåller färre 14 tecken konkateneras null-tecken till för att uppnå längden 14.
  3. Lösenordet delas i två delar. 7 tecken i varje del.
  4. De två halvorna DES-krypteras genom att addera en 0-bit var 7e bit av de totalt 56 (7*8) bitarna i varje halva (8 bitar i varje tecken multiplicerat med 7 tecken). När detta är gjort finns 64+64 bitar som kan bilda två DES-nycklar.
  5. Varje DES-nyckel används för att DES-kryptera strängen ”KGS!@#$%” som resulterar två 8 bytes chiffer. Dessa chiffer konkateneras och bildar en 16 bytes LM-hash.

Varför är LM-hashar så svaga?

När lösenord LM-hashas transformeras lösenordet till stora bokstäver vilket innebär att redan nu har LM-algoritmen uteslutet hälften av alla möjliga kombinationer. Därefter delas lösenordet i två delar där de första sju tecknen hamnar i den ena delen och de övriga tecknen i den andra delen (max 7). Om lösenordet innehåller 9 tecken får alltså den första delen sju tecken medans den andra får två. Tack vare att algoritmen delar upp lösenordet i två strängar kan hashen knäckas mycket snabbare. Sju tecken är nämligen avsevärt mycket lättare än åtta eftersom antalet olika kombinationer ökar exponentiellt med antalet tecken . Detta gör att vanliga persondatorer kan knäcka alfanumeriska lösenord på bara någon timme genom en enkel brute force attack.

Vad är brute force?

Brute force är helt enkelt då man naivt testar precis varje möjligt kombination. Attackeraren kan helt en kelt köra algoritmen ovan med alla möjliga kombination tills den resulterande hashen matchar den önskade.

Relaterade inlägg

Om författaren: Kim

Administratör

2 Kommentarer + Lämna en kommentar

  • Dessutom tar det inte så lång tid att göra rainbow tables för alla LM-hashar, vilket gör att man kan slå upp lösenord på bara ett fåtal sekunder ;)

    • Visst. men gäller inte detta endast för lösenord med alfanumeriska tecken? En rainbow table för alla tecken är väll på cirka 80gb om jag inte kommer ihåg helt fel?

Lämna en kommentar