Блокировать запуск процесса

Тема в разделе "WASM.NT.KERNEL", создана пользователем GVL, 22 окт 2008.

  1. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Давненько я ничего в блоге не писал. Оформлю это там, ждите. Кстати, никто не надумал ещё сделать offline-копию блога? А то смотрите, как бы не получилось как с блогом TarasCo. В идеале в .chm это всё скинуть бы, там хоть и немного пока, но всё же, несмотря на большой перерыв, останавливаться я пока не собираюсь.
     
  2. GVL

    GVL New Member

    Публикаций:
    0
    Регистрация:
    9 окт 2008
    Сообщения:
    7
    2x64 Очень очень очень интересны оба решения, пожалуйста поделись, всем будет интересно.
     
  3. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    128 бесплатно не поделится, я гарантирую это.
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    GVL
    Оригинально..
    По теме - чтобы блокировать запуск процесса необходимо контролировать некоторый код, который исполняется при запуске процесса(логично да ?). Вот каким образом вы будить это делать зависит от вас(ну или от кошелька).
     
  5. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Не угадал. Навскидку написал здесь. Если есть, что добавить, - пишите. А деньги тут как бы и не за что брать-то, всё ж в паблике давно, я лишь немного причесал и систематизировал это всё.
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    x64
    Этот комент относился к сплоетам. У вас в блоге я их не вижу, там всё боянище. Выбор механизма зависит от целей применения. Например кривые проты выполняют захват кода таким образом, что статически нельзя определить что это перехват малвары или легального софта, в конце концов снимается одним нажатием кнопки и вся эта куча костылей отваливается. Если это будет применяться в руткитах, то вобще не юзабельные способы.
     
  7. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Да, разумеется.
     
  8. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    Лучше бы статейку по грамотному сплайсу в режиме ядра с учётом специфики последних ОС накидал.
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    x64
    Странно что не спорите.. признав что в руткитах применяется(должно применяться) всё лучшее.
    d2k9
    Основной нюанс:
    Код (Text):
    1.     READ [TargetPtr]
    2.     cli
    3.     WRITE  [TargetPtr]
     
  10. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Ну что просили, то и накидал... А по сплайсу да, тема хорошая, годная, но актуальная ли при наличии PG?
     
  11. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    В руткитах не всегда применимо то, что используется и работает в легальных продуктах. С этим я согласен, это очевидно как бы. По остальным пунктам с тобой спорить бессмысленно, и потому не интересно.

    Код (Text):
    1.     READ [TargetPtr]
    2.     cli
    3.     WRITE  [TargetPtr]
    Как насчёт EIP в середине инструкции?
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    x64
    Решит только проблему подкачки. Если размер новой инструкции более размера предыдущей, тогда перечислять контексты всех потоков в системе.
     
  13. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    x64
    PageGuard насколько я знаю актуален для дров пытающихся теневую таблицу похукать и к сплайсингу он не должен иметь никакого отношения. Он мониторит только объекты ядра с заранее известным статическим содержимым: SST, IDT, GDT.
    Clerk
    Да, этот примитив работает на хрюше сп3 х86 (пример дрова для сплайсинга от мс-рема из 3 статьи про хуки), но уже на висте бсодит. Я начал рыть, вспомнив, что функции по прологу и эпилогу вроде как различаются. Вот создам-ка я тут темку для обсуждения, может направят меня на путь верный: http://wasm.ru/forum/viewtopic.php?id=36328
     
  14. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    К сожалению, образ ядра в памяти тоже патчить нельзя.

    А образ ядра в памяти после загрузки не статичен? )
     
  15. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    Да согласен задурили просто мне некоторые люди голову :) Сейчас хорошенько подумал и вспомнил про применение PG:
    * Таблица глобальных дескрипторов -GDT;
    * Таблица дескрипторов прерываний - IDT;
    * Стек ядра, выделенный не ядром, а кем-то еще;
    * Таблица дескрипторов системных сервисов - SSDT;
    * Образы следующих системных файлов: NTOSKRNL.EXE, NDIS.SYS, HAL.DLL;
    * Служебные MSR регистры STAR/LSTAR/CSTAR/SFMASK, отвечающие за syscall'ы;
    * [AMD x86-64 предоставляет возможность контроля за образом ядра без расчета CRC].
    Вот задница-то моим хукам :dntknw:
     
  16. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    d2k9
    Отключить нельзя чтоли ?
     
  17. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    Так модифицировать-то загрузчик придётся, а надо динамически и ближе всего так сказать к "легальному", а не руткиту.
     
  18. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    d2k9
    Отключить можно всё налету. Тут чтото было http://uninformed.org/
     
  19. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    Ага, оно самое, в закладке было :)
    Ещё
    Сейчас рассматриваю варианты обходя PatchGuard для нахождения наиболее приемлимого.
     
  20. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    Ещё* тут Крис Касперски на русском механизм работы объясняет понятно - http://www.insidepro.com/kk/163/163r.shtml