Какие алгоритмы используются (какой хеш, они используют соль, ...)
Сохраняются два хэша: LM-хеш для LanMan и MD4 (также называемый «NT-хэш») для NTLM.
Обычно используется только хеш MD4. Он не является соленым, поскольку база данных SAM доступна только для группы Administrators
и внутренней учетной записи NT AUTHORITY\SYSTEM
.
Хеш LM хранится только для совместимости. (См. Пункт ниже.) Это очень небезопасно (его история начинается с OS/2 и MS-DOS), и его можно взломать за (я думаю) минуты. Windows использует его только при входе на старые серверы; однако, если он хранится, его можно извлечь с помощью LiveCD или другого.
В Windows 7 сохранение LM-хэшей отключено. В более ранних выпусках вы можете отключить его вручную в политиках безопасности (secpol.msc
→ Локальные политики → Параметры безопасности → Безопасность сети: не хранить хэш LAN Manager).
Где хранятся пароли?
База данных диспетчера учетных записей безопасности - часть реестра, хранящаяся в %SystemRoot%\system32\config\
.
Начиная с Windows 2000, база данных SAM по умолчанию дополнительно шифруется . <afaik>
Ключ разбросан по всему (одному и тому же) файлу реестра, но все еще подлежит восстановлению. </afaik>
Но если вы хотите, вы можете переместить ключ шифрования на дисковод гибких дисков или использовать дополнительный пароль. (Вам будет предложено это при загрузке.) Это делается с помощью SYSKEY (syskey.exe
)
(Поддержка SYSKEY была добавлена в NT 4.0 SP3, но по умолчанию отключена до W2000.)
Есть ли известные подвиги?
Взломать LM хэши? Больше, чем ты можешь представить.
MD4 кажется более безопасным, но обязательно прочитайте эту статью в Википедии.
На Windows 9x серии - не ожидайте ничего лучше, чем ROT26.