Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

11.03.2011 11:15 | Dazila

Продолжая тему случаев, связанных с вредоносным программным обеспечением (на прошлой неделе я опубликовал статью "Дело о вредоносном автозапуске"), в преддверии публикации моего романа Zero Day, выход которого назначен на 15 марта, эта статья рассказывает о случае, о котором мне сообщил пользователь, применивший уникальный подход к очистке системы после того, как он столкнулся с невозможностью запустить утилиты Sysinternals.

Все чаще и чаще авторы вредоносного ПО используют антивирусные продукты и утилиты Sysinternals для осуществления контроля над целевой системой. Этот случай начался с того, что друг пользователя попросил его посмотреть компьютер, который стал тратить необычно много времени на загрузку и вход в систему. Этот друг, уже подозревая, что причиной могла стать вредоносная программа, попытался выполнить сканирование системы с помощью Microsoft Security Essentials (MSE), однако это сканирование не могло завершиться. В диспетчере задач так же не было ничего подозрительного.

Пользователь, знакомый с утилитами Sysinternals, попробовал проделать одну из тех операций по очистке от вредоносного софта, о которой я рассказывал в моей презентации Advanced Malware Cleaning. Однако двойной клик на значке Process Explorer закончился недолгим появлением интерфейса Process Explorer, после чего процесс утилиты завершался. Далее он обратился к Autoruns, однако и в этом случае результат был тот же. То же самое произошло и с Process Monitor, после чего он понял, что причиной всему является вредоносный код.

Вредоносное программное обеспечение может использовать множество методик для идентификации программ, которые оно хочет отключить. Например, оно может использовать хэш исполняемых файлов ПО, искать определенный текст в образах исполняемых файлов или сканировать память процессов на ключевые слова. Тот факт, что для этого может пригодиться любой маленький уникальный атрибут, является причиной того, что я не стал реализовывать механизмы, нацеленные на предотвращение такой идентификации. Эта игра, в которой я не мог победить, так что я предоставил пользователю самому искать способы решения проблемы. Например, если вредоносная программа ищет имена исполняемых файлов, то пользователь может просто переименовать эти утилиты.

Ирония здесь заключается в том, что авторы вредоносных программ уже давно используют сами инструменты Sysinternals. Например, троян Clampi, который появился в начале 2009 года, использовал утилиту Sysinternals PsExec для автоматического распространения. Coreflood - вирус, который крал пароли в середине 2008 года - также использовал PsExec. Позже китайские хакеры использовали инструменты Sysinternals для атаки на нефтеперерабатывающий завод. Авторы вредоносного ПО даже украли бренд Sysinternals для выпуска scareware-продукта - вредоносной программы, которая представляется поддельным диалоговым окном безопасности, предлагающее вам купить фальшивое antimalware-ПО - под названием Sysinternals Antivirus:


Возвращаясь обратно к нашему случаю, пользователь, желая узнать, ищет ли вредоносная программа определенные процессы или она просто ищет окна с определенными ключевыми словами в заголовке, открыл Блокнот и написал некоторый текст, после чего сохранил его в файл с именем "process explorer.txt". После того, как он дважды кликнул на только что созданном файле, Блокнот закрылся сразу после запуска.

Лишившись своих обычных инструментов для диагностики проблем, он решил узнать, есть ли какая-либо другая утилита Sysinternals, которой он мог воспользоваться, для чего он перешел к списку инструментов Sysinternals. Он почти сразу заметил утилиту под названием Desktops. Этот инструмент позволяет открыть до трех дополнительных виртуальных рабочих столов для запуска ваших приложений и использует комбинации "горячих" клавиш или диалоговое окно Desktops на панели задач для переключения между ними. Он подумал, что, возможно, вредоносная программа проигнорирует альтернативные рабочие столы. Он открыл в Desktops ссылку Sysinternals Live (она позволяет вам запускать утилиты прямо из сети, не загружая их к себе на компьютер) и создал второй рабочий стол. Затаив дыхание, он сделал двойной клик на иконке Process Explorer - и он запустился!


У данной конкретной вредоносной программы, по-видимому, есть работающая по таймеру подпрограмма, которая запрашивает текст заголовка окна и завершает процессы, которые имеют заголовки с запрещенными ключевыми словами, такими как "process explorer", "autoruns", "process monitor" и, вероятно, другие продвинутые инструменты для нахождения вредоносного ПО и антивирусных продуктов. Поскольку перечисление окон возвращает окна только с текущего рабочего стола процесса, данная вредоносная программа не смогла увидеть инструменты Sysinternals, запущенные на втором рабочем столе.

Пользователь не заметил ничего необычного в списке процессов Process Explorer, так что он запустил Process Monitor (потом я попробую использовать Autoruns). Он позволил Process Monitor захватить несколько минут активности системы и затем исследовать получившийся лог. Он сразу заметил тысячи операций обращения к реестру Winlogon, чего он не встречал при предыдущих запусках Process Monitor. Предположив, что это связано с вредоносным кодом, он установил фильтр, чтобы оставить только процессы Winlogon и начал внимательнее просматривать список:


Большинство операций было запросами значения ключа системного реестра под странным названием HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon Notify\acdcacaeaacbafbeaa. Чтобы запускаться при каждом старте Windows, вредоносная программа зарегистрировала себя как DLL уведомлений Winlogon. Эти библиотеки обычно используются программным обеспечением, которые контролируют процессы входа в систему, выхода из системы и события смены пароля, но также зачастую они используются вредоносным ПО. Чтобы подтвердить свои подозрения и найти имя этой DLL, он щелкнул правой кнопкой мыши по одной из записей и выбрал "Jump To" в контекстном меню Process Monitor. В ответ на эти действия Process Monitor запустил Regedit и показал ключ реестра, на который ссылалась эта запись:


Значение DLLName указало на вредоносный DLL-файл, который имело то же название (вероятно, сгенерированное случайным образом), что и ключ реестра. Он знал, что данный вредоносный код, вероятно, был пропущен сканером MSE, но, зная имя DLL, он задался вопросом, мог ли MSE очистить этот конкретный файл. Прежде чем проверить это, он запустил полное сканирование, надеясь, что вредоносное ПО не обнаружит исполняемый файл антивируса на втором рабочем столе, однако это оказалось не так. Он запустил MSE снова и в диалоговом окне сканирования файла перешел к данной DLL. Несколько секунд спустя MSE завершил анализ и сообщил, что это известная вредоносная программа и можно с легкостью очистить систему от нее:


Он нажал кнопку рекомендуемого действия и MSE быстро обезвредил вредоносный DLL. В качестве последней проверки он перезагрузил систему. Система загрузилась и он смог быстро войти в систему. Он смог запустить инструменты Sysinternals на главном рабочем столе и результаты сканирования Process Monitor больше не содержали нежелательной активности. С помощью инструментов Sysinternals он победил блокирующее эти утилиты вредоносное ПО и успешно закрыл это дело.


Источник: http://blogs.technet.com/mark_russinovich
Перевод: Dazila

Комментарии

Не в сети

Как хорошие дяди побеждают плохих ;)

11.03.11 22:08
0
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.058 секунд (Общее время SQL: 0.039 секунд - SQL запросов: 55 - Среднее время SQL: 0.0007 секунд))
Top.Mail.Ru