Сейчас на форуме: Rio, YDS, _MBK_ (+10 невидимых)

 eXeL@B —› Основной форум —› Невидимость ключа в реестре и процесса реализованная в sys файле.
Посл.ответ Сообщение


Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 02 марта 2006 02:47
· Личное сообщение · #1

Здравствуйте !
Столкнулся с программой частичная защита которой реализована в файлике c:\windows\system32\drivers\emos.sys
Сам emos.exe не виден в процессах и дамперы его не видят и пишет данные данные в реестр в hklm\software\zzz который тоже невидим ни стандартным регедитом ни сторонними продуктами и регмоном не мониторится.
Я понял, что emos.sys осуществляет перехват апи функций и осуществляет всё вышеперечисленное. Я нашёл места где хранятся строки ZZZ и emos.exe
Но проблема в том, что любое изменение в файле emos.sys сказывается критически.
Повторяю абсолютно любое даже в заголовке в надписи This program cannot…. Стоит один байтик поправить и всё.
При попытке запуска через net start emos я вижу сообщение The specified driver is invalid.
Стоит вернуть изменения и запуск происходит.

Отсюда два вопроса:
1) В драйверах изменение файла контролируется виндой (у меня XP) или это делает сам emos.sys ? Хотя похоже ответ я знаю. Если в начале кода ставить int 3, а в сайсе bpint 3, то всплытие не происходит и я по прежнему вижу надпись The specified driver is invalid.
Получается только ставить бряк на одну из функций в начале и править нужные строчки в памяти. Но кем контролируется целостность emos.sys и как это обойти – я не знаю.

2) Если драйвер не менять и он стартует, то в softice я командами device emos или driver emos вижу много информации, адреса какие то и т.д.
А вот как попасть в контекст драйвера не знаю. Поиском не находится и addr emos естественно не работает.
Если бы это была подгруженная dll, то зная в чьём адресном пространстве она находится я бы её запатчил, а вот по драйверам идей нет. Может что подскажите ?

Вот ссылка на программу, если кто захочет взглянуть. www.softsecurity.com/download/email_observer/emailobs.zip
Ломать за меня естественно не прошу, за ответы и идеи - буду благодарен.



Ранг: 15.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 02 марта 2006 06:53
· Личное сообщение · #2

ToBad
Если мне не изменяет память винда проверяет CRC пробитый в драйвере, подправь его после модификации.



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 02 марта 2006 08:21
· Личное сообщение · #3

ToBad
Всё верно, у драйвера есть свой СРС, можешь егоподправить РЕТулзой или ЛордРЕ и будет всё ок

-----
Подписи - ЗЛО! Нужно убирать!




Ранг: 186.8 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 02 марта 2006 11:15
· Личное сообщение · #4

ToBad пишет:
В драйверах изменение файла контролируется виндой (у меня XP) или это делает сам emos.sys

Винда контролирует целостность драйвера, проверяя его контрольную сумму. Так как запуск поврежденного драйвера - практически 100%-ный синяк. Хотя, если мне не изменяет память, 2к запросто грузила драйверы (ессесно делая синяк) драйвер, состоящий из сплошных нулей.
ToBad пишет:
А вот как попасть в контекст драйвера не знаю

Что значит, "попасть в контекст драйвера"? Сделай driver emos и тебе будет написан адрес загрузки этого драйвера. С этого места он размещен в памяти. И ты его увидишь в контексте любого процесса. RTFM короче.



Ранг: 64.6 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 02 марта 2006 11:29
· Личное сообщение · #5

Первые два поста про CRC. Дальше MoonShiner обьясняет адресс драйвера.

Контекст процеса - относительно именно процесов. Под контекстом драйвера понимают более деликатную вещь.
Видимо тебе нужен образ драйвера в памяти. Почитай инфу по этому. В двух словах: первые два гигибайта памяти уникальны для каждого процесса, а вот верхние два гига одинаковые для любого процесса. Там находится ядро системы, тоесть, по сути - драйвера. Вызови список модулей командой Айса с ключом -s. Таким образом будут показаны системные модули. Вот там и ищи адресс своего драйвера.



Ранг: 228.7 (наставник), 2thx
Активность: 0.120
Статус: Участник
malware research

Создано: 02 марта 2006 19:42
· Личное сообщение · #6

ToBad C помощью антивиря AVZ можно узнать какие функции похучены, ну а уже исходя из этого думать дальше... Есть еще утилита Марка Руссиновича RootkitRevealer которая покажет, что спрятанно в реестре от глаз пользователя.

-----
Research is my purpose




Ранг: 20.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 02 марта 2006 22:34
· Личное сообщение · #7

Загрузись в safemode, убей в реестре загрузку дравера, перезагрузись нормально, дизассемблируй и смотри, что он делает.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 03 марта 2006 03:17
· Личное сообщение · #8

Спасибо всем ! Со всем разобрался. CRC поправил - всё заработало. Команду сайса mod -s упустил из вида, а с driver emos тоже подзапутался. Сейчас всё понял. Прошу прощенье насчёт некорректно сказанной фразы "попасть в контекст драйвера", я имел ввиду попасть из сайса в нужное место в коде драйвера что бы пропатчить. Теперь понял как. Отдельное спасибо Error_Log за ссылку на интересную софтину. Заодно и мониторы обновил.
Всем ещё раз спасибо за помощь. Тему закрываю.


 eXeL@B —› Основной форум —› Невидимость ключа в реестре и процесса реализованная в sys файле.
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати