Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Майкл_Сикорски,_Эндрю_Хониг_Вскрытие_покажет!_Практический_анализ.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

 

 

74    Часть 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 в Process Explorer с перечнем функций импорта, представленных в программе Dependency Walker.

Анализ зараженных документов

С помощью Process Explorer можно также анализировать зараженные документы, такие как PDF и Word. Чтобы быстро определить, является ли документ вредоносным, откройте его параллельно с Process Explorer. Вам должны быть видны все процессы, которые при этом запускаются, и вы сможете обнаружить вредоносный файл на диске, используя вкладку Image (Образ) в окне Properties (Свойства).

ПРИМЕЧАНИЕ

Открытие зараженных документов при использовании средств мониторинга может позволить быстро определить их вредоносность, но, чтобы добиться успеха, необходимо задействовать уязвимый вариант программы для просмотра документов. На практике лучше всего прибегнуть к старой версии без последних заплаток, чтобы вредонос мог воспользоваться уязвимостью. Проще всего этого достичь с помощью нескольких снимков виртуальной машины, в каждом из которых будет отдельная старая версия программы для просмотра, например Adobe Reader или Microsoft Word.

Сравнение снимков реестра с помощью Regshot

Regshot (рис. 3.8) — это открытый инстру-

 

мент, который позволяет сравнить два сним-

 

ка реестра.

 

Чтобы использовать Regshot для анали-

 

за безопасности, сделайте начальный сни-

 

мок, нажав кнопку 1st Shot (1-й снимок),

 

а затем запустите вредоносную программу

 

и подождите, пока она не закончит вносить

 

изменения в систему. После этого нажмите

 

кнопку 2nd Shot (2-й снимок), чтобы сделать

 

второй снимок. В конце нажмите кнопку

 

Compare (Сравнить), чтобы сравнить два

 

снимка.

 

В листинге 3.1 приводится выдержка из

 

результатов, сгенерированных утилитой

 

Regshot во время анализа вредоноса. Сним-

 

ки реестра были сделаны до и после работы

 

шпионской программы ckr.exe.

Рис. 3.8. Окно Regshot

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

w

 

 

to

 

 

 

 

 

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

w Click

 

 

 

 

 

 

 

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

Листинг 3.1. Сравнение результатов работы утилиты Regshot

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w75

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Regshot

Comments:

Datetime: <date>

Computer: MALWAREANALYSIS

Username: username

----------------------------------

Keys added: 0

----------------------------------

----------------------------------

Values added:3

----------------------------------

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\ckr:C:\WINDOWS\system32\ckr.exe

...

...

----------------------------------

Values modified:2

----------------------------------

HKLM\SOFTWARE\Microsoft\Cryptography\RNG\Seed: 00 43 7C 25 9C 68 DE 59 C6 C8 9D C3 1D E6 DC 87 1C 3A C4 E4 D9 0A B1 BA C1 FB 80 EB 83 25 74 C4 C5 E2 2F CE 4E E8 AC C8 49 E8 E8 10 3F 13 F6 A1 72 92 28 8A 01 3A 16 52 86 36 12 3C C7 EB 5F 99 19 1D 80 8C 8E BD 58 3A DB 18 06 3D 14 8F 22 A4

...

----------------------------------

Total changes:5

----------------------------------

Процесс ckr.exe использует ключ HKLM\SOFTWARE\Microsoft\Windows\Cur­ rentVersion\Run для постоянного хранения данных . Результаты обычно содержат некоторое количество бессмыслицы , поскольку в реестре постоянно обновляется начальное значение генератора случайных чисел.

Как и в случае с procmon, анализ этих результатов заключается в терпеливом сборе крупиц полезной информации.

Симуляция сети

Часто вредоносному ПО удается прорваться вовне и связаться с управляющим сервером (подробнее об этом — в главе 14 «Сетевые сигнатуры, нацеленные на вредоносное ПО»). Вы можете создать поддельную сеть и быстро получить сетевые индикаторы, не подключаясь при этом к Интернету. Эти индикаторы могут включать в себя имена DNS, IP-адреса и сигнатуры пакетов.

Чтобы успешно симулировать сеть, вы должны не дать вредоносу понять, что он выполняется в виртуализованной среде (настройка виртуальных сетей в VMware обсуждалась в главе 2). С инструментами, приведенными здесь, и с надежной конфигурацией сети в виртуальной машине вы сможете значительно повысить свои шансы на успех.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

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

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

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

 

 

 

 

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

 

 

 

 

ApateDNS, бесплатная утилита от компании Mandiant (www.mandiant.com/products/ research/mandiant_apatedns/download), — это самый быстрый способ просмотреть DNSзапросы, выполненные вредоносом. ApateDNS подделывает DNS-ответы для IPадресов, относящихся к определенному пользователю, прослушивая при этом локальный UDP-порт под номером 53. Эта утилита ловит DNS-запросы и отправляет DNS-ответы на IP-адреса, которые задаете вы. Результаты всех полученных запросов могут выводиться в одном из двух форматов: шестнадцатеричном и ASCII.

Перед использованием ApateDNS укажите IP-адрес, который вы хотите возвращать в своих ответах , и выберите интерфейс . После этого нажмите кнопку Start Server (Запустить сервер): этим вы автоматически запустите локальный DNS-сервер

ипропишете его в конфигурации системы. Затем запустите вредоносную программу

ипроследите за DNS-запросами, появляющимися в окне ApateDNS. К примеру, на рис. 3.9 перенаправляются DNS-запросы, сделанные вредоносом под названием RShell. В 13:22:08 запрашивается IP-адрес домена evil.malwar3.com.

Рис. 3.9. ApateDNS отвечает на запросы для домена evil.malwar3.com

В примере, показанном выше, мы перенаправляем DNS-запросы на адрес 127.0.0.1 (localhost), но вы можете выбрать внешний адрес, который указывает на веб-сервер, запущенный в Linux внутри виртуальной машины. Прежде чем запускать сервер, убе­ дитесь в том, что вы ввели правильный адрес. По умолчанию ApateDNS вставляет в DNS-ответы текущий шлюз или адрес, указанный в системных настройках DNS.

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

w

 

 

to

 

 

 

 

 

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

w Click

 

 

 

 

 

 

 

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

Мониторинг сети с помощью Netcat

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w77

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Netcat иногда называют «швейцарским ножом для TCP/IP». Эту утилиту можно использовать как для входящих, так и для исходящих соединений, а также для сканирования и пробрасывания портов, создания туннелей, проксирования и многого другого. В прослушивающем режиме программа Netcat ведет себя как сервер, а в режиме подключения — как клиент. Она берет данные из стандартного ввода, предназначенного для передачи по сети, и отображает их на экране посредством стандартного вывода.

Посмотрим, как с помощью Netcat проанализировать вредоносную программу RShell, представленную на рис. 3.9. Воспользовавшись ApateDNS, мы перенаправляем DNS-запросы к домену evil.malwar3.com на локальный компьютер. Если предположить, что вредонос общается с внешним миром через порт 80 (типичная ситуация), мы можем применить Netcat для прослушивания соединений до запуска RShell.

Вредоносные программы часто используют порты 80 или 443 (HTTP и соответственно HTTPS), поскольку они обычно не блокируются и не отслеживаются на предмет исходящего трафика. Пример показан в листинге 3.2.

Листинг 3.2. Пример прослушивания порта 80 с помощью Netcat

C:\> nc --l --p 80

POST /cq/frame.htm HTTP/1.1 Host: www.google.com

User-Agent: Mozilla/5.0 (Windows; Windows NT 5.1; TWFsd2FyZUh1bnRlcg==; rv:1.38) Accept: text/html, application

Accept-Language: en-US, en:q= Accept-Encoding: gzip, deflate Keep-Alive: 300

Content-Type: application/x-form-urlencoded Content-Length

Microsoft Windows XP [Version 5.1.2600]

(C) Copyright 1985-2001 Microsoft Corp.

Z:\Malware>

Команда Netcat (nc) выводит параметры, необходимые для прослушивания порта. Флаг -l означает «слушать», а -p (с номером в конце) определяет номер нужного порта. Вредонос подключается к нашему экземпляру Netcat, потому что мы используем ApateDNS для перенаправления. Программа RShell является командной оболочкой с обратным входом , но она не дает сразу выполнять команды. Сначала через сетевое соединение проходит HTTP-запрос типа POST, направленный по адресу www.google.com ; вероятно, это поддельные данные, которые вставляются для маскировки, так как сетевые аналитики часто смотрят только на начало сессии.