Возможно ли выдать себя за пользователя без входа в систему? - PullRequest
8 голосов
/ 26 сентября 2008

Возможно ли выдать себя за пользователя без указания имени пользователя и пароля? По сути, я бы хотел получить CSIDL_LOCAL_APPDATA для пользователя (а не текущего), используя функцию ShGetFolderPath(). Все, что у меня сейчас есть, это SID для этого пользователя.

Ответы [ 2 ]

8 голосов
/ 12 мая 2009

Вы можете выдать себя за пользователя без указания пароля, вызвав ZwCreateToken. Посмотрите функцию CreatePureUserToken в этой статье: RunAsEx на основе графического интерфейса Вы должны работать от имени администратора (или LocalSystem), чтобы это работало.

Другой метод - использовать пакеты субаутентификации Windows. Это позволяет вам переопределить встроенную аутентификацию Windows и позволить LogonUser работать успешно, даже если пароль не был указан. Смотрите эту статью KB .

6 голосов
/ 26 сентября 2008

Нет, вам нужно вызвать Win32 API LogonUser , чтобы вернуть маркер учетной записи Windows, чтобы потом вы могли выдать себя за другого.

...