Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Майкл_Сикорски,_Эндрю_Хониг_Вскрытие_покажет!_Практический_анализ.pdf
Скачиваний:
18
Добавлен:
19.04.2024
Размер:
17.17 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

66    Часть I  •  Базовый анализ

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Вредоносные DLL часто выполняют большую часть своего кода внутри функции DLLMain (вызываемой из точки входа DLL), а поскольку DLLMain выполняется при каждой загрузке библиотеки, во многих случаях информацию можно получить динамически, загрузив DLL с помощью rundll32.exe. Вы также можете превратить DLL в исполняемый файл, изменив его расширение и отредактировав PE-заголовок, чтобы Windows могла его запустить.

Чтобы модифицировать PE-заголовок, удалите флаг IMAGE_FILE_DLL (0x2000) из поля Characteristics в IMAGE_FILE_HEADER. Это изменение не позволит нам запускать импорты функций, но с его помощью мы сможем вызвать функцию DLLMain, что, в свою очередь, может привести к неработоспособности вредоноса или к его преждевременному завершению. Но все это не будет иметь значения, если нам таким образом удастся выполнить вредоносное содержимое и собрать полезную информацию при его анализе.

Вредоносные DLL-файлы могут потребовать установки в виде службы. Для этого в них иногда предусмотрена вспомогательная экспортная функция InstallService, как показано на примере файла pr32x.dll:

C:\>rundll32 ipr32x.dll,InstallService ИмяСлужбы

C:\>net start ИмяСлужбы

Чтобы вредонос можно было установить и запустить, ему необходимо предоставить аргумент ИмяСлужбы. Команда net start используется для запуска служб в системе Windows.

ПРИМЕЧАНИЕ

Если у метода ServiceMain нет вспомогательной экспортной функции, такой как Install или InstallService, вам придется устанавливать службу вручную. Это можно сделать с помощью системной команды sc или отредактировав ключи реестра неиспользуемой службы и запустив ее с помощью коман­ ды net start. Ключи служб можно найти в разделе реестра HKLM\SYSTEM\ CurrentControlSet\Services.

Мониторинг с помощью Process Monitor

Process Monitor (или procmon) — это усовершенствованный инструмент мониторинга для Windows, который позволяет отслеживать активность, относящуюся к ре­ естру, файловой системе, сети, процессам и потокам. Он сочетает в себе улучшенные возможности двух устаревших утилит: FileMon и RegMon.

И хотя программа procmon извлекает множество данных, она не может уследить за всем. Например, она может упустить активность драйверов устройств при обращении компонента пользовательского уровня к руткиту через устройство ввода/ вывода, равно как и определенные вызовы графического интерфейса, такие как SetWindowsHookEx. Программа procmon может оказаться полезной, но обычно ее не стоит использовать для записи сетевой активности, поскольку она может давать разные результаты в зависимости от версии Microsoft Windows.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

ПРЕДУПРЕЖДЕНИЕ

Глава 3. Основы динамического анализа  

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w67

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

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

При запуске утилита procmon начинает отслеживать все системные вызовы, которые ей удается перехватить. В Windows количество системных вызовов крайне велико и иногда достигает 50 000 событий в минуту, поэтому проверить их все не представляется возможным. Из-за этого утилита procmon может исчерпать всю доступную оперативную память и вывести из строя виртуальную машину, поскольку именно в памяти хранится весь журнал вызовов. Во избежание этого ограничивайте время работы procmon. Чтобы остановить запись событий, выберите пункт меню File Capture Events (Файл Захват событий). Прежде чем использовать procmon для анализа, очистите журнал событий, удалив лишние данные: для этого предусмотрен пункт меню Edit Clear Display (Правка Очистить экран). После этого запустите исследуемый вредонос, предварительно включив запись.

Вывод информации в procmon

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

На рис. 3.2 показан список событий, произошедших на компьютере, где выполнялась вредоносная программа под названием mm32.exe. По столбцу Operation (Операция) можно сразу же понять, какие операции выполнил данный вредонос, включая доступ к реестру и файловой системе. Стоит обратить внимание на запись под номером 212, в которой описывается создание файла C:\Documents and Settings\ All Users\Application Data\mw2mmgr.txt с помощью операции CreateFile. Слово

SUCCESS (Успех) в столбце Result (Результат) говорит о том, что эта операция прошла успешно.

Рис. 3.2. Пример анализа файла mm32.exe с помощью procmon

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

