писать в процес

Тема в разделе "WASM.NT.KERNEL", создана пользователем villy, 3 мар 2010.

Статус темы:
Закрыта.
  1. villy

    villy New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2008
    Сообщения:
    21
    Ситуация такая похукан Zw/NtOpenProccess и хук толком снять нельзя.он самовостанавливается.
    и блокирует доступ к процесу.

    Интересует какие есть способы чтобы читать/писать в память такого процеса из ring 3.

    операционка windows xp.

    хелп плз.
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    разделяемая память между процессами проще всего... можно код через имя класса окна внедрить...
     
  3. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Если нет хуков на запись в память, то поищи открытый хэндл целевого процесса в csrss и скопируй его к себе. Техника стара как мир.
     
  4. villy

    villy New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2008
    Сообщения:
    21
    Twister
    thnx.

    можно поподробнее про csrs.exe плз.
     
  5. villy

    villy New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2008
    Сообщения:
    21
    Twister
    thnx. i found CsrWalker !!
     
  6. villy

    villy New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2008
    Сообщения:
    21
    а варианты если похукан read/writememory ?
     
  7. Ox8BFF55

    Ox8BFF55 New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2009
    Сообщения:
    181
    почему нельзя из кернела?

    Как на счет инъекции?
     
  8. karabas_barabas

    karabas_barabas Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    168
    а хук вообще в ядре стоит или в юзермоде ?
     
  9. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    По-видимому подразумевается что хук в ядре, а писать надо из р3. Ну можно в разделяемую физ. память писать.
     
  10. karabas_barabas

    karabas_barabas Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    168
    а мне кажется в юзермоде, если говорит что самовосстанавливается - скорей всего есть поток, может даже в каждом процессе где есть перехват, который контролирует первые байт/байты у перехваченных функций, напр 0xE9 (jmp far), изучи внимательно в процессе потоки особенно чото типа baseadress потока.
    Чем снимал хук ? попробуй RKU
     
  11. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    karabas_barabas
    А что, хук в ядре не может самовосстанавливаться?

    Предлагаю перестать заниматься угадыванием того, что у ТС в голове, а дождаться его ответа.

    Опять же. Какая разница чем снимать хук, если перехват восстанавливается?
     
  12. Clerk

    Clerk Забанен

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

    villy New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2008
    Сообщения:
    21
    снкс всем отписавшим.

    Вообщем ситуация такая если похукано NtWriteVirtualMemory, как можно писатся в память?

    сейчас разбираюсь с device\physicalmemory, но пока не понял как там получить адресс нужного процеса.
    есть ли такие семплы?

    По поводу хуков, снимать безсмысленно, сплайсингом востанавливаются.

    Еще на уровне идеи, может можно както подгрузить не похуканую ntdll ?

    PS. типа из вариантов "пьяного бреда", еще не проверил, что если зделать репарсинг ntdll, зделать копию и изменить названия функции? или с ntdll такие шутки проделывать нелзя?

    PPS. как посты здесь редактировать???
     
  14. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Если из R3 и по заданному адресу - документированно никак. Если просто инжект кода, можешь воспользоваться моим методом внедрения через класс/надпись окна.

    device\physicalmemory прикрыт начиная с w2k3 sp1 (если не ошибаюсь). NtSystemDebugControl тоже.

    По поводу ntdll. Бред конечно. Если ты имеешь ввиду длл у себя в процессе, то ты можешь восстановить похуканные функции прочитав оригинал с диска.

    ЗЫ. Нет таких слов, как "зделал", "вообщем" ;)
     
  15. Clerk

    Clerk Забанен

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

    villy New Member

    Публикаций:
    0
    Регистрация:
    3 мар 2008
    Сообщения:
    21
    Twister
    про твой метод внедрения, можно плз ссылку.

    device\physicalmemory - в xp пашет, у меня основной таргет хр.

    Clerk
    sorry, прошлый пост писал в не совсем адекватном состоянии.
    перехвачено в ядре, через драйвер и перехваты нельзя снять.(при каждом вызове NtCreateThread,NtCreateProcess они востанавливаются).
     
  17. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    villy
    Имелось ввиду - если есть доступ в ядро, то - в чем проблема напрямую менять все, что нужно. Аттачимся к процессу, запрещаем если надо все прерывания, и пишем прямыми командами копирования, без системных вызовов.
     
  18. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    >> про твой метод внедрения, можно плз ссылку

    Поиск в гугле по "инжект окно". Если будешь реализовывать, то могу поделиться более актуальной инфой, в статье малость устаревшая.
     
  19. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Twister
    Может напишете Part 2 :) ? Было бы интересно.
     
  20. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    >> Может напишете Part 2 :) ? Было бы интересно.

    Хм... Ну я сейчас дописываю детектор скрытых окон для РкУ. Не знаю на сколько это будет востребованная фича, но раз есть скрытые объекты, значит надо их кому-то детектить. :) Можно было бы описать в статье детект, но мне кажется эта информация не будет востребована. Ничего нового, по большей части, не предвидится. Ну смещения валидные для всех NT, ну поиск неэкспортируемых переменных, ну и что?.. В общем, я сомневаюсь.
     
Статус темы:
Закрыта.