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

 

 

324  Часть IV  •  Возможности вредоносного ПО

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

 

 

 

 

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

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

Итоги главы

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

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

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

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

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

Проанализируйте зараженный файл Lab13-01.exe.

Вопросы

1.Сравните строки во вредоносном коде (полученные с помощью команды strings) с информацией, извлеченной в ходе динамического анализа. На основе этого сравнения определите, какие элементы могут быть закодированы.

2.Поищите с помощью IDA Pro строку xor, чтобы обнаружить код, который потенциально может заниматься кодированием. Какие виды кодирования

вы нашли?

 

 

 

 

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

 

 

Глава 13. Кодирование данных  325

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

3.Какие данные кодируются и какой ключ для этого используется?

4.Проведите статический анализ с использованием инструментов FindCrypt2, Krypto ANALyzer (KANAL) и IDA Entropy, чтобы определить любые другие механизмы кодирования. Что вам удалось найти?

5.Каким образом кодируется сетевой трафик, отправляемый вредоносом?

6.Найдите функцию Base64 в дизассемблированном коде.

7.Какова максимальная длина отправляемых данных, закодированных методом Base64?

8.Встречаются ли в этой вредоносной программе данные в кодировке Base64 с символами отступа (= или ==)?

9.Каково назначение этого вредоноса?

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

Проанализируйте зараженный файл Lab13-02.exe.

Вопросы

1.С помощью динамического анализа определите, что создает этот вредонос.

2.Попробуйте поискать участок, потенциально отвечающий за кодирование, используя статические методики, такие как поиск xor, а также инструменты FindCrypt2, KANAL и IDA Entropy. Что вам удалось найти?

3.Какой вызов импорта, по вашему мнению, может помочь в поиске кодирующих функций (с учетом ответа на вопрос 1)?

4.На каком участке дизассемблированного кода находится функция кодирования?

5.Проследите данные от функции кодирования к их источнику. Что это за данные?

6.Можете ли вы найти алгоритм, который используется для кодирования? Если нет, то каким образом можно декодировать данные?

7.Можете ли вы восстановить исходный источник одного из зашифрованных файлов с помощью инструментирования?

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

Проанализируйте зараженный файл Lab13-03.exe.

Вопросы

1.Сравните вывод утилиты strings с результатами динамического анализа. На основе этого сравнения определите, какие элементы могут быть зако-

дированными.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

w

 

 

to

 

 

326  Часть IV  •  Возможности вредоносного ПО

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

 

 

 

 

2.Используйте статический анализ (поиск строк xor), чтобы найти код, который может заниматься кодированием. Какие методы кодирования вы обнаружили?

3.Определите любые другие механизмы кодирования, применяя такие статические инструменты, как FindCrypt2, KANAL и IDA Entropy. Сравните свои находки с результатами, полученными в пункте 2.

4.Этот вредонос использует два способа кодирования. Какие именно?

5.Какой ключ используется в каждом из них?

6.Достаточно ли только ключа в случае с криптографическим алгоритмом? Что еще может потребоваться?

7.Каково назначение этого вредоноса?

8.Напишите код для расшифровки данных, сгенерированных во время ди-

намического анализа. Что это за данные?