Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf
Добавлен: 29.10.2018
Просмотров: 22708
Скачиваний: 610
428 Часть
III
Поиск и устранение сбоев: загадочные случаи
Затем он обратился к утилитам Sysinternals, попробовав запустить
AutoRuns, Procmon, Procexp и RootkitRevealer
1
, но все утилиты закрывались
сразу же после запуска. В качестве эксперимента, он попробовал открыть
текстовый файл с именем «Process Explorer» в Блокноте, и он тоже сразу
же закрылся. К этому моменту он заметил множество признаков заражения
системы, но не знал, как найти вредоносную программу, не говоря уже об ее
удалении.
Просматривая пакет Sysinternals, пользователь обнаружил утилиту
Desktops. Эксперименты с Блокнотом показали, что вредоносное ПО следи-
ло за заголовками окон опасных для него программ. Поскольку при перечис-
лении окон обрабатываются только окна, находящиеся на том же рабочем
столе, что и вызывающий процесс, он предположил, что автор вредоносной
программы не учел возможность запуска программ на нестандартных рабо-
чих столах. После запуска Desktops и переключения на второй рабочий стол
он смог запустить Procmon и другие утилиты (рис. 18-1, см. также главу 2).
Рис. 18-1. Запуск утилит Sysinternals на другом рабочем столе
Сначала он воспользовался утилитой Procexp. Все параметры процес-
сов выглядели как обычно, так что он включил параметры Verify Signers и
Verified Signer. Оказалось, что все основные исполняемые файлы действи-
тельно те, за кого себя выдают.
Затем он запустил Procmon и заметил слишком активную работу про-
цесса Winlogon. Он установил фильтр, чтобы наблюдать только за Winlogon
(рис. 18-2), и увидел, что этот процесс каждую секунду проверяет странный
раздел реестра:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ Notify\
acdcacaeaacbafbeaa
1
RootkitRevealer — утилита для обнаружения руткитов, созданная мной несколько лет назад,
когда руткиты были малоизвестны, и основные производители антивирусов еще не взялись за их
обнаружение и удаление. С тех пор RootkitRevealer устарел и исключен из пакета Sysinternals.
SIN_ch_18.indd 428
27.12.2011 14:42:26
Вредоносные программы
Глава 18 429
Рис. 18-2. Просмотр необычной активности Winlogon.exe в Procmon
Затем он запустил Autoruns, включив проверку подписей образов и
скрыв элементы Microsoft и Windows. Имея список неподписанных про-
грамм от сторонних производителей, он быстро нашел виновника проблем:
неподписанную библиотеку DLL с именем из случайного набора символов,
зарегистрированную как пакет уведомлений Winlogon, загружающий в про-
цесс Winlogon другую DLL (рис. 18-3). Он удалил эту запись в Autoruns, но
обнаружил при повторной проверке, что она снова появилась.
Рис. 18-3. Обнаружение с помощью Autoruns вредоносной программы, зарегистрированной
как пакет уведомлений Winlogon
После этого он вернулся в Microsoft Security Essentials и запустил про-
верку только что найденной DLL (рис. 18-4). После ее очистки удалось уда-
лить и запись в Autoruns, что вернуло систему в нормальное состояние.
Рис. 18-4. Удаление угрозы, обнаруженной с помощью утилит Sysinternals
SIN_ch_18.indd 429
27.12.2011 14:42:26
430 Часть
III
Поиск и устранение сбоев: загадочные случаи
Вирус, завершающий процессы
Пол, знакомый Аарона, позвонил и сказал, что на лэптопе его сына появил-
ся вирус, сообщающий, что компьютер заражен, и требующий заплатить
«отступные» с банковской карты. Аарон предположил, что это могут быть
«останки» какой-нибудь сомнительной веб-страницы, которые должны ис-
чезнуть после выхода из системы. Когда перебрали все простые решения,
оставалось только привезти «пациента» к Аарону
Когда Пол запустил лэптоп и ввел пароль сына, на весь экран разверну-
лось окно. В нем программа, представившаяся как антивирус, показывала
список вредоносного ПО, которым якобы заражена система, и требовала
ввести реквизиты платежа по карте, чтобы удалить найденные «вирусы».
Естественно, эта программа не была настоящим, купленным Полом антиви-
русом (который, кстати, проморгал запуск этой вредоносной программы).
Аарон достал компакт-диск с утилитами Sysinternals и попытался запу-
стить Procexp, Autoruns и прочие утилиты. Ни одна из них не запустилась.
Вспомнив предыдущий случай, он попробовал запустить Desktops, но и это
не удалось. Вредоносная программа не давала запустить ни один новый про-
цесс, включая командную строку, PowerShell и Диспетчер задач. В лучшем
случае появлялась рамка окна, которая тут же исчезала.
Рис. 18-5. Отключение подозрительных элементов в Autoruns в безопасном режиме
Аарон перезагрузил компьютер в безопасном режиме с командной
строкой, в котором загружается минимальный набор драйверов, а вместо
Проводника Windows запускается Cmd.exe. Кроме того, в этом режиме об-
рабатывается очень мало точек ASEP (см. гл. 5). Вредоносное ПО не запу-
стилось, что говорило о том, что оно запускалось из одной из пропущенных
SIN_ch_18.indd 430
27.12.2011 14:42:26
Вредоносные программы
Глава 18 431
точек ASEP. Аарон запустил Autoruns, включив проверку подписей и скрыв
элементы Windows и Microsoft. Обнаружилось несколько подозрительных
элементов, включая несколько программ, открывающих общий доступ к
файлам, странные панели инструментов Internet Explorer и вспомогатель-
ные объекты обозревателя. Все эти элементы он отключил, а не удалил
(рис. 18-5), на случай, если дело не в них: их папки были созданы довольно
давно, следовательно, они вряд ли являлись причиной проблемы.
Вирус удалось обнаружить довольно легко: это была программа с име-
нем eMpld08200, без описания и издателя, запускавшаяся разделом HKCU
RunOnce из папки C:\ProgramData и, в дополнение ко всему, напялившая на
себя значок настоящего антивируса. Аарон удалил эту точку ASEP в Autoruns
и соответствующие файлы через командную строку (рис. 18-6). На всякий слу-
чай, он оставил отключенными ненужные программы и расширения Internet
Explorer. После перезагрузки компьютер заработал без проблем.
Интересно, что этот вирус не имел администраторских прав, установился
в папку, доступную для записи пользователям, и постоянно запускался через
пользовательскую, а не глобальную ASEP. Через несколько недель такой же
вирус заразил Windows XP на компьютере тещи Аарона. Так как он позаботил-
ся, чтобы теща работала только под учетной записью обычного пользователя,
он легко смог удалить вирус, войдя под администраторской учетной записью,
под которой вирус не запускался. Аарон запустил Autoruns, выбрал в меню
User инфицированную учетную запись и удалил проблемную точку ASEP (к
сожалению, снимков экрана он не сделал). Отсюда можно сделать два вывода:
у вирусов становится все больше возможностей для причинения ущерба и без
администраторских прав; такие вирусы гораздо легче удалять, чем вредонос-
ные программы, нарушающие целостность операционной системы.
Рис. 18-6. Удаление вредоносного ПО из командной строки в безопасном режиме
Дело о поддельном компоненте системы
Следующие два случая описаны Грегом Коттингемом, старшим инженером
службы поддержки Microsoft. В сентябре 2010 г. команда Грега начала по-
лучать сразу от нескольких компаний сообщения о новом черве, который
затем получил имя Win32/Visal.b. Грегу было поручено разобраться, и он на-
SIN_ch_18.indd 431
27.12.2011 14:42:27
432 Часть
III
Поиск и устранение сбоев: загадочные случаи
чал с нажатия Ctrl+Shift+Esc, чтобы запустить Диспетчер задач. На первый
взгляд, ни один из показанных процессов (рис. 18-7) не вызывал подозрений
у нетренированного наблюдателя. Но если снять флажок Show Processes
From All Users (Отображать процессы всех пользователей), в списке дол-
жен быть только один процесс Csrss.exe, а их было два. (В действительности,
этот флажок определяет, отображаются ли процессы только из текущего или
из всех сеансов служб терминалов, подробнее см. в главе 2.)
Рис. 18-7. Диспетчер задач показывает два экземпляра Csrss.exe в одном сеансе
Одно из ограничений Диспетчера задач в том, что он не показывает
полный путь к исполняемым образам. Вредоносное ПО часто прячется за
именами обычных программ, такими как Svchost.exe и Csrss.exe, но уста-
навливается не в %windir%\System32, где находятся настоящие файлы, а в
другие папки, например, в %windir%. Procexp не имеет этого недостатка и
показывает полный путь к исполняемому файлу во всплывающей подсказке
(рис. 18-8) или в отдельном столбце.
Рис. 18-8. Отображение пути к «лишнему» процессу Csrss.exe в Procexp
SIN_ch_18.indd 432
27.12.2011 14:42:27