68    Часть I  •  Базовый анализ

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Фильтрация в procmon

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Иногда поиск нужной информации среди тысяч событий оказывается непростой задачей. В таких случаях на помощь приходит функция фильтрации, предусмотренная в procmon.

Вы можете установить фильтр для исполняемого файла, запущенного в системе. Это особенно полезно для анализа безопасности, поскольку позволяет фильтровать отдельные части выполняющейся вредоносной программы. Мы также можем фильтровать по определенным системным вызовам, таким как RegSetValue, CreateFile, WriteFile, или другим подозрительным операциям.

Функция фильтрации в procmon ограничивает только вывод, а не запись — все сохраненные события по-прежнему доступны. Установка фильтра не предотвращает чрезмерное потребление памяти.

Чтобы установить фильтр, откройте окно Filter (Фильтр), выбрав пункт меню Filter Filter (Фильтр Фильтр), как показано на рис. 3.3. Для начала выберите столбец, по которому будет происходить фильтрация, используя раскрывающийся список в верхнем левом углу, над кнопкой Reset (Сбросить). Самыми важными столбцами для анализа безопасности являются Process Name (Имя процесса), Operation (Операция) и Detail (Подробности). Затем установите один из методов сравнения: Is (Равно), Contains (Содержит) и Less Than (Меньше чем). В конце укажите, оставлять или убирать совпавшие записи. По умолчанию на экране отображаются все системные вызовы, поэтому важно уменьшить объем выводимой информации.

ПРИМЕЧАНИЕ

Procmon использует некоторые простые фильтры по умолчанию. Например, он содержит фильтры, которые удаляют из результатов файлы procmon.exe и pagefile; последний не предоставляет никакой полезной информации, и при этом к нему часто обращаются.

Как можно видеть в первых двух строках на рис. 3.3, мы фильтруем по столбцам Process Name (Имя процесса) и Operation (Операция). Имя процесса должно быть равно mm32.exe, а в качестве операции он должен выполнять RegSetValue.

Для каждого выбранного фильтра нажмите кнопку Add (Добавить) и затем Apply (Применить). В результате применения фильтров на нижней панели останется лишь 11 событий из 39 351; это поможет нам увидеть, что файл mm32.exe осуще­ ствляет операцию RegSetValue для ключа реестра HKLM\SOFTWARE\Microsoft\Windows\ CurrentVersion\Run\Sys32V2Controller (порядковый номер 3). Выполнив двойной щелчок на событии RegSetValue, вы увидите, какие данные были записаны для этого ключа (в нашем случае это путь к вредоносной программе).

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Глава 3. Основы динамического анализа  

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w69

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

женной программы, по-прежнему записываются. Это касается и вызовов от вредоноса, извлеченного из исходного исполняемого файла. Если вы обнаружили такое извлечение, измените фильтр, чтобы вывести имя нового вредоноса, и нажмите кнопку Apply (Применить). События, относящиеся к извлеченному файлу, начнут выводиться на экран.

Рис. 3.3. Установка фильтра в procmon

На панели инструментов procmon содержится несколько полезных автоматических фильтров. Те четыре из них, что обведены на рис. 3.4, позволяют фильтровать по следующим категориям.

Registry (Реестр). Анализируя операции с реестром, вы можете определить, как вредоносный код устанавливается в реестр.

File system (Файловая система). Исследуя взаимодействие с файловой системой, можно получить список всех файлов, которые создаются вредоносом или используются им для хранения конфигурации.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

70    Часть I  •  Базовый анализ

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Process activity (Активность процессов). Изучение активности процессов поможет понять, создает ли вредонос дополнительные процессы.

Network (Сеть). Изучив сетевые соединения, вы можете определить, какие порты прослушивает вредоносная программа.

По умолчанию выбраны все четыре фильтра. Чтобы выключить любой из них, просто щелкните на соответствующем значке на панели инструментов.

Рис. 3.4. Кнопки фильтрации в procmon

ПРИМЕЧАНИЕ

Если ваш вредонос загружается вместе с системой, используйте параметры журналирования, чтобы установить procmon в качестве драйвера начальной загрузки. Это позволит вам записывать события во время запуска системы.

Анализ событий, записанных с помощью procmon, требует опыта и терпения, поскольку большинство записей относятся к стандартной процедуре запуска исполняемого файла. Чем чаще вы будете работать с этим инструментом, тем проще вам будет использовать его для быстрого просмотра списка событий.

Просмотр процессов

с помощью Process Explorer

Process Explorer — это бесплатный и очень эффективный диспетчер задач от компании Microsoft, который следует держать открытым во время динамического анализа. Он может предоставить ценные сведения о процессах, которые работают в системе

