Защита файлов System32 в Windows 7

Тема в разделе "WASM.BEGINNERS", создана пользователем inshade, 22 авг 2010.

  1. inshade

    inshade New Member

    Публикаций:
    0
    Регистрация:
    27 май 2010
    Сообщения:
    27
    Доброго времени суток форумчане.
    Если есть у кого-нибудь свободное время, подскажите пожалуйста что за защита такая системных файлов в Windows 7.
    Хотел скопировать от Windows XP файл %SystemRoot%\system32\SHELL32.dll в аналогичную папку в "семёрку". И получил следущее сообщение:

    [​IMG]

    Собственно вопрос, у кого надо спросить разрешение на копирование? [​IMG]
    Своему процессу ставлю привилегию SE_DEBUG_PRIVILEGE. Оказалось маловато [​IMG]
     
  2. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    У UAC.
     
  3. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Кроме UAC, тебе нужно выгрузить эту длл из всех процессов. Иначе доступа к файлу не будет
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    inshade
    Юзер должен быть админом для модификации систем32.
    Файл еще, конечно, должен быть не занят, но сначала проводится проверка доступа. Потом уже получишь ругательство, что файл занят.
    Никакой особенной защиты.
     
  5. DoctorWho

    DoctorWho New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2010
    Сообщения:
    87
    [offtop]
    А семёрка не "упадёт" от левых файлов?
    [/offtop]
     
  6. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    [offtop] Упадет. Потом восстановит оригинальную либу из кеша[/offtop]
     
  7. DoctorWho

    DoctorWho New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2010
    Сообщения:
    87
    [offtop]dyn "Это был сарказм..." (С) Dr.House XD...[/offtop]
     
  8. inshade

    inshade New Member

    Публикаций:
    0
    Регистрация:
    27 май 2010
    Сообщения:
    27
    Скажите а как обойти UAC ?
    Имею ввиду легальный обход. Какую привилегию надо дать процессу, чтоб UAC не гавкала ?
     
  9. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    inshade
    отключить её в реестре легально?
     
  10. wf_

    wf_ New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2009
    Сообщения:
    40
    При включённом UAС для юзера(адмиистратора) созадется 2 токена - полный и ограниченный. Почти все приложения работать будут под ограниченным токеном, и не получат прав доступа к системной директории и некотороым ветвям реестра. Что-бы стартовать приложение с полным токеном - нужно запросить повышение привелегий. В случае если юзер подтвердит запрос - процесс с полным токеном будет создаваться внутри системного сервиса ( забыл как называется ). т.ч. обойти UAC так просто не получится. Поправте если я ошибаюсь.
     
  11. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    wf_
    в манифесте указать и сама система спросит
     
  12. inshade

    inshade New Member

    Публикаций:
    0
    Регистрация:
    27 май 2010
    Сообщения:
    27
    Прошу у системы через RtlAdjustPrivilege получения привилегий SE_DEBUG_PRIVILEGE и получаю. Как оказалось маловато таких привилегий [​IMG]
    И что-то мне подсказывает что отключить в реестре User Account Control также не позволит система.
    Интересно что за процесс отвечает за "юзерский контроль" и как он реализован (имею ввиду не через ring0) ?
     
  13. ECk

    ECk Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    454
    Адрес:
    Russia
    В директорию со своим приложением положи shell32.dll и не надо будет ничего обходить.
     
  14. inshade

    inshade New Member

    Публикаций:
    0
    Регистрация:
    27 май 2010
    Сообщения:
    27
    Ага, и в папочке GodMode поискать строчку => "Выгрузить shell32.dll из всех запущенных процессов"
     
  15. jkilimov

    jkilimov New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2008
    Сообщения:
    15
    Владелец файла - TrustInstaller, чтобы поменять файл, нужно сначала изменить владельца на админа, потом проверить занят ли, если занят переименовать старый, положить на его место свой, после перезагрузки всё получится. Проблема в том, что windows resource protection во-первых будет писать в журнал безопасности такую фигню:
    во-вторых, она же заменит твой файл на оригинальный который лежит где-то в windir\winsxs, в третьих, твой файл может заменить win update..

    Короче нужно разобраться как хакнуть этот WRP, но инфы по теме вообще нет, насколько я понял..
     
  16. inshade

    inshade New Member

    Публикаций:
    0
    Регистрация:
    27 май 2010
    Сообщения:
    27
    Сэнсэй подскажите как исправить это недоразумение через API ?
    Предполагаю что для начала надо получить инфо о юзере через NetUserGetInfo, и установить через NetUserSetInfo.
    Но изменение учётной записи позволено выполнять только администратору или оператору учётных записей. Замкнутый круг.
    Но имея права отладчика (система их любезно предоставляет), можно присоединится к системному процессу, приостановив его, и записать в его адресное пространство нужный мне для выполнения код, а именно выгруз библиотеки из других процессов и её замещение другой. Типа on-line патчинга.
    А можно также присоединится к процессу UAC и на время операции заморозить его.
    Конечно можно и из Питера в Сочи через Владивосток поехать, но всё же должно же быть элегантный обход этого "мелкомягкого недоразумения"
    Как в ХР подгрузка sfc.dll и вызов функции с ординалом #5
    Сэнсэй направте в гугль с нужным запросом [​IMG]
     
  17. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Эти привилегии здесь ни при чем. UAC это другое. Обойти нельзя, но можно выключить. Смотрите Windows Help.
     
  18. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    UAC - это не процесс. Учите матчасть.
     
  19. wf_

    wf_ New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2009
    Сообщения:
    40
    wsd
    да, я это и имел ввиду ;)
     
  20. inshade

    inshade New Member

    Публикаций:
    0
    Регистрация:
    27 май 2010
    Сообщения:
    27
    Может поделитесь знаниями о UAC ?