Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [WinXP] ws2_32.dll -> подмена системной .dll (Отсл, Замена ws2_32.dll 
:(
    Опции темы
MuForum
Дата 30.3.2010, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Доброго времени суток.
Есть программа 1.exe, которая подменяет системную библиотеку ws2_32.dll на свой экземпляр с экспортированными функциями.
Если нужно обрабатывать функцию, то подменная библиотека обрабатывает, если не нужно, то отсылает оригинальной библиотеке.


# Вопрос: Как можно защитится от подмены файла "ws2_32.dll" ?
- Как вариант думал проверять Size, CRC32 и MD5 файла, но оказалось что таких файлов такое огромное множество, что я устал добавлять данные в библиотеку.
- Причём у разных страх разная контрольная сумма файла WS2_32.DLL; (Точнее если разный язык ОС)


P.S. -> Буду рад помощь или советам.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
SenkraD
Дата 30.3.2010, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 2
Всего: 23



MuForum,  повесить монитор пробовали?


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
MuForum
Дата 30.3.2010, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Цитата(SenkraD @ 30.3.2010,  16:27)
MuForum,  повесить монитор пробовали?

Изменить системную .dll могут до запуска моей программы, так что не подходит.
Проверять системную .dll по дате создания/редактирования - Глупо, т.к.
Во-первых: Легко обойти.
Во-вторых: Дата системных файлов разная. (Варируется примерно в диапозоне 5 минут)


Нужен какой-то другой вариант.
- Проверка по сигнатуре или что-то в этом духе, но чтобы работало везде.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
EvilsInterrupt
Дата 30.3.2010, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 2
Всего: 9



MuForum, Непонятно, что значит "защититься" ? Обнаружить или недопустить подобное ?

ЗЫ:
Вопрос не в этот форум!
PM MAIL WWW ICQ Jabber   Вверх
MuForum
Дата 30.3.2010, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Цитата(EvilsInterrupt @ 30.3.2010,  17:03)
MuForum, Непонятно, что значит "защититься" ? Обнаружить или недопустить подобное ?

ЗЫ:
Вопрос не в этот форум!

# Задача: Мне необходимо определить подмену/замену системной библиотеки "ws2_32.dll".


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
SenkraD
Дата 30.3.2010, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 2
Всего: 23



MuForum,  вы ложите свою ws2_32.dll и хотите не дать её заменить?
Если да, то можно в эту DLL положить свою функу и по её наличию и(или)
результату определять ваша ли это DLL


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
EvilsInterrupt
Дата 30.3.2010, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: 2
Всего: 9



MuForum, где конкретно подменяет 1.exe ? Во всех процессах или конкретно одном ?
Если во всех, то вероятность сущестования руткита, я бы не решился в третьем кольце делать массовую подмену длл-ки!!!

Попробуйте сделать так:
1) В своем проекте, который детектит у процесса(ов) подмену, вызовите какую-либо ф-цию из той длл-ки, какую хотите защитить(знать что она подменена). Это загрузит длл-ку в процесс вашей детектилки на этапе загрузки !
2) узнайте в вашей exe-шке адрез загрузки длл-ки это GeModuleHandle или чтото в этом роде ;)
3) Узнайте SizeOfImage , туда посмотрите в ее PE-заголовок
4) Проследуйте в процесс который нужно проанализить на предмет подмены длл-ки и сопставив адрес можно выносить вердикт что подменили!!!

Эффект основан на том что MS - файлы,длл-ки разработаны с отличнейшим ImageBase, который во множестве случаев (а их очень много) не меняется, т.е. грузится по указаному в ImageBase адресу! А видя куда ведут ф-ции из лже-дллки можно узнать ее модуль и знать ее hInstance + SizeOfImage

сумбурно, но думаю понятно ;)
PM MAIL WWW ICQ Jabber   Вверх
GoldFinch
Дата 30.3.2010, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 15
Всего: 26



EvilsInterrupt, чтото ты перемудрил

достаточно сделать GetModuleFileName(GetModuleHandle("ws2_32"), ...) и проверить лежит ли она в системной директории

Добавлено через 1 минуту и 13 секунд
либо способ посложнее и понадежнее - прочитать с диска ту ws2_32 которая лежит в системной директории, и сравнить ее с той что находится в памяти

Добавлено через 3 минуты и 51 секунду
очевидно, что подменять ws2_32 будут только нубы, по этому никакие апи не будут перехвачены,
те кто умеют перехватывать апи - не юзают такой некошерный способ как подмена ws2_32
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0807 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.