Как Firewall определяет запись в чужой процесс?

Тема в разделе "WASM.WIN32", создана пользователем ratix, 13 окт 2005.

  1. ratix

    ratix New Member

    Публикаций:
    0
    Регистрация:
    13 окт 2005
    Сообщения:
    52
    Адрес:
    Kyrgyzstan
    ситуация такая:

    мне необходимо осуществлять запись в чужой процесс, но незаметно для файрвола. Не понимаю, как Outpost определяет, что была запись в чужой процесс?

    при этом:

    NtWriteVirtualMemory(hProc, pData, data, 1024, &dwWritten) - всегда вылазиет предупреждение файрвола о вторжении



    NtWriteVirtualMemory(hProc, pData, data, 1, &dwWritten) - с вероятностью примерно 1 к 10 файрвол реагирует, а в остальных случаях - пропускает..

    не пойму, как так? как он может перехватывать изменение памяти? есть идеи?
     
  2. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290




    Драйвером. Хукает NtWriteVirtualMemory.

    Наверное смотрит на размер данных и решает - видавать ахтунг или нет.
     
  3. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Если речь идет об оутпосте, то после создания процесса он разрешает записать в него со стороны не более 16 байт, а иначе кричит ахтунг. Между тем этого будет достаточно для инжекта длл в процесс.
     
  4. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    А после инжекта можешь "сам в себя" писать всё что захочешь =)
     
  5. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    ratix

    короче сноси оутпост =)
     
  6. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    Между прочим, грузить длл можно, но это станет известноPsSetLoadImageNotifyRoutine
     
  7. HARD

    HARD New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    15
    Так, погодите, сервер графической подсистемы виндус просто обязан записывать данные в чужой процесс. Оутпост его не палит. Может вначале инжектнуть в csrss.exe, а из него в другой процесс.
     
  8. ratix

    ratix New Member

    Публикаций:
    0
    Регистрация:
    13 окт 2005
    Сообщения:
    52
    Адрес:
    Kyrgyzstan




    Очень похоже что так.. зачем такое странное поведение, не в курсе? вобще, есть какой-нить универсальный способ, чтобы любого (или большинство) файрвола надуть при первом запуске? (после первого запуска и оседания в системе вся система под контролем, всё перехватывается и ничего не видно даже файрволу)
     
  9. ratix

    ratix New Member

    Публикаций:
    0
    Регистрация:
    13 окт 2005
    Сообщения:
    52
    Адрес:
    Kyrgyzstan
    Да, ДЛЛ конечно можно подгрузить 16-ю байтами, но я этим изначально не пользуюсь, т.к. файрвол это просекает в первую очередь - что тоже не есть хорошо..
     
  10. ratix

    ratix New Member

    Публикаций:
    0
    Регистрация:
    13 окт 2005
    Сообщения:
    52
    Адрес:
    Kyrgyzstan
    HARD



    Очень интересный факт.. дело в том, что например оутпост ВОБЩЕ не кричит, если была запись в csrss из другого процесса. До этого я "жил" в процессе winlogon, но теперь склоняюсь к мысли, что нужно селиться в CSRSS, раз его так любят файрволы..
     
  11. Sickle

    Sickle New Member

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

    аутпост не кричит на запись в процессы, для которых нет разрешающих правил. для csrss их как раз нет...
     
  12. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Самый простой способ, если у целивого приложения есть окно,- создать глобальный HOOK.
     
  13. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    Ты наверное пошутил или забыл про то, что на загрузку длл агнитум реагирует, выводом окошка, типа "компоненты приложения изменились" и показывает путь к этой длл.



    Короче думайте еще:)
     
  14. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    Потестил я ваш любимый Даунпост 3.0



    Что заметил - если удалить поток процесса outpost.exe, который принадлежит самому экзешнику (остальные потоки, принадлежащие разным dll, не трогать), то потом инжект проходит на ура, а сам оутпост фильтрует в соответсвтии с последними правилами. Никаких варнингов и сообщений/запросов к юзеру больше не выводит. Жаль только, иконка в трее удаляется, а так ничего, в памяти висит...



    А если удалить все потоки - Даунпост выгружается, тока сетевая активность при этом блокируется...



    И еще, при первом получении списка потоков Даунпоста, он ругается на самого себя.
     
  15. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    Да, а многолетняя уязвимость с пингом неизветсного хоста, при которой можно пересылать данные через ARP протокол в пределах ближайшего роутера так и осталась... Sygate в этом плане продвинулся :)
     
  16. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165


    Ну а что мешет сделать спайслинг самому, врезавшись скажем в середину функции ? Такие фокусы существовали ещё во времена безраздельного царствования ДОС-а. Вирусы и антивирусы развлекались с векторами прерываний именно таким способом.
     
  17. kyprizel

    kyprizel New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2003
    Сообщения:
    232
    Адрес:
    TSK
    xttp://www.rootkit.com/newsread.php?newsid=176
     
  18. VooDooo

    VooDooo New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2005
    Сообщения:
    30
    Адрес:
    Russia
    ratix

    Скажи ка мне как ты собираешься попасть в CSRSS, не вызвав подозрений у аутпоста? Инжектом dll разве что.

    DelExe прав, надо хуки NtWriteVirtualMemory отслеживать и исправлять. Только вот хуки сейчас довольно продвинутые...
     
  19. kyprizel

    kyprizel New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2003
    Сообщения:
    232
    Адрес:
    TSK
    VooDooo, по линку на руткит сходите?

    восстанавливаем реальную SDT с диска - аутпост молчит. на изменение компонентов ругнется, если dll грузить. куда интереснее обойти без поиска разрешенны приложений.
     
  20. davaeron

    davaeron New Member

    Публикаций:
    0
    Регистрация:
    17 окт 2005
    Сообщения:
    24
    Адрес:
    Russia
    Юзаем NDIS и Outpost в ауте - там IRP или TDI-hook по-моему...