Главная > Заметки, Проблемы / ошибки > Исследование вируса с помощью инструментов Sysinternals

Исследование вируса с помощью инструментов Sysinternals

Принесли мне недавно флешку со словами: “У меня тут всё пропало, ничего не открывается, а там документы очень важные были, можно их как-нибудь восстановить?”. Взглянув на флешку сразу стало понятно, что её всю “изъели” вирусы – куча каких-то ярлыков, ведущих на непонятно какие файлы, и в целом ситуация, похожая на проблему со скрытием каталогов, только если в том случае все файлы стали скрытыми, то в здесь всё, что было на флешке (до заражения) переместилось в скрытый каталог, а в корне, как я уже сказал, была куча ярлыков и скрытый файл под названием gugi.exe.

Тут следует сделать небольшое отступление: у того пользователя на компьютере установлена Windows XP SP3 (как там ситуация с обновлениями не знаю) и стоит антивирус (хороший, платный :)) с самыми последними обновлениями, но вируса почему-то не видит. В то время как на virustotal.com 33 из 47 антивирусов считают этот файл трояном. Стало интересно, решил посмотреть можно-ли вручную избавиться от этой заразы.

Скинул файл, подготовил виртуальную машину (для чистоты экспериментов тоже Windows XP SP3 (ну ещё и потому, что на семёрке трюк не прошёл), без обновлений и каких-либо антивирусов)  и понеслось…

Для исследования я использовал утилиту Process Monitor от Sysinternals. По умолчанию ProcMon показывает ну очень много событий, и найти среди них интересующие просто нереально. Да и не нужно – для того, чтобы отбросить не нужные события и оставить только интересующие применяются фильтры. Окно фильтров открывается автоматически при запуске ProcMon (правда почему-то не всегда), а также его можно вызвать сочетанием клавиш Ctrl+L, или через меню Filter | Filter… .

Для начала был создан фильтр для процесса по имени запускаемого файла gugi.exe:

ProcMon - Filters

Фильтры Process Monitor

В Process Monitor по умолчанию уже есть несколько фильтров, и без лишней необходимости их трогать не стоит.

Также я отключил события, связанные с сетевой активностью (значок с компьютерами справа на панели инструментов в главном окне программы), так как моя виртуальная машина всё равно работает автономно.

После добавления фильтров можно запускать файл (напомню, что я работаю в виртуальной машине, в физической не рекомендую играться с вирусами 🙂 ).

Первое, что бросилось в глаза, что этот файл запускает процесс svchost.exe, после чего сам выходит:

ProcMon - gugi.exe

ProcMon vs. gugi.exe

Как видно из скриншота PID запускаемого процесса svchost.exe – 1236. (Кстати, в семёрке вредоносный svchost вывалился с ошибкой и дальше дело не пошло.)

Если посмотреть на процессы через Process Explorer от всё того же Sysinternals видно подозрительный процесс svchost.exe с указанным ID:

ProcExp - svchost (1236)

Вредоносный svchost 

Подозрительный потому что он подсвечен синеньким, а это означает что svchost запущен в том же контексте, что и сам Process Explorer. Другими словами запущен от имени того же пользователя, в том время как обычно svchost запускается от имени системы (процессы, подсвечены розовым).

Добавляем в ProcMon фильтр по PID процесса 1236. (При этом фильтр по имени процесса gugi.exe нужно отключить, иначе ProcMon ничего не покажет). И что мы видим (по непонятным причинам ProcMon отказался подсвечивать строку с созданием файла, поэтому пришлось выделить жирным):

ProcMon - panjxg.exe

Появляются новые файлы

В каталоге с профилем пользователя создаётся файл panjxg.exe, а в реестре в ветке HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon создаётся ключ Taskman со значением, указывающим на только что созданный файл (кстати, у обычных пользователей нет прав на запись в эту ветку). Отсюда же перейдя в реестр (для этого достаточно нажать правой кнопкой мышки на значении пути и выбрать пункт меню Jump To…) видим созданный ключ:

Regedit - Taskman

Вот, где собака зарыта

С чистой совестью удаляем его (ну только, если не создавали его специально сами — в здоровой системе такого ключа нет), и файл в профиле. Кстати, файл просто так удалить не получится, так как он занят вредоносным svchost.exe тем самым, который запущен от имени пользователя (который синенький). В этом можно убедиться, если найти его в Process Explorer, для этого нужно нажать Ctrl+F и ввести имя файла, или через меню: Find | Find Handle or DLL…:

ProcExp - Find Handle or DLL

Поиск в ProcExp

(Другой ID процесса здесь только потому, что этот скриншот я сразу сделать не додумался, и для этого пришло снова заразить систему :)).

Для того, чтобы удалить файл, нужно сначала прибить вредоносный svchost. После чего сам вирус удаляется без проблем.

Ещё раз повторю, что всё вышесказанное относится к Windows XP SP3. На семёрке фокус не прошёл, на других системах не пробовал.

Реклама
  1. 24/07/2013 в 14:49

    Сегодня отловил похоже разновидность этого же вируса: делает всё то же самое, файлы правда называются по другому, главное отличие, заключается в том, что вредоносный svchost всё время мониторит реестр, и при удалении ключа TaskMan тут же добавляет запись обратно 🙂 Поэтому для лечения сначала нужно прибить svchost (всё тот же вредный — который Process Explorer подсвечивает синеньким), а уж потом чистить реестр, иначе это будет Сизифов труд.

  1. 26/08/2013 в 22:47

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: