OpenDesktop(pchar('Winlogon')...

Тема в разделе "WASM.WIN32", создана пользователем zxm, 2 дек 2006.

  1. zxm

    zxm New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2006
    Сообщения:
    71
    Вот кусок кода:
    Код (Text):
    1. var
    2.  hStaPrev,hSta:HWINSTA;
    3.  hDeskPrev,hDesktop:HDESK;
    4. begin
    5.  result:=false;
    6.  if not GetPriveleges then exit;
    7.  hStaPrev:=GetProcessWindowStation;
    8.  hDeskPrev:= GetThreadDesktop(GetCurrentThreadId);
    9.  hSta:=OpenWindowStation(pchar('Winsta0'), false, GENERIC_ALL);
    10.  if (hSta<>0) and (SetProcessWindowStation(hSta)) then
    11.   begin
    12.    hDesktop:=OpenDesktop(pchar('Winlogon'),0,false,GENERIC_ALL);
    13. ..........................................................................................
    При выполнении под админом в hDesktop 0, GetLastError 5. Из сервиса всё работает. МОжно ли как-то получить нужные привелегии?

    PS Инджект не предлагать
     
  2. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    1. Пуст прога сама себя запустит как сервис.
    2. Взять прогу hххp://download.sysinternals.com/Files/ProcessExplorer.zip.
    Полюбоваться на права доступа к объекту десктопа Winlogon для админа.
    Увидеть что админу разрешено: удалить, сменить владельца, сменить права доступа.
    Написать код, изменяющий права доступа к десктопу на "ALL" для адимина, хотя это плохой тон, но так проще ;)
     
  3. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    вариант - запускай свою прогу через AT
     
  4. zxm

    zxm New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2006
    Сообщения:
    71
    Уже сделал запуск проги как сервиса. Самый просто вариант. НА права доступа конечно смотрел, более того, получил хендл нужного десктопа другим способом и попытался изменить их. Пишет что прав нет. Вобщем лезть туда может тока SYSTEM. Всем спс.

    А что такое АТ?
     
  5. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    at.exe
    любая прога запущенная этой штукой работает под аккаунтом локалсистем
     
  6. zxm

    zxm New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2006
    Сообщения:
    71
    Спс.