Добавление файлов в Windows File Protection\Windows Resource Protectio

Тема в разделе "WASM.WIN32", создана пользователем dev, 10 дек 2009.

  1. dev

    dev New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2008
    Сообщения:
    39
    Здравствуйте!
    Вопрос такой, в Windows существует механизм Windows File Protection(WFP)( в более поздних версиях ОС - Windows Resource Protection(WRP) ). Данный механизм отвечает за восстановление системных файлов, которые были изменены. По умолчанию "эталоны" файлов лежат в "%WinDir%\System32\Dllcache" и измененные системные файлы заменяются файлами из этой папки. Собственно вопрос: Можно ли добавить свой список файлов на контроль с помощью механизмов WFP\WRP? И если можно, то как? В MSDN по этому поводу как-то смутно написано.
    Спасибо.
     
  2. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    "Windows Resource Protection" не восстанавливает оригиналы файлов. Эта "технология" – ничто иное, как определённым образом выставленные списки контроля доступа. Полный доступ имеют сущности с сидом "TrustedInstaller", остальным сущностям (в т.ч. с сидами "System" и "Administrators") назначаются права для чтения\выполнения, хозяином файлов\папок назначается тоже "TrustedInstaller". Соответственно, такие же права доступа можно выставить и на свои файлы\ключи реестра\другие защищаемые объекты (SetFileSecurity(), etc).
    Насчёт Wirndows File Protection точно не скажем, но, насколько нам известно, список защищаемых файлов захардкожен в одной из системных библиотек, а мониторинг ведётся winlogon'ом посредством FindFirstChangeNotification\FindNextChangeNotification. Таким образом, можно сделать что-нибудь подобное, установив свою службу или что-нибудь.
     
  3. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Windows File Protection базируется на sfc.dll, которая опирается на полностью недокум. sfc_os.dll. Контроль осуществляется по сигнатурам, ответственные файлы/каталоги:..WinSxS, \System32\catroot и т.д.Список на сколко помнится sfc_os.dll берется из реестра.
    Да и зачем это все надо, если программно отключается без проблем.
     
  4. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    >Windows File Protection базируется на sfc.dll, которая опирается на полностью недокум. sfc_os.dll.
    Хотелось бы сделать это прозрачным – хотя интерфейсы и не документированы, в скорлупе контроль таки приходит к FindNextChangeNotification et al (со всеми присущими недостатками подобного подхода, вроде невозможности со стопроцентной уверенностью сказать, что файл не будет открыт во временном пространстве между подменой его на контрафакт и воосстановлением оригинала).
     
  5. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Помню применял на XP-ях вот такой код для временной блокировки WFP:
    Код (Text):
    1. void WFPKill(char *lpFileName)
    2. {
    3.     wchar_t lpFileNameW[MAX_PATH]={0};
    4.     PVOID fname = &lpFileNameW;
    5.     MultiByteToWideChar(CP_ACP, 0, lpFileName, -1, lpFileNameW, sizeof(lpFileNameW));
    6.     HMODULE hLib =GetModuleHandle("sfc_os.dll");
    7.     if(hLib==NULL) hLib = LoadLibrary("sfc_os.dll");
    8.     PVOID func = GetProcAddress(hLib, MAKEINTRESOURCE(5));
    9.     if (func == 0)  return;
    10.     __asm  
    11.     {
    12.         push -1
    13.         push fname
    14.         push 0
    15.         call func
    16.     }
    17. }
     
  6. Dian

    Dian Member

    Публикаций:
    0
    Регистрация:
    19 июн 2008
    Сообщения:
    222
    Но лучше же включить - пусть восстанавливает трояны после av ))
     
  7. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    чушььь
     
  8. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    читая ваши топики - думаешь что попал не на васм