Windows 7 загрузка драйвера без перезагрузки

Тема в разделе "WASM.BEGINNERS", создана пользователем haxorart, 11 июн 2009.

  1. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    Ты даешь проге права админа?
     
  2. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    У меня почему то перестала работать моя библиотечка для внедрения кода в чужие процессы. Люди дайте плз ссылки на изменение механизмов защиты в Vista/7 и их отличия от ХР. Соррь за нубизм, я их поставил недавно.
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Какие права админа? Привилегию SE_LOAD_DRIVER_PRIVILEGE

    Господи, дай этим людям мозгов.. // bash.org.ru
    Мне во всех форумах запостить прикрепленную тему чтоли?
    "не работает", "глючит" - это НЕ !! описания ошибок.

    правильно (пример):
    У нас тут не клуб телепатов, мы не обладаем экстрасенсорными способностями, не закупаемся кофейной гущей и не снимаем порчу по фотографии. Будет подробный репорт - будет ответ.

    // Убедительная просьба не воспринимать это близко к сердцу, это коллективное обращение ко всем, кто задает вопросы на этом форуме. Без обид.
     
  4. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    Впервые слышу конструктивную критику с примерами как надо и как не надо делать. Хорошо тогда если не пойму сам в чем дело буду очень подробно формулировать суть проблемы. Этот пос хорошо бы вывесить куда-нибудь отдельно, чтобы люди не повторяли мои ошибки.(Я редко общаюсь на форумах, поэтому и возникают такие ошибки)
     
  5. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    Этот вопрос был не тебе. Под правами админа я понимаю запустить от имени адщминистратора(правая кнопка мыши и тд.).

    А, вот оно что. Ясно
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Я уже вывесил отдельно (http://www.wasm.ru/forum/viewtopic.php?id=17962), потому что аналогичных постов и тредов - пруд пруди, увы. Спасибо за понимание.
     
  7. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    При использовании RtlAdjustPrivelege ничего не работает(!!!странно!!!). Возврашает нтстатус 3221225569. Специально поставил на виртуальную машину ХР там всё работает(!!!совсем странно!!!).
    Код:
    BOOL SetPrivelege(PWCHAR wcPrivilegeName)
    {
    HANDLE hToken;

    TOKEN_PRIVILEGES tpNewpriv,tpPrevpriv;

    DWORD dwRet;

    BOOL bResult = TRUE;

    if(OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken))
    {

    if (LookupPrivilegeValue(0,wcPrivilegeName, &tpNewpriv.Privileges[0].Luid))
    {
    tpNewpriv.PrivilegeCount = 1;

    tpNewpriv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

    bResult = AdjustTokenPrivileges(hToken, 0, &tpNewpriv, sizeof(tpNewpriv), &tpPrevpriv, &dwRet);

    }else bResult = FALSE;

    CloseHandle(hToken);

    }else bResult = FALSE;

    return bResult;
    }

    Ситуацию тоже не изменил.

    Попытался поробовать запустить свой инджектор библиотек.
    Код:
    function InjectDll(PID:lol: WORD;DllName:string):boolean;
    var
    hProcess:THandle;
    hRemoteThread:THandle;
    NameBufPtr:pointer;
    LoadLibraryPtr:pointer;
    NumberOfBytesWritten,ThreadId:lol: WORD;
    begin
    result:=false;
    hprocess:=0;
    hRemoteThread:=0;
    NameBufPtr:=nil;
    try
    //1
    hProcess:=OpenProcess(PROCESS_ALL_ACCESS,false,PID);
    if hprocess=0 then
    exit;
    //2
    NameBufPtr:=VirtualAllocEx(hProcess,nil,length(DllName)+1,MEM_COMMIT,PAGE_READWRITE);
    if NameBufPtr=nil then
    exit;
    //3
    if not(WriteProcessMemory(hProcess,NameBufPtr,PChar(DllName),length(DllName)+1,NumberOfBytesWritten)) then
    exit;
    //4
    LoadLibraryPtr:=GetProcAddress(GetModuleHandle('kernel32.dll'),'LoadLibraryA');
    if LoadLibraryPtr=nil then
    exit;
    //5
    hRemoteThread:=CreateRemoteThread(hProcess,nil,0,LoadLibraryPtr,NameBufPtr,0,ThreadId);
    if hRemoteThread<>0 then
    begin
    //WaitForSingleObjectEx(hRemoteThread,500);
    result:=true;
    end;
    finally
    if NameBufPtr<>nil then
    VirtualFreeEx(hProcess,NameBufPtr,0,MEM_RELEASE);
    if hRemoteThread<>0 then
    CloseHandle(hRemoteThread);
    if hProcess<>0 then
    CloseHandle(hProcess);
    end;
    end;

    Загрузка производится в 5 этапов(помеченны цифрами).Прошелся по шагам. Сыпется на 3этапе, те на непосредственной записи в процесс. Пишет о байт и всё. Пробовал давать админа и не давать их(по правой кнопке.)

    Дайте, пожалуйста, исходник загрузчика драйвера и инжектора длл, который работает на 7ке и висте.
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Сколько раз говорить, что статус в хексе? Заипало переводить.
    Это STATUS_PRIVILEGE_NOT_HELD. Запускаешь не под админом.
    Ясенпень - это тоже самое.
    Код (Text):
    1.     UNICODE_STRING RegDriver;
    2.     RtlInitUnicodeString (&RegDriver, L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\proactive");
    3.  
    4.     BOOLEAN Enabled;
    5.     ULONG st;
    6.  
    7.     st = RtlAdjustPrivilege (SE_LOAD_DRIVER_PRIVILEGE, TRUE, FALSE, &Enabled);
    8.  
    9. ...
    10.  
    11.     st = ZwLoadDriver (&RegDriver);
    Висты нет, на семерке пахало.
     
  9. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    1)про то что статус переводить надо в хек, от тебя я лично слышу 1 раз
    2)код загрузчика примерно такой же(правда порт на делфи)
    3)если ясен пень, что не под админом запускаю, то как под ним запустить(правая кнопка->совместимость-> запускать от имени админа галка стоит)
     
  10. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    Я реально не втыкаю, где у меня бага. Скинь исходник или бинарник для теста.
     
  11. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    Полный
     
  12. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    попробуй манифест requireAdministrator
     
  13. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    Тут не понятно почему дрова проектами Руссиновича из под админа норм грузятся, а мои нет. Плз скинь хоть что нитбудь, что ТОЧНО работает у тебя на 7ке.
     
  14. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    Люди те кто РЕШАЛ и РЕШИЛ(ключевые слова) подобные проблемы - отзовитесь. Не понятно почему происходят подобные ошибки. В чем отличия систем безопасности ХР и виста/7? Вообще воспользовавшись идой я понял, что у руссиновича есть adjusttokenprivilege и всё работает. НО она есть и у меня, НО она не работает. Вопросы остаются открытыми...
     
  15. haxorart

    haxorart New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    123
    Пошел дальше: отключил проверку подписи дров по ф8, отключил UAC, сделал манифест как говорилась в статья. Итог: дрова не грузятся, инжект методом удалённых процессов работает только для запускающей программ, при отключенном UAC заработал инжект через системные хуки/сообщения, зато всегда работает инжект по широковещательным сообщениям(brodcastmessage). Люди помогите, пожалуйста, разобраться в проблеме. Это что ж выходит, что старый добрый сплайсинг умер на висте?

    P.S. Ув. админы и модераторы, эта тема явно не для раздела новичков, т.к. уже 30 постов а ответ не найден.
     
  16. 984259h

    984259h New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2007
    Сообщения:
    194
    Извините за оффтоп у меня тоже самый вопрос по поводу загрузки драйвера стоит 7 (64) попытки загрузки драйвера закончились ошибкой 1275 ERROR_DRIVER_BLOCKED (This driver has been blocked from loading)
    Делал
    Отключена UAC
    зашел по админом
    загрузил привилегию
    загружал через ZwLoadDriver также питался загрузить OpenSCManager в обоих случаях ошибка 1275
     
  17. 984259h

    984259h New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2007
    Сообщения:
    194
    также отключил подпись драйверов F8
     
  18. Keetsune

    Keetsune New Member

    Публикаций:
    0
    Регистрация:
    10 дек 2009
    Сообщения:
    1
    Просите ключи для генерации подписей у майкрософт :lol:
     
  19. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    Всё нормально работает при отключённой проверке цифровых подписей - ещё не забудь подписать самоподписанным сертификатом дрова, иначе всё равно не загрузит. И выкинь ты нах свой дельфийский лоадер, напиши или возьми на С потому что я как-то от нечего делать пробовал переписать дельфийский лоадер под вин7 и д2010 - тупо хз почему не работает.
     
  20. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    З.Ы. У меня у самого Win7 x64 - всё ОК.