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

 

 

 

 

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

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

Глава 17. Методы противодействия виртуальным машинам  411

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Пятая и шестая проверки используют бэкдоры на основе портов ввода/вывода 0xa и соответственно 0x14.

Седьмая проверка основана на ошибке в старых версиях VMware, которые работают в режиме эмуляции.

Выше, на рис. 17.2, представлена дизассемблированная версия четвертой проверки в ScoopyNG.

Изменение настроек

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

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

Листинг 17.5. Незадокументированные параметры .vmx-файла, направленные против методик анти-ВМ

isolation.tools.getPtrLocation.disable = "TRUE" isolation.tools.setPtrLocation.disable = "TRUE" isolation.tools.setVersion.disable = "TRUE" isolation.tools.getVersion.disable = "TRUE" monitor_control.disable_directexec = "TRUE" monitor_control.disable_chksimd = "TRUE" monitor_control.disable_ntreloc = "TRUE" monitor_control.disable_selfmod = "TRUE" monitor_control.disable_reloc = "TRUE" monitor_control.disable_btinout = "TRUE" monitor_control.disable_btmemspace = "TRUE" monitor_control.disable_btpriv = "TRUE" monitor_control.disable_btseg = "TRUE"

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

При использовании многопроцессорного компьютера эти изменения позволят защититься от всех проверок в ScoopyNG, за исключением шестой. Однако мы не рекомендуем применять эти параметры в VMware, поскольку они делают бесполезным пакет инструментов VMware Tools и могут серьезно ухудшить производительность вашей виртуальной машины. Используйте их только в случае, когда ни один из других подходов не принес результата. Этот способ был упомянут лишь для полноты изложения: он позволяет уберечься от десяти из сотен возможных приемов обнаружения VMware, и редактировать .vmx-файл только для этого — все равно что стрелять из пушки по воробьям.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

412  Часть V  •  Противодействие обратному проектированию

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

 

 

 

 

У VMware есть уязвимости, которые позволяют вывести из строя основную ОС или даже выполнить в ней код.

Многие известные уязвимости были найдены в коде VMware Tools, отвеча­ющем за общие папки и функцию перетаскивания. Одна хорошо изученная ошибка, основанная на общих папках, подвергает риску основную операционную систему, давая возможность выполнить запись в любой ее файл из гостевой среды. И хотя этот конкретный подход не работает в текущей версии VMware, в коде общих папок было обнаружено несколько других недостатков. Отключите эту функцию в настройках виртуальной машины, чтобы избежать подобного рода атак.

Еще одна хорошо изученная уязвимость VMware была найдена в функции отображения виртуальной машины. Эксплойт для нее известен под названием Cloudburst: он находится в свободном доступе и является частью пакета Canvas, предназначенного для проверки на проникновение (эта уязвимость тоже была исправлена в VMware).

Для эксплуатации VMware в уже зараженной системе существуют публично доступные инструменты, такие как VMchat, VMcat, VMftp, VMdrag-n-hack и VMdrag- n-sploit. Реальную опасность они представляют только в случае, если вы можете выбраться из виртуальной машины; не беспокойтесь о них, если они работают в гостевой системе.

Итоги главы

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

При выполнении базового динамического анализа всегда следует использовать виртуальную машину. Но если изучаемый вами вредонос не запускается, попробуйте воспользоваться другой виртуальной средой без VMware Tools, прежде чем искать в его коде признаки обнаружения VMware. Вы также можете прибегнуть к другим средствам виртуализации (VirtualBox или Parallels) или даже запустить вредоносный файл на реальном компьютере.

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

 

 

 

 

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

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

Глава 17. Методы противодействия виртуальным машинам  413

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Лабораторные работы

Лабораторная работа 17.1

Проанализируйте внутри VMware зараженный файл Lab17-01.exe. Это тот же вредонос, что и Lab07-01.exe, но с добавлением приемов анти-ВМ.

ПРИМЕЧАНИЕ

Приемы анти-ВМ из этой лабораторной могут не работать в вашей среде.

Вопросы

1.Какие методики анти-ВМ применяются в этом вредоносе?

2.Если у вас есть коммерческая версия IDA Pro, запустите скрипт IDA Python из листинга 17.4, представленный здесь в файле findAntiVM.py. Что он находит?

3.Что произойдет при успешном срабатывании каждой из методик анти-ВМ?

4.Какие из этих методик работают в вашей виртуальной машине?

5.Почему срабатывает или завершается неудачей та или иная методика?

6.Как обезвредить эти методики и заставить вредоносную программу запуститься?

Лабораторная работа 17.2

Проанализируйте внутри VMware зараженный файл Lab17-02.dll. Ответив на первый вопрос, попытайтесь запустить установочные экспортные функции с помощью rundll32.exe и проследите за их работой, используя инструмент наподобие procmon. Ниже показан пример командной строки для запуска DLL:

rundll32.exe Lab17-02.dll,InstallRT (или InstallSA/InstallSB)

Вопросы

1.Какие функции экспортирует эта библиотека?

2.Что произойдет, если попытаться установить ее с помощью rundll32.exe?

3.Какие файлы при этом создаются и что они содержат?

4.Какой метод анти-ВМ здесь использован?

5.Как заставить вредоносную программу установиться во время ее выполнения?

6.Как можно насовсем обезвредить методики анти-ВМ?

7.Опишите принцип работы каждой установочной функции, которая экс-

портируется.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

414  Часть V  •  Противодействие обратному проектированию

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

 

 

 

 

Лабораторная работа 17.3

Проанализируйте внутри VMware зараженный файл Lab17-03.dll. Он похож на вредонос Lab12-02.exe, но с добавлением приемов анти-ВМ.

Вопросы

1.Что произойдет, если запустить вредонос в виртуальной машине?

2.Как заставить этот вредонос запуститься и использовать функции кейлогера?

3.Какие методики анти-ВМ применяются в этом вредоносе?

4.Какие системные изменения можно внести, чтобы полностью обезвредить методики анти-ВМ, используемые в этом вредоносе?

5.Как бы вы модифицировали двоичный файл в OllyDbg, чтобы методики

анти-ВМ больше не имели шанса на успех?