Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.11;
Скачать: CL | DM;

Вниз

Как запустить процесс с привилегиями System   Найти похожие ветки 

 
SCL ©   (2008-12-14 10:16) [0]

Как запустить процесс от пользователя System и с привилегиями Системы (как некоторые антивирусы)


 
Игорь Шевченко ©   (2008-12-14 13:05) [1]

1. Процесс всегда можно увидеть
2. Процесс всегда можно убить
3. Систему безопасности в Windows разрабатывали умные люди.


 
Leonid Troyanovsky ©   (2008-12-14 16:31) [2]


> SCL ©   (14.12.08 10:16)  

> Как запустить процесс от пользователя System

Ну, например, через Schedule, если оно от лица System,
то и все им пущеннные будут таковыми.

--
Regards, LVT.


 
МистерТ   (2008-12-15 16:53) [3]

Это называется системная служба или сервис.
Но права там далеко не системные.


 
Eraser ©   (2008-12-15 18:02) [4]

> Как запустить процесс с привилегиями System

вызвать CreateProcess из приложения с правами и привилегиями System.


 
Fighter   (2009-01-03 04:48) [5]

Гдето на работе валялся асемблерный исходник который такое делат. доберусь до работы и если вспомню напишу.  Вспоминается что там используется функция GetKernelObjectSecurity которая получает SecurityDescriptor. потом следует танец с бубном и CreateProcess


 
apic   (2009-01-29 12:20) [6]

Fighter, ждем тебя! Мне тоже интересно...


 
Eraser ©   (2009-01-29 16:54) [7]

> [6] apic   (29.01.09 12:20)

можешь не ждать, а купить книгу Руссиновича, там все описано и даже готовое решение есть http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx


 
user00   (2009-04-10 19:27) [8]

Запустить файл как сервис


 
имя   (2009-04-11 06:39) [9]

Удалено модератором


 
Игорь ©   (2009-04-12 10:33) [10]

Вот держи убогую хрень написанную мной

RunAsSystem под 2000, 2003, XP, Vista

http://www.onlinedisk.ru/file/118954/


 
Riply ©   (2009-04-29 16:23) [11]

> [10] Игорь ©   (12.04.09 10:33)
> Вот держи убогую хрень написанную мной

Ну не совсем уж и убогая :)

Смотрела бегло, но сразу обратила внимание, на то что ты меняешь секюрити у winlogon.
Конечно это никуда не годится, надо искать другой путь.
(Вариант временно изменить и потом вернуть обратно тож плох).
Так что, если конечно интерес не пропал, дерзайте дальше :)
P.S.
Есть там еще ошибки, но они меркнут в сравнении с описанной выше :)


 
Игорь ©   (2009-04-29 17:13) [12]

Вот доделанный вариант, PACL winlogon"у назад возвращаеться

function _RunAsSystem_1(ApplicationName: string; CommandLine: string): Boolean;
var
 SI: STARTUPINFO;
 PI: PROCESS_INFORMATION;
 PSD: PPSecurity_Descriptor;
 ppDacl: PACL;
 hProcess, hToken: Cardinal;
begin
 Result:= False;
 hProcess:= OpenProcess(PROCESS_QUERY_INFORMATION, False, GetWinlogonPID);
 if hProcess <> 0 then
 begin
   try
     OpenProcessToken(hProcess, MAXIMUM_ALLOWED, hToken);
     if hToken <> 0 then
     begin
       if GetSecurityInfo(hToken, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, @ppDacl, nil, PSD) = ERROR_SUCCESS then
       begin
         if SetSecurityInfo(hToken, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, nil, nil) = ERROR_SUCCESS then
         begin
           CloseHandle(hToken);
           hToken:= 0;
           OpenProcessToken(hProcess, MAXIMUM_ALLOWED, hToken);
           if hToken <> 0 then
           begin
             try
               if ImpersonateLoggedOnUser(hToken) then
               begin
                 ZeroMemory(@SI, SizeOf(SI));
                 SI.cb:= SizeOf(SI);
                 if CreateProcessAsUser(hToken, PChar(ApplicationName), PChar(CommandLine), nil, nil, False, CREATE_DEFAULT_ERROR_MODE, nil, nil, SI, PI) then
                   Result:= True;
                 RevertToSelf;
               end;
               SetSecurityInfo(hToken, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, ppDacl, nil);
             finally
               CloseHandle(hToken);
             end;
           end;
         end;
         LocalFree(DWORD(ppDacl));
         LocalFree(DWORD(PSD));
       end;
     end;
   finally
     CloseHandle(hProcess);
   end;
 end;
end;


 
trix   (2009-09-13 00:45) [13]

Запустить как сервис. =)


 
СовестьДМ ©   (2009-09-13 02:19) [14]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2011.12.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.009 c
2-1314704892
basilcat
2011-08-30 15:48
2011.12.11
Unable to Write


4-1252784613
Ruzzz
2009-09-12 23:43
2011.12.11
Фишки Vista/Win7 в Delphi (типа прогресс в панеле задач)


15-1313561619
vrem
2011-08-17 10:13
2011.12.11
shadow copy - как?


15-1313045575
delpfir
2011-08-11 10:52
2011.12.11
DataSet+DLL+Connection


2-1314109649
Сергей
2011-08-23 18:27
2011.12.11
Как перехватить исключение Ado?