"неубиваемый" процесс

Тема в разделе "WASM.BEGINNERS", создана пользователем AlwaysAlone, 3 июл 2011.

  1. AlwaysAlone

    AlwaysAlone New Member

    Публикаций:
    0
    Регистрация:
    19 июн 2011
    Сообщения:
    20
    Здравствуйте
    Возникла задача создать "неубиваемый" процесс (вернее, неубиваемый обычными средствами, вроде Task Manager'a), который выполняет некие админские задачи (фильтрация трафика - Parental Control).

    Нет возможности устанавливать драйвер. И не годятся вирусные методики.

    Естественно, на каждую хитрую .. существует соответствующий .. . Но, собственно, не от хакеров защита.
    Подскажите наиболее естественный и простой способ. Или что почитать на эту тему. Я новичек в низкоуровневом программировании под Windows.
    Спасибо
     
  2. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    По моему не возможно. Обьект можно всегда уничтожить.
     
  3. qwe8013

    qwe8013 New Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    198
    AlwaysAlone
    Самый простой и дебильный способ:
    установить хук на создание окна (SetWindowsHookEx), и при срабатывании хука перехватить функцию TerminateProcess, ну или NtTerminateProcess, и в обработчике проверять передеваемый PID.
     
  4. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    qwe8013
    У нас во всех инет кафе стоит нт не легальная, это пиратская сборка. Там для имперсонации пасс "Администратор" запилен хардкодом. Бесполезно лепить какуюто защиту от этого.
     
  5. karabas_barabas

    karabas_barabas Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    168
    сделай прогу дллкой и дллку подгружай в explorer.exe притом вполне легально через ветки реестра, или нелегально в контекст других процессов
     
  6. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    если от task manager'a, то тут может помочь банальная вещь - переименовать файл в winlogon.exe . Проверьте - диспетчер задач не может убить процесс с таким именем. Но это дурацкий и примитивный способ.
     
  7. AlwaysAlone

    AlwaysAlone New Member

    Публикаций:
    0
    Регистрация:
    19 июн 2011
    Сообщения:
    20
    А возможно ли создать службу которую нельзя просто завершить? Что-то вроде системных служб (их из Task Manager'а не остановишь)? Если нужно отключить такой сервис, как это сделать?
     
  8. qqqqqq

    qqqqqq New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2011
    Сообщения:
    14
    qwe8013 правильно предложил перехватывать TerminateProcess. При запуске проги грузи длл, которая автоматом будет грузиться во все запускаемые процессы и перехватывай там Exit/TerminateProcess. Нет ничего проще.
     
  9. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    Запусти два процесса в паре. Пусть мониторят друг друга и параллельно мониторят нужный процесс.
    Если убить хоть 1 из 3х - пусть вызывается бсод.
     
  10. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    intel_x128
    Саспенд обеих. Незачем завершать =)
     
  11. ASMatic

    ASMatic New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    233
    AlwaysAlone
    инжектите длл в csrss.exe и будет вам "не убиваемый" процесс.

    *ток вистаобразные не дают открыть этот процесс...беда)
     
  12. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    klzlk
    Cоздать с флагом CREATE_PROTECTED_PROCESS -)
     
  13. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    ASMatic
    Csrss - вся ось виснет при саспенде этого процесса. Технически это останов ядерного RIT. Его можно пропустить.
     
  14. ASMatic

    ASMatic New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    233
    klzlk
    потому и сказал что туда длл и самая надёга при не возможности работы в р0. ProcessExplorer & TaskManager ничего не смогут поделать...а мы то будем делать свои дела(ТС знает какие.)
     
  15. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    ASMatic
    Элементарно обходится - находим RIT, нтсаспендпроцесс + нтресумтред(рит). Ввод будет работать. Могут быть левые проблемы, так как сервер за многие другие задачи отвечает, например обслуживает сервисные порты, но обойти тоже не составляет труда.
     
  16. AlwaysAlone

    AlwaysAlone New Member

    Публикаций:
    0
    Регистрация:
    19 июн 2011
    Сообщения:
    20
    ASMatic
    Вообще-то ничего плохого не планировалось и не планируется делать.
    Приложение - фильтр трафика, который не пускает GET-запросы к взрослым сайтам. Процесс полностью юзермодный, никаких драйверов не используется. Установка также полностью легальная. А вот чтоб избавится от него, нужно заставить пользователя помучаться, при условии что он не знает пароль который использовался во время установки.
    Вот собственно и все. Я искал наиболее легальный и естественный способ это сделать, так, как это делают "неостанавливаемые" системные службы. Пользователь априори не хакер, но подразумевается что Process Explorer запустить сумеет.

    Это не dll библиотека, чтоб ее инжектировать в чужие процессы (да и не стал бы я это делать, разве что "легально в explorer", хотя это тоже на вирус смахивает).
    Я начинающий в windows, поэтому собственно и спрашиваю с какой стороны подойти. Хороший вариант - когда пользователь получает сообщение "Permission denied" при попытке завершить такую службу.

    А мне тут вагон с тележкой разнообразных вирусных методик понапредлагали :)

    CREATE_PROTECTED_PROCESS к сожалению не работает в Windows XP (но в Win 7, как я понял из описания, это как раз то что я искал?).
     
  17. ASMatic

    ASMatic New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    233
    Indy,
    естественно что обойти вам не составит труда, но расчет как я понял на юзера = аманить в ядре никто не сможет( разве что патчи "спортсмены" выпустят)
    AlwaysAlone
    Process Explorer вещь которая "запустила руки" в ядро и понятия как CREATE_PROTECTED_PROCESS для этого уровня не существует. Но она не всемогуща, т.е. если расчет только на ProcessExplorer & TaskManager то для фильтрации трафика можно воспользоватся LSP - зарегистрировали длл в системе = всякий процесс юзающий инет парнушки не сможет посмотреть. Но естественно такое дело тоже можно мониторить и конфигурировать. Первым завопит ав при инстале (мож он парнушку не смог закачать и орёт_хз. Вам видней чо нужно..
     
  18. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Станет!

    А почему не воспользоваться Родительским контролем, который во всех крутых firewall есть? Просто самодельную защиту можно обойти другими средствами - проксишниками или через sock5. Правда про обходы Родительского контроля тоже не в курсе.