# Форум на русском языке  > Угрозы информационной безопасности  > Вредоносные программы  > Описания вредоносных программ  >  Trojan-Downloader.Win32.Agent.ns - новая методика внедрения в систему

## Зайцев Олег

В последнее время по моей статистике участились случаи обнаружения на ПК пользователей Trojan-Downloader.Win32.Agent.ns (после отлова данного "зверя" я послал его в лабораторию Касперского и сегодня они добавили ее в базы). Данный "зверь" попал ко мне на исследование из-за того, что он детектируется антируткитом и антикейлоггером AVZ:



> ....
> Функция wininet.dll:HttpSendRequestA (207) перехвачена, метод CodeHijack 
> (метод не определен)
> ...
> C:\WINDOWS\system32\OLEADM.dll --> Подозрение на Keylogger или троянскую DLL


Изучение показало, что "зверь" выполнен в виде dll, которая внедряется в запущенные процессы (что и привело к ее обнаружению). Размер файла - 6657 байта, он ничем не сжат. 
У файла весьма убедительные поддельные копирайты - "Microsoft Corporation", "Microsoft OLE Extensions for Windows" версия "4.71.2900.0000". OLEADM.dll экспортирует единственную функцию, причем без имени. 
Установку файла выполняет дроппер, который как правило называется toolbar.exe, размер 8192 байта, сжат UPX. Дроппер прописывает ключи отложенного переименования в реестре, задавая ключ PendingFileRenameOperations. В результате программируется операция переименования:



> \??\C:\WINDOWS\system32\oleadm32.dll
> !\??\C:\WINDOWS\system32\wininet.dll


oleadm32.dll хранится внутри toolbar.exe и создается им при запуске.
В результате после перезагрузки пораженного компьютера появляется перехват функции wininet.dll:HttpSendRequestA, что позволяет данному "зверю" отлавливать HTTP запросы. Перехват производится модификацией самого wininet.dll на диске, причем размер и дата файла wininet.dll на диске не изменяется (я обнаружил изменения сравнением эталонного и реально wininet.dll). В результате такого хитроумного метода внедрения в систему в реестре нет ни одной ссылки на oleadm32.dll ... 
Модификации кода wininet.dll достаточно оригинальны - меняется точка входа в функцию инициализации DLL, причем новая точка входа указывает на зону между DOS заголовком и заголовком PE файла (троянский код начинается по смещению 40h от начала файла - эта зона между заголовками не используется и ее применение позволяет поместить троянский код без увеличения размера файла - похожий метод применялся в Чернобыльском вирусе и аналогах). Обнаружить факт заражения можно просмотром начала файла - в зараженном файле по смещению 4A (это самое начала файла) видна текстовая строка "OLEADM".
Для лечения Trojan-Downloader.Win32.Agent.ns необходимо удалить библиотеку oleadm32.dll и восстановить файл wininet.dll из резервной копии. Что интересно - после удаления oleadm32.dll измененная wininet.dll продолжает нормально работать - не найдя oleadm32.dll троянский код отдает управление штатной функции инициализации wininet.dll, поэтому дальнейшая ее инициализация проходит нормально, но перехват функции по прежнему регистрируется.

----------

Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:

----------


## Geser

Это навело меня на интересную мысль. Можно добавить в АВЗ еще одну функцию - проверка системных файлов. Т.е. АВЗ проверяет все системные файлы которые имеются у него в базе безопасных и сравнивает контрольные суммы. Если контрольная сумма не совпадает, то либо зверь поменял, либо новая версия. В любом случае все такие файлы нужно просить прислать на анализ.

----------


## Зайцев Олег

> Это навело меня на интересную мысль. Можно добавить в АВЗ еще одну функцию - проверка системных файлов. Т.е. АВЗ проверяет все системные файлы которые имеются у него в базе безопасных и сравнивает контрольные суммы. Если контрольная сумма не совпадает, то либо зверь поменял, либо новая версия. В любом случае все такие файлы нужно просить прислать на анализ.


Я именно так и засек изменение wininet.dll - после исследования я запустил поиск файлов AVZ по маске *.exe *.dll *.sys в каталоге Windows на виртуалке, и тут-же вылез этот wininet.dll. Единственный минус - для виртуалки AVZ естественно "знает" все системные файлы, а для заренее неизвестного ПК - нет. Компромисное решение - проверять определенный список (штук 20-30) наиболее важных компонент системы ...
Еще одно наблюдение - на www.virustotal.com на зараженный wininet.dll реалирует эвритика только у NOD32. Остальные молчат, хотя о точке входа в DOS заголовке нужно не просто говорить, а кричать  :Smiley:

----------


## Geser

> Еще одно наблюдение - на www.virustotal.com на зараженный wininet.dll реалирует эвритика только у NOD32. Остальные молчат, хотя о точке входа в DOS заголовке нужно не просто говорить, а кричать


Добавь это в эвристический анализатор АВЗ  :Smiley: 

P.S. И вообще, я тебе говорю. Переведи АВЗ на английский, будет пользоваться бешенной популярностью. Думаю поболее чем Спайбот  :Smiley:

----------


## serge (guest)

> Еще одно наблюдение - на www.virustotal.com на зараженный wininet.dll реалирует эвритика только у NOD32. Остальные молчат, хотя о точке входа в DOS заголовке нужно не просто говорить, а кричать


О чем кричать? Про PE-файл с нестандартной структорой? Такая эвристика иногда использовалась в эпоху появления первых win32-вирусов. И постепенно вымерла из-за кучи ложных срабатываний на различные упаковщики  :Smiley: 

Но для более интерактивной программы вроде AVZ, рассчитанной на опытных пользователей, такая проверка не помешает  :Smiley:

----------


## Зайцев Олег

> О чем кричать? Про PE-файл с нестандартной структорой? Такая эвристика иногда использовалась в эпоху появления первых win32-вирусов. И постепенно вымерла из-за кучи ложных срабатываний на различные упаковщики 
> 
> Но для более интерактивной программы вроде AVZ, рассчитанной на опытных пользователей, такая проверка не помешает


 Тут скорее всего можно смело кричать в любом случае - у данного зверя  вредоносный код засунут между DOS заголовком и нормальным ... - и это в системной wininet.dll -там никаких хитроумных упаковщиков нет и быть не должно ... такая эвристика полезна именно для системных библиотек, поскольку ложные срабатывания на разные упаковщики/криптеры исключены...

----------


## serge (guest)

> Тут скорее всего можно смело кричать в любом случае - у данного зверя  вредоносный код засунут между DOS заголовком и нормальным ... - и это в системной wininet.dll -там никаких хитроумных упаковщиков нет и быть не должно ... такая эвристика полезна именно для системных библиотек, поскольку ложные срабатывания на разные упаковщики/криптеры исключены...


К сожалению антивирус искуственным интелектом пока не обладает и человека полностью заменить не может, особенно в казалось бы простых, но нетипичных ситуациях. В данном случае для антивируса самая сложная задача - опознать, что файл является системной библиотекой. Получается, что нужно держать и постоянно пополнять некие таблицы "хороших" файлов. Контрольные суммы для такой проверки не подойдут, поскольку патченые файлы так не найдем. Что же остается - имена файлов, ура товарищи, дело kerish antivirus живет и побеждает  :Wink:  Но если серьезно, то цивизизованные люди обычно в таком случае (для распознавания "своих") применяют цифровую подпись, к этому все постепенно и идет. В частности, Windows XP уже по крайней мере пытается проверять целостность системных файлов.

Что касается точки входа в заголовке, я точно видел какой-то криптор, который использует такой же трюк, работал он только под Win 9x, но нам от этого не легче. И найти в wininet.dll место, куда вписать троянский код, можно и без заголовка.

----------


## Geser

> Получается, что нужно держать и постоянно пополнять некие таблицы "хороших" файлов. Контрольные суммы для такой проверки не подойдут, поскольку патченые файлы так не найдем


Для этого достаточно иметь постоянно обновляемую Винду, и постоянно добавлять контрольные суммы патченых файлов. Не вижу проблемы. За то можно будет много неизвестной заразы вылавливать. В использовании АВЗ уже можно видеть эффективность такой системы. А если заполнением базы хороших файлов будет заниматься антивирусная компания, а не один человек, то это будет намного эффективнее.

----------

