Okej, låt oss vara tydliga:
Microsoft Windows XP, som standard, lagrar inte användarlösenord i registret i vanlig text eller i ett direkt reversibelt format. Att lagra lösenord i registret, särskilt på ett lätt återvinningsbart sätt, skulle vara en massiv säkerhetsfel.
Vissa dåligt skrivna applikationer eller skadlig programvara * kan emellertid * försöka lagra referenser i registret osäkert, men detta är inte standardförfarandet för Windows XP -operativsystemet.
Här är en uppdelning av vad Windows XP * använder * och där vissa potentiella sårbarheter kan existera:
1. Security Accounts Manager (SAM) databas:
* Detta är den primära platsen där användarkontoinformation (inklusive lösenordshash) lagras. Det är en databasfil som finns på `%SystemRoot%\ System32 \ config \ Sam`.
* Lösenordshashing: Windows XP använder som standard en hash -algoritm för att lagra lösenord. En hash är en envägsfunktion. Du kan beräkna hash från lösenordet, men du kan inte enkelt vända processen för att få det ursprungliga lösenordet från hash. Windows XP används främst lm hash och ntlm hash (NT LAN Manager) för lagring av lösenord.
* lm hash (LAN Manager hash): Detta är en svag och föråldrad hashalgoritm. Den konverterar lösenordet till versaler, paddar det till 14 tecken och delar sedan upp det i två 7-karaktärssegment. Varje segment hashas sedan med en enkel algoritm. På grund av lösenordets korta längd (max 14) och algoritmen är det mycket mottagligt för attacker och regnbågsattacker. LM Hash anses i huvudsak trasig.
* ntlm hash (nt lan manager hash): Detta är en säkrare hash än LM -hash, men det anses fortfarande vara relativt svagt av moderna standarder. Den använder en kryptografisk hashfunktion som heter MD4. Även om det är bättre än LM, är NTLM fortfarande sårbar för olika attacker, särskilt om lösenordet är svagt eller lätt gissbart.
* Åtkomstkontroll: SAM -databasen är starkt skyddad. Tillgången är begränsad till "System" -kontot, vilket gör det svårt för standardanvändare eller applikationer att direkt läsa eller ändra innehållet.
2. Registernycklar och potentiella sårbarheter:
Medan Windows XP inte lagrar lösenord * direkt * i registret finns det några områden där referenser eller känslig information kan * eventuellt * hittas, även om dessa ofta är relaterade till cachade referenser eller dåligt utformade applikationer:
* cachade referenser: Windows XP kan cache -referenser för nätverksandelar eller webbplatser. Dessa cachade referenser var * krypterade * (inte hashade) och lagrades i registret under nycklar som:
* `HKEY_LOCAL_MACHINE \ Säkerhet \ Policy \ Secrets \`
* `HKEY_CURRENT_USER \ Programvara \ Microsoft \ skyddad lagringssystemleverantör`
Emellertid härleddes * krypteringsnycklarna * från användarens lösenord och systemnyckeln. Detta innebär att om en angripare fick tillgång till både registret och systemnyckeln, kan de * kunna dekryptera de cachade referenser.
* autologon: Om Autologon -funktionen var aktiverad (främst för bekvämlighet) kan användarnamnet och lösenordet * lagras i registret i ett relativt lättillgängligt format. Detta lagrades på:
* `HKEY_LOCAL_MACHINE \ Programvara \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon`
Värdena var "defaultUserName", "defaultPassword" och "autoadminlogon". Att möjliggöra denna funktion utgjorde en betydande säkerhetsrisk.
* Tredjepartsapplikationer: Dåligt skrivna tredjepartsapplikationer kan lagra användarnamn och lösenord i sina egna registernycklar, potentiellt i vanlig text eller använda svag kryptering. Detta är ett stort säkerhetsproblem. Malware kan också använda registret för att lagra stulna referenser.
* RAS/VPN -lösenord: Äldre versioner av Windows som används för att lagra RAS (Remote Access Service) och VPN (Virtual Private Network) lösenord i en svagt krypterad form i registret. Verktyg fanns för att extrahera dessa lösenord.
3. Varför lm hash är problematisk:
Det största problemet med Windows XP:s säkerhet var beroende av LM -hash som standard. Även om en användare hade ett starkt lösenord, om LM -hash var aktiverat (vilket det ofta var som standard), skulle systemet generera en svag LM -hash -representation av lösenordet, vilket gjorde det sårbart för attack. Att inaktivera LM -hash var en kritisk säkerhetsrekommendation.
4. Verktyg för att extrahera referenser (etiska överväganden):
Jag kommer * inte * att ge instruktioner om hur man extraherar lösenord från registret. Att tillhandahålla sådan information kan användas för skadliga ändamål. Det är emellertid viktigt att vara medveten om att verktyg finns (eller fanns) som kan försöka extrahera cachade referenser eller lösenord från registret, särskilt om systemet var felkonfigurerat eller om svaga hashalgoritmer användes. Dessa verktyg riktar sig ofta till registerplatserna som nämns ovan. Att använda dessa verktyg utan korrekt tillstånd är olagligt och oetiskt.
Sammanfattningsvis:
* Windows XP själv gör * inte * lagrar användarlösenord i registret i vanlig text.
* Den använder lösenordshashing (LM och NTLM) för att skydda lösenord lagrade i SAM -databasen.
* Lm hash är svag och bör inaktiveras.
* Cachade referenser och autologoninställningar * kan * lagras i registret, men ofta i ett krypterat format (även om krypteringen kan vara svag).
* Dåligt skrivna ansökningar kan lagra referenser osäkert i registret.
* Det bästa sättet att skydda ditt Windows XP -system (om du absolut måste använda det) är att:
* Använd starka, unika lösenord.
* Inaktivera LM -hash.
* Håll ditt system lappat (även om supporten har slutat finns det inofficiella korrigeringar tillgängliga).
* Var mycket försiktig med programvaran du installerar.
* Överväg att uppgradera till ett säkrare operativsystem.
Viktig säkerhetsanmärkning: Windows XP är extremt sårbara för säkerhetshot på grund av dess ålder och brist på säkerhetsuppdateringar. Det rekommenderas starkt att uppgradera till ett operativsystem som stöds av säkerhetsskäl. Att köra Windows XP på internet är mycket avskräckt.