"Алекс Федченко. Описание механизма функционирования парольных кэшей Windows v4.xx" - читать интересную книгу автора

пытается подключиться к сетевому (и не только) ресурсу, функция
WNetAddConnection возвращает код результата ERROR_INVALID_PASSWORD или
ERROR_ACCESS_DENIED, в таком случае выводится стандартный диалог запроса
пароля (для любителей, можете написать перехватчик данного диалога, в
частности, это будет WNetConnectionDialog), затем производится повтор попытки
подключения, в случае успеха пароль заносится в кэш паролей и в дальнейшем
делается попытка его использования именно оттуда (при возникновении проблем
происходит переключение на "ручное управление"). Как использовать данный
сервис нестандартно? а вот как:

IMPORTS
WNetEnumCachedPasswords = MPR.WNetEnumCachedPasswords

Затем:
Push 0
Push Offset AcceptCache
Push 0FFh
Push 0
Push 0
Call WNetEnumCachedPasswords

Где процедура AcceptCache является точкой обратного вызова и принимает два
параметра, первый из которых - адрес элемента парольного кэша, про структуру
кэша мы поговорим дальше. В вашей программе можно писать так:

Mov EAx,[ESp+4]
...............
Ret 8h

Hа самом деле ничего писать не надо, все уже и так реализовано в моей
программе PWLHACK v4.02, которую можно взять по адресу указанному в конце этой
статьи. Как вы уже успели понять, на залогиненной машине возможно элементарно
получить весь список парольных ресурсов со всей сопутствующей критической (с
точки зрения безопасности) информацией. Виват, Micro$oft! Кстати, во всей
литературе, которую я читал про защиту информации, слова MS-DOS и Windows не
упоминаются вообще (разве что во введении, причем единожды ;-). В принципе,
описанный выше механизм работы с парольным кэшем суть существенный просчет
(даже на фоне прочей дырявости) в системе безопасности Windows.
Раз уж я заговорил о дырках... скажу еще пару слов (все это делает PWLHACK
v4.02), ресурсы предоставляемые машиной в сеть для публичного использования
хранятся в регистри (причем вместе с паролями). Вот как это происходит:

Software\Microsoft\Windows\CurrentVersion\Network\LanMan

Hачиная отсюда подключами располагаются сетевые каталоги плюс вспомогательная
информация (флаги, пароли и проч.) Хотите знать механизм шифрования паролей?
Вот он: Seed=6Ah; ForEach Password (Ror Seed,1; Character Xor Seed) Все
желающие могут чуть-ли не батником добавлять шаровые ресурсы в машину (при
условии физического доступа к ней). Управлением локальными ресурсами машины,
предоставляемыми в сеть, занимается VSERVER.vxd, а обменом информацией с