Процесс в WinNT 4.0 от другого пользователя
От: A.Zanevski  
Дата: 17.09.03 15:39
Оценка:
Постановка задачи:
Программа, которая запущена пользователем не имеющим прав администратора, должна запустить другую программу от имени другого пользователя. Имя и пароль другого пользователя известны.
Пробовалось:
1. Создать токен методами SPPI (http://www.rsdn.ru/article/qna/baseserv/winauth.xml) и использовать его первичный(primary) дубликат для создания процесса(CreateProcessAsUser). В результате ошибка №5 "Access is denied."
2. Внедрять DLL которая выполняет LogonUser + CreateProcessAsUser в процесс системных сервисов. Не получилось внедрить (ни через SetWindowHookEx, ни через CreateRemoteThread).

Есть ли еще возможные варианты или возможно я что-то делал не так?
Или это в принципе не возможно?
Re: Процесс в WinNT 4.0 от другого пользователя
От: Vadim B  
Дата: 17.09.03 15:59
Оценка:
Здравствуйте, A.Zanevski, Вы писали:

AZ>Постановка задачи:

AZ> Программа, которая запущена пользователем не имеющим прав администратора, должна запустить другую программу от имени другого пользователя. Имя и пароль другого пользователя известны.
AZ>Пробовалось:
AZ> 1. Создать токен методами SPPI (http://www.rsdn.ru/article/qna/baseserv/winauth.xml) и использовать его первичный(primary) дубликат для создания процесса(CreateProcessAsUser). В результате ошибка №5 "Access is denied."

А так, как MSDN советует, не получается? В смысле, получить токен функцией LogonUser?
Re: Процесс в WinNT 4.0 от другого пользователя
От: SergH Россия  
Дата: 17.09.03 16:37
Оценка:
Здравствуйте, A.Zanevski, Вы писали:

AZ> 2. Внедрять DLL которая выполняет LogonUser + CreateProcessAsUser в процесс системных сервисов. Не получилось внедрить (ни через SetWindowHookEx, ни через CreateRemoteThread).


Попробуй найти среди них интерактивный, возможно в него получится через хуки (FYI — хуки действуют в пределах десктопа). Попробуй через реестр.
Делай что должно, и будь что будет
Re[2]: Процесс в WinNT 4.0 от другого пользователя
От: A.Zanevski  
Дата: 18.09.03 13:17
Оценка:
Здравствуйте, Vadim B, Вы писали:

VB>А так, как MSDN советует, не получается? В смысле, получить токен функцией LogonUser?

Для вызова ф-ции LogonUser нужна привелегия SE_TCB_NAME, которая предоставляется только системным сервисам.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.