втекущий момент.

Спомощью Process Explorer можно получить список активных процессов, загружаемых ими DLL, различных свойств процессов и общую информацию о системе. Вы также можете использовать этот инструмент для завершения процессов, вывода пользователей из системы, запуска и проверки новых процессов.

Окно Process Explorer

Process Explorer отслеживает процессы, запущенные в системе, и представляет их в виде древовидной структуры, демонстрирующей связи между родительскими и дочерними элементами. Например, на рис. 3.5 видно, что services.exe является дочерним процессом программы winlogon.exe, на что указывает фигурная скобка слева.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Глава 3. Основы динамического анализа  

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w71

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Рис. 3.5. Исследование вредоноса svchost.exe с помощью Process Explorer

Process Explorer отображает пять столбцов: Process (Имя процесса), PID (Идентификатор процесса), CPU (Загрузка процессора), Description (Описание) и Company Name (Название компании). Окно обновляется раз в несколько секунд. По умолчанию службы подсвечены розовым цветом, процессы — синим, новые процессы — зеленым, а завершенные процессы — красным. Зеленые и красные элементы являются временными и исчезают после запуска или завершения процесса. Следите за окном Process Explorer во время анализа вредоносного ПО, отмечая изменения или новые процессы, и не забывайте детально их изучать.

Process Explorer может отображать довольно много информации для каждого процесса. Например, активизировав панель DLL, вы можете щелкнуть на процессе, чтобы увидеть, какие библиотеки он загрузил в память. Вы также можете открыть панель Handles (Дескрипторы), чтобы просмотреть все дескрипторы, удерживаемые процессом (файловые дескрипторы, мьютексы, события и т. д.).

Окно Properties (Свойства), показанное на рис. 3.6, открывается при двойном щелчке на имени процесса. Здесь можно найти особенно полезную информацию об анализируемом вредоносе. На вкладке Threads (Потоки) перечислены все активные потоки выполнения, вкладка TCP/IP отображает активные соединения или порты, которые прослушиваются процессом, а вкладка Image (Образ), изображенная ниже, показывает путь к исполняемому файлу.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

72    Часть I  •  Базовый анализ

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Рис. 3.6. Окно Properties, вкладка Image

Использование функции проверки

Одной из особенно полезных возможностей программы Process Explorer является кнопка Verify (Проверить). Нажмите ее, чтобы проверить, обладает ли исполняемый файл цифровой подписью Microsoft. Microsoft использует цифровые подписи для большинства своих основных исполняемых файлов, поэтому, если Process Explorer подтвердит тождественность подписи, вы можете быть уверены в том, что файл принадлежит компании. Эта возможность крайне полезна в случаях, когда нужно проверить, что файл Windows на диске не был поврежден, ведь вредоносное ПО

впопытке спрятаться часто подменяет оригинальные файлы Windows своими собственными.

Кнопка Verify (Проверить) проверяет образ, который находится на диске, а не

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

обсуждается в главе 12.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Сравнение строк

Глава 3. Основы динамического анализа  

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w73

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Чтобы обнаружить подмену процессов, можно воспользоваться вкладкой Strings (Строки) в окне Properties (Свойства) и сравнить строки исполняемого файла на ди­ ске (образа) со строками того же файла в памяти. Вы можете переключаться между этими режимами, используя кнопки в левом верхнем углу, как показано на рис. 3.7. Если списки строк кардинально отличаются, могла произойти подмена процесса. Ниже показано такое несоответствие. Так, в правой части изображения присутствует несколько экземпляров строки FAVORITES.DAT (файл svchost.exe в памяти), тогда как в левой части (файл svchost.exe на диске) их нет вовсе.

Рис. 3.7. Вкладка Strings программы Process Explorer выводит для активного процесса svchost.exe строки на диске (слева) и в памяти (справа)

Использование Dependency Walker

Process Explorer позволяет запустить для активного процесса depends.exe (Depen­ dency Walker), щелкнув дважды на имени процесса и выбрав пункт меню Launch Depends (Запуск зависит от). Вы также можете выполнить поиск по дескрипторам или DLL, воспользовавшись пунктом Find Find Handle or DLL (Поиск Найти дескриптор или DLL).

Поиск по DLL может пригодиться в ситуации, когда вы нашли на диске зараженную библиотеку и хотите узнать, используют ли ее какие-то активные процессы. Кнопка Verify (Проверить) проверяет исполняемые файлы на диске, но не все DLL загружаются во время выполнения. Чтобы определить, загрузилась ли библиотека