kernel-mode перехват для антивируса

Тема в разделе "WASM.NT.KERNEL", создана пользователем whitequark, 24 фев 2008.

  1. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    rei3er

    Вот вот, в таком случае никакой антируткит не поможет. И самое интересное, если выбрать штук 5-7 самых распространенных сетевух - это покроет примерно процентов 80% всех конфигураций компьютеров. Да не 100%, но эффект от работы такого зверя будет значительным, про стелсирование я уже промолчу - ну не ведаю я таких сниферов трафика, работающих на этом уровне. А перехватов и модификации кернела вообще не будет - нафик такому руту эти перехваты ... Это новый уровень но весьма высокий по техническому уровню для реализации.
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Между процедурами существует свободное место почти всегда из-за выравнивания в памяти.
    Вот код KiSystemService:
    Код (Text):
    1.     lea esp,dword ptr ss:[esp]
    2.     lea ebx,dword ptr ds:[ebx]
    3.     nop
    4.     nop
    5.     nop
    6.     nop
    7.     nop
    8. KiSystemService:
    9.     mov ecx,23
    10.     push 30
    11.     pop fs
    12.     mov ds,cx
    13.     mov es,cx
    14.     [...]
    Перед KisystemService свободно 18 байт.
    ApicId - это номер процессора.
    tylerdurden
    Да ты вообще непонимаеш о чём мы говорим. SDT не поддерживается аппаратно. Например при выполнении команды sysenter управление передаётся на KiSystemService, этот адрес определён в msr - это делает процессор.
    Но далее выполняется код, который подготавливает поток к вызову сервиса в SST, проверяет валидность указателей, копирует параметры в стек ядра и др., а затем передаёт управление на адрес, определённый в SST. Юзай сорцы.
     
  3. synus0ida

    synus0ida New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2008
    Сообщения:
    20
    А можно теперь чуть подробнее(кто знает) про селсирование.... В доске это перехват int 13h/int 21h, в линуксе сискол_ов, а в винде тоже int 13h/int 21h перехватывать? А почему это перехватов и модификаций не нужно будет? А как же тогда привелегии нулeвого кoльца получить?
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    половина постов в теме - бред...
     
  5. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    PROFi
    можно серьезно усложнить жизнь, поставив брейкпоинт на порт 0xCF8 и установив GD в DR7
    эта не панацея, конечно, но все же
     
  6. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    скорее исключение, чем правило
    не для любой функции пройдет
     
  7. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Угум, только для тех, что с хот патчингом /mov edi,edi/
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Зачем для любой функции, это тока для KiSystemService.
     
  9. Deyton

    Deyton Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    94
    Clerk
    Что ты хочешь доказать своими постами? В чем же преимущество твоего супернадежного и суперстабильного способа? ИМХО ты демонстрируешь только бестолковый иррациональный подход к решению задач программирования.
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Возможно; такие задачи рациональными способами не решаются, используйте тока перехваты в SDT, мне проще будет...
     
  11. Deyton

    Deyton Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    94
    Clerk
    Ну так продемонстрируй нам, необразованным, как надо, гуру ты наш. Только что-то ближе к практике, с примерами, исходниками, обоснованием, почему так, а не иначе.
     
  12. villy

    villy New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2008
    Сообщения:
    21
    Под clamav есть уже написаный драйвер!
    look at sourceforge.
     
  13. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Ещё можно сделать перехват одной командой push с адресом перехватчика, и когда функция дойдёт до ret она возвратится в процедуру перехвата, а по команде ret в процедуре перехвата возвратится туда откуда вызывалась, просто да? а всего одна команда=)
     
  14. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    2FED
    ret-а может не быть ;)
     
  15. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Юзаю отладчик, и свои собственные сорцы хука сисентер.
     
  16. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    а что же тогда?
     
  17. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    да что угодно
    тот же косвенный jmp или call например
    или ret, но выполняющийся только при определенных условиях (т. е твой код получит управление не в ста процентах случаев)
     
  18. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    ну Jmp то всёравно прыгнет по адресу в стеке, а call для возврата нет смысла использовать, потому что она сама адрес возврата в стек помещяет
     
  19. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Это испортит стек.
     
  20. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    а где я говорил про такие jmp/call
    Код (Text):
    1. jmp dword [esp]
    2. call dword [esp]
    ?