NtShutdownSystem

Discussion in 'WASM.NT.KERNEL' started by SysProger, Mar 21, 2009.

  1. SysProger

    SysProger New Member

    Blog Posts:
    0
    Joined:
    Jul 18, 2007
    Messages:
    127
    Подскажите, как с помощью функций NativeAPI поднять привилегиии до SE_SHUTDOWN_PRIVILEGE. Без этого функция NtShutdownSystem не работает.
     
  2. DeRekX

    DeRekX New Member

    Blog Posts:
    0
    Joined:
    Jul 21, 2007
    Messages:
    98
    Location:
    Russia
    можно добавить привилегии в маркер процесса с помощью своего драйвера
     
  3. Freeman

    Freeman New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2005
    Messages:
    1,385
    Location:
    Ukraine
    RtlAdjustPrivilege
     
  4. wasm_test

    wasm_test wasm test user

    Blog Posts:
    0
    Joined:
    Nov 24, 2006
    Messages:
    5,582
    ZwAdjustPrivilegeToken - это из native api.
    из runtime - RtlAdjustPrivilege
     
  5. SysProger

    SysProger New Member

    Blog Posts:
    0
    Joined:
    Jul 18, 2007
    Messages:
    127
    У меня RtlAdjustPrivilege не поднимает права. Пишу вот так:
    Code (Text):
    1. RtlAdjustPrivilege(SE_SHUTDOWN_PRIVILEGE, TRUE, TRUE, &priv);
    2. if (priv) BootPrint(L"\nShutting down...\n");
    3. NtShutdownSystem(ShutdownPowerOff);
    Сообщение не печатается, винда не останавливается. Сейчас попробую другую функцию.
     
  6. AntiB

    AntiB New Member

    Blog Posts:
    0
    Joined:
    Mar 23, 2007
    Messages:
    393
    Вот может поможет код на Дельфи, это для выключение компьютера на Windows XP и выше (если не ошибаюсь)
    Code (Text):
    1. //Переменные:
    2. var
    3.   ph: THandle;
    4.   tp ,prevst: TTokenPrivileges;
    5.   rl: DWORD;
    6.   uu: Integer;
    7.  
    8. //Сама функция:
    9.   OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, ph);
    10.   LookupPrivilegeValue(Nil, 'SeShutdownPrivilege', tp.Privileges[0].Luid);
    11.   tp.PrivilegeCount := 1;
    12.   tp.Privileges[0].Attributes := 2;
    13.   AdjustTokenPrivileges(ph, FALSE, tp, SizeOf(prevst), prevst, rl);
    14.  
    15.   ExitWindowsEx(EWX_FORCE+EWX_POWEROFF, 1);
     
  7. JCronos

    JCronos New Member

    Blog Posts:
    0
    Joined:
    Apr 5, 2009
    Messages:
    98
    http://rootkits.ru/viewtopic.php?id=616