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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

D

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

Майкл Сикорски, Эндрю Хониг

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

Вскрытие покажет! Практический анализ вредоносного ПО

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Серия «Для профессионалов»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перевел с английского С. Черников

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заведующая редакцией

Ю. Сергиенко

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ведущий редактор

Н. Гринчик

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Научный редактор

С. Сиротко

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Литературный редактор

И. Купцевич

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Художественный редактор

С. Заматевская

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Корректоры

Е. Павлович, Т. Радецкая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Верстка

Г. Блинов

 

 

 

 

 

 

 

 

 

 

 

 

 

ББК 32.988.02-018-07 УДК 004.7:004.056.57

Сикорски М., Хониг Э.

С35 Вскрытие покажет! Практический анализ вредоносного ПО. — СПб.: Питер, 2018. — 768 с.: ил. — (Серия «Для профессионалов»).

ISBN 978-5-4461-0641-7

АнализвредоносногоПОнапоминаетигрувкошки-мышки:никакихправил,ситуацияпостоянноменяется. Поэтому в данном случае имеет смысл изучать лишь неустаревающие вещи и алгоритмы. Как только перед вами встает задача защитить сеть (или тысячу сетей), вы приступаете к такому анализу, и без этой книги вам попросту не обойтись.

16+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)

ISBN 978-1593272906 англ.

© 2012 by Michael Sikorski and Andrew Honig.

 

Practical Malware Analysis, ISBN 978-1-59327-290-6,

 

published by No Starch Press.

ISBN 978-5-4461-0641-7

© Перевод на русский язык ООО Издательство «Питер», 2018

 

© Издание на русском языке, оформление ООО Издательство

 

«Питер», 2018

 

© Серия «Для профессионалов», 2018

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

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

Изготовлено в России. Изготовитель: ООО «Прогресс книга». Место нахождения и фактический адрес: 194044, Россия, г. Санкт-Петербург, Б. Сампсониевский пр., д. 29А, пом. 52. Тел.: +78127037373. Дата изготовления: 06.2018. Наименование: книжная продукция. Срок годности: не ограничен. Налоговая льгота — общероссийский классификатор продукции ОК 034-2014, 58.11.12 —

Книги печатные профессиональные, технические и научные.

Импортер в Беларусь: ООО «ПИТЕР М», 220020, РБ, г. Минск, ул. Тимирязева, д. 121/3, к. 214, тел./факс: 208 80 01. Подписано в печать 24.05.18. Формат 70×100/16. Бумага офсетная. Усл. п. л. 61,920. Тираж 1000. Заказ 0000.

Отпечатано в ОАО «Первая Образцовая типография». Филиал «Чеховский Печатный Двор». 142300, Московская область, г. Чехов, ул. Полиграфистов, 1.

Сайт: www.chpk.ru. E-mail: marketing@chpk.ru Факс: 8(496) 726-54-10, телефон: (495) 988-63-87

 

 

 

 

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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Краткое содержание

 

Внимание!.....................................................................................................................

12

Об авторах....................................................................................................................

13

Предисловие.................................................................................................................

15

Благодарности..............................................................................................................

18

Введение.......................................................................................................................

19

Глава 0. Анализ вредоносных программ для начинающих ..........................................

24

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

 

Глава 1. Основные статические методики ..................................................................

30

Глава 2. Анализ вредоносных программ в виртуальных машинах ...............................

52

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

62

Часть II. Продвинутый статический анализ

 

Глава 4. Ускоренный курс по ассемблеру для архитектуры x86 ..................................

88

Глава 5. IDA Pro .......................................................................................................

111

Глава 6. Распознавание конструкций языка C в ассемблере .....................................

135

Глава 7. Анализ вредоносных программ для Windows ..............................................

160

Часть III. Продвинутый динамический анализ

 

Глава 8. Отладка .....................................................................................................

192

Глава 9. OllyDbg .......................................................................................................

205

Глава 10. Отладка ядра с помощью WinDbg .............................................................

232

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

 

Глава 11. Поведение вредоносных программ ...........................................................

258

Глава 12. Скрытый запуск вредоносного ПО ............................................................

282

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

297

Глава 14. Сетевые сигнатуры, нацеленные на вредоносное ПО ...............................

327

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

 

Глава 15. Антидизассемблирование .........................................................................

358

Глава 16. Антиотладка .............................................................................................

382

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

400

Глава 18. Упаковщики и распаковка .........................................................................

415

Часть VI. Специальные темы

 

Глава 19. Анализ кода командной оболочки ............................................................

438

Глава 20. Анализ кода на C++ ..................................................................................

458

Глава 21. Шестидесятичетырехбитные вредоносные программы ..............................

471

Приложения

 

Приложение А. Важные функции Windows ..............................................................

482

Приложение Б. Инструменты для анализа вредоносного ПО ...................................

491

Приложение В. Решения лабораторных работ .........................................................

502

 

 

 

 

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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Оглавление

Внимание!...................................................................................................................

12

Об авторах..................................................................................................................

13

О техническом редакторе...........................................................................................

13

О соавторах...............................................................................................................

14

Предисловие..............................................................................................................

15

Благодарности...........................................................................................................

18

Отдельное спасибо.....................................................................................................

18

Введение.....................................................................................................................

19

В чем заключается анализ вредоносного ПО..............................................................

20

Необходимая квалификация.......................................................................................

20

Изучение на примерах...............................................................................................

21

Структура книги.........................................................................................................

21

Глава 0. Анализ вредоносных программ для начинающих ..........................................

24

Цель анализа вредоносных программ.........................................................................

24

Методики анализа вредоносного ПО..........................................................................

25

Типы вредоносного ПО...............................................................................................

26

Общие правила анализа вредоносного ПО.................................................................

28

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

 

Глава 1. Основные статические методики ..................................................................

30

Сканирование антивирусом: первый шаг....................................................................

30

Хеширование: отпечатки пальцев злоумышленника...................................................

31

Поиск строк................................................................................................................

32

Упакованное и обфусцированное вредоносное ПО.....................................................

34

Формат переносимых исполняемых файлов................................................................

36

Компонуемые библиотеки и функции.........................................................................

36

Статический анализ на практике................................................................................

40

Заголовки и разделы PE-файла..................................................................................

43

Итоги главы...............................................................................................................

49

 

 

 

 

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

 

 

 

 

 

 

 

to

 

 

 

 

 

w

7Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Глава 2. Анализ вредоносных программ в виртуальных машинах ...............................

52

Структура виртуальной машины.................................................................................

53

Запуск виртуальной машины для анализа вредоносного ПО.......................................

54

Использование виртуальной машины для анализа безопасности................................

57

Риски при использовании VMware для анализа безопасности.....................................

60

Запись/воспроизведение работы компьютера............................................................

60

Итоги главы...............................................................................................................

61

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

62

Песочницы: решение на скорую руку.........................................................................

62

Запуск вредоносных программ...................................................................................

65

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

66

Просмотр процессов с помощью Process Explorer........................................................

70

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

74

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

75

Перехват пакетов с помощью Wireshark.....................................................................

78

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

79

Применение основных инструментов для динамического анализа..............................

81

Итоги главы...............................................................................................................

84

Часть II. Продвинутый статический анализ

 

Глава 4. Ускоренный курс по ассемблеру для архитектуры x86 ..................................

88

Уровни абстракции.....................................................................................................

88

Обратное проектирование..........................................................................................

90

Архитектура x86.........................................................................................................

91

Итоги главы.............................................................................................................

110

Глава 5. IDA Pro .......................................................................................................

111

Загрузка исполняемого файла..................................................................................

112

Интерфейс IDA Pro...................................................................................................

113

Использование перекрестных ссылок.......................................................................

119

Анализ функций.......................................................................................................

121

Схематическое представление.................................................................................

122

Повышение эффективности дизассемблирования.....................................................

124

Плагины к IDA Pro....................................................................................................

129

Итоги главы.............................................................................................................

132

Глава 6. Распознавание конструкций языка C в ассемблере .....................................

135

Переменные: локальные и глобальные....................................................................

136

Дизассемблирование арифметических операций......................................................

138

Распознавание выражений if....................................................................................

139

Распознавание циклов.............................................................................................

142

Соглашения, касающиеся вызова функций...............................................................

144

Анализ выражений switch.........................................................................................

148

Дизассемблирование массивов.................................................................................

152

Распознавание структур...........................................................................................

153

Анализ обхода связного списка................................................................................

156

Итоги главы.............................................................................................................

158

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

8  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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Глава 7. Анализ вредоносных программ для Windows ..............................................

160

Windows API.............................................................................................................

160

Реестр Windows........................................................................................................

164

API для работы с сетью............................................................................................

169

Отслеживание запущенной вредоносной программы................................................

171

Сравнение режимов ядра и пользователя................................................................

185

Native API.................................................................................................................

186

Итоги главы.............................................................................................................

188

Часть III. Продвинутый динамический анализ

 

Глава 8. Отладка .....................................................................................................

192

Сравнение отладки на уровне исходного и дизассемблированного кода...................

192

Отладка на уровне ядра и пользователя..................................................................

193

Использование отладчика........................................................................................

193

Исключения.............................................................................................................

201

Управление выполнением с помощью отладчика.....................................................

202

Изменение хода выполнения программы на практике..............................................

203

Итоги главы.............................................................................................................

204

Глава 9. OllyDbg .......................................................................................................

205

Загрузка вредоносного ПО.......................................................................................

205

Пользовательский интерфейс OllyDbg......................................................................

207

Карта памяти...........................................................................................................

208

Просмотр потоков и стеков......................................................................................

211

Выполнение кода.....................................................................................................

212

Точки останова........................................................................................................

214

Загрузка динамических библиотек...........................................................................

218

Трассировка.............................................................................................................

219

Обработка исключений............................................................................................

222

Редактирование кода...............................................................................................

222

Анализ кода командной оболочки............................................................................

224

Вспомогательные возможности................................................................................

224

Подключаемые модули.............................................................................................

225

Отладка с использованием скриптов........................................................................

228

Итоги главы.............................................................................................................

229

Глава 10. Отладка ядра с помощью WinDbg .............................................................

232

Драйверы и код ядра...............................................................................................

232

Подготовка к отладке ядра.......................................................................................

234

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

237

Отладочные символы Microsoft.................................................................................

239

Отладка ядра на практике........................................................................................

242

Руткиты....................................................................................................................

248

Загрузка драйверов..................................................................................................

253

Особенности ядра в Windows Vista, Windows 7 и 64-битных версиях........................

254

Итоги главы.............................................................................................................

255

 

 

 

 

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

 

 

 

 

Оглавление  

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

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w

9Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Глава 11. Поведение вредоносных программ ...........................................................

258

Программы для загрузки и запуска ПО.....................................................................

258

Бэкдоры...................................................................................................................

258

Похищение учетных данных.....................................................................................

262

Механизм постоянного присутствия.........................................................................

269

Повышение привилегий...........................................................................................

274

Заметая следы: руткиты, работающие в пользовательском режиме.........................

276

Итоги главы.............................................................................................................

279

Глава 12. Скрытый запуск вредоносного ПО ............................................................

282

Загрузчики...............................................................................................................

282

Внедрение в процесс................................................................................................

283

Подмена процесса....................................................................................................

286

Внедрение перехватчиков........................................................................................

288

Detours.....................................................................................................................

291

Внедрение асинхронных процедур...........................................................................

292

Итоги главы.............................................................................................................

294

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

297

Зачем нужно анализировать алгоритмы кодирования..............................................

297

Простые шифры.......................................................................................................

298

Распространенные криптографические алгоритмы...................................................

309

Нестандартное кодирование....................................................................................

314

Декодирование........................................................................................................

318

Итоги главы.............................................................................................................

324

Глава 14. Сетевые сигнатуры, нацеленные на вредоносное ПО ...............................

327

Сетевые контрмеры..................................................................................................

327

Безопасное расследование вредоносной деятельности в Интернете.........................

330

Контрмеры, основанные на сетевом трафике...........................................................

332

Углубленный анализ................................................................................................

334

Сочетание динамических и статических методик анализа........................................

338

Понимание психологии злоумышленника.................................................................

353

Итоги главы.............................................................................................................

354

Часть V. Противодействие обратному

 

проектированию

 

Глава 15. Антидизассемблирование .........................................................................

358

Понимание антидизассемблирования.......................................................................

358

Искажение алгоритмов дизассемблирования............................................................

360

Методики антидизассемблирования.........................................................................

364

Скрытие управления потоком...................................................................................

371

Срыв анализа слоя стека..........................................................................................

377

Итоги главы.............................................................................................................

379

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

10 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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Глава 16. Антиотладка .............................................................................................

382

Обнаружение отладчика в Windows.........................................................................

382

Распознавание поведения отладчика.......................................................................

387

Искажение работы отладчика..................................................................................

390

Уязвимости отладчиков............................................................................................

395

Итоги главы.............................................................................................................

397

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

400

Признаки присутствия VMware.................................................................................

400

Уязвимые инструкции...............................................................................................

404

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

411

Побег из виртуальной машины.................................................................................

412

Итоги главы.............................................................................................................

412

Глава 18. Упаковщики и распаковка .........................................................................

415

Анатомия упаковщика..............................................................................................

415

Распознавание упакованных программ.....................................................................

419

Способы распаковки.................................................................................................

420

Автоматизированная распаковка..............................................................................

420

Ручная распаковка...................................................................................................

421

Советы и приемы для работы с распространенными упаковщиками.........................

430

Анализ без полной распаковки.................................................................................

434

Упакованные DLL.....................................................................................................

435

Итоги главы.............................................................................................................

435

Часть VI. Специальные темы

 

Глава 19. Анализ кода командной оболочки ............................................................

438

Загрузка кода командной оболочки для анализа......................................................

438

Позиционно-независимый код..................................................................................

439

Определение адреса выполнения.............................................................................

440

Поиск символов вручную..........................................................................................

444

Окончательная версия программы Hello World..........................................................

450

Кодировки кода командной оболочки.......................................................................

452

NOP-цепочки............................................................................................................

454

Поиск кода командной оболочки..............................................................................

454

Итоги главы.............................................................................................................

456

Глава 20. Анализ кода на C++ ..................................................................................

458

Объектно-ориентированное программирование.......................................................

458

Обычные и виртуальные функции............................................................................

463

Создание и уничтожение объектов...........................................................................

467

Итоги главы.............................................................................................................

468

Глава 21. Шестидесятичетырехбитные вредоносные программы ..............................

471

Какой смысл в 64-битном вредоносном ПО?.............................................................

471

Особенности архитектуры x64..................................................................................

472

WOW64....................................................................................................................

477

Признаки вредоносного кода на платформе x64.......................................................

478

Итоги главы.............................................................................................................

479

 

 

 

 

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

 

 

 

 

 

 

to

 

 

 

 

 

11Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Приложение А. Важные функции Windows ..............................................................

482

Приложение Б. Инструменты для анализа вредоносного ПО ...................................

491

Приложение В. Решения лабораторных работ .........................................................

502

Работа 1.1............................................

502

Работа 1.2............................................

504

Работа 1.3............................................

505

Работа 1.4............................................

506

Работа 3.1............................................

507

Работа 3.2............................................

511

Работа 3.3............................................

516

Работа 3.4............................................

518

Работа 5.1............................................

520

Работа 6.1............................................

528

Работа 6.2............................................

530

Работа 6.3............................................

534

Работа 6.4............................................

538

Работа 7.1............................................

541

Работа 7.2............................................

545

Работа 7.3............................................

547

Работа 9.1............................................

558

Работа 9.2............................................

568

Работа 9.3............................................

574

Работа 10.1..........................................

578

Работа 10.2..........................................

583

Работа 10.3..........................................

590

Работа 11.1..........................................

596

Работа 11.2..........................................

601

Работа 11.3..........................................

611

Работа 12.1..........................................

617

Работа 12.2..........................................

621

Работа 12.3..........................................

629

Работа 12.4..........................................

631

Работа 13.1..........................................

639

Работа 13.2..........................................

644

Работа 13.3..........................................

650

Работа 14.1..........................................

660

Работа 14.2..........................................

666

Работа 14.3..........................................

671

Работа 15.1..........................................

679

Работа 15.2..........................................

680

Работа 15.3..........................................

686

Работа 16.1..........................................

689

Работа 16.2..........................................

695

Работа 16.3..........................................

700

Работа 17.1...........................................

705

Работа 17.2...........................................

708

Работа 17.3...........................................

713

Работа 18.1..........................................

720

Работа 18.2..........................................

721

Работа 18.3..........................................

722

Работа 18.4..........................................

725

Работа 18.5..........................................

727

Работа 19.1..........................................

731

Работа 19.2..........................................

734

Работа 19.3..........................................

739

Работа 20.1..........................................

748

Работа 20.2..........................................

749

Работа 20.3..........................................

753

Работа 21.1..........................................

759

Работа 21.2..........................................

764

 

 

 

 

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

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Внимание!

Эта книга посвящена вредоносным программам. Ссылки и приложения, описываемые здесь, являются опасными. Будьте крайне осторожны при выполнении неизвестного кода или посещении сомнительных веб-страниц.

Советы по созданию виртуальной среды для анализа безопасности перечислены в главе 2. Не будьте беспечными — защитите свою систему.