The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Подробно рассмотрен процесс тестирования на проникновение, его виды, этапы, юридический и практический аспекты. Даны советы по согласованию плана тестирования, выбору инструментария. Рассказано о возможностях дистрибутива Kali Linux, его настройке, принципах работы с командной строкой, показаны примеры вызова различных команд и написания скриптов для автоматизации рутинных процессов. Описан процесс сборки виртуальной лаборатории для тестирования на проникновение. С использованием инструментов Kali Linux максимально подробно и последовательно описываются все этапы пентеста: сбор информации, разведка и сканирование, перечисление работающих в целевых системах сервисов и служб, обнаружение уязвимостей, поиск эксплойтов, эксплуатация и постэксплуатация. Отдельный раздел посвящен правильному оформлению отчета о тестировании на проникновение и сопроводительной документации.

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by BHV.RU Publishing House, 2022-08-07 11:51:14

Тестирование на проникновение с Kali Linux

Подробно рассмотрен процесс тестирования на проникновение, его виды, этапы, юридический и практический аспекты. Даны советы по согласованию плана тестирования, выбору инструментария. Рассказано о возможностях дистрибутива Kali Linux, его настройке, принципах работы с командной строкой, показаны примеры вызова различных команд и написания скриптов для автоматизации рутинных процессов. Описан процесс сборки виртуальной лаборатории для тестирования на проникновение. С использованием инструментов Kali Linux максимально подробно и последовательно описываются все этапы пентеста: сбор информации, разведка и сканирование, перечисление работающих в целевых системах сервисов и служб, обнаружение уязвимостей, поиск эксплойтов, эксплуатация и постэксплуатация. Отдельный раздел посвящен правильному оформлению отчета о тестировании на проникновение и сопроводительной документации.

Keywords: Kali Linux,тестирование

Пранав Джоши
Дипаян Чанда

Санкт-Петербург
«БХВ-Петербург»

2022

УДК 004.89
ББК 32.973.26-018

Д42

Джоши, П.
Д42 Тестирование на проникновение с Kali Linux: Пер. с англ. / П. Джоши,

Д. Чанда. — СПб.: БХВ-Петербург, 2022. — 256 с.: ил.

ISBN 978-5-9775-1202-2

Подробно рассмотрен процесс тестирования на проникновение, его виды, эта-
пы, юридический и практический аспекты. Даны советы по согласованию плана
тестирования, выбору инструментария. Рассказано о возможностях дистрибутива
Kali Linux, его настройке, принципах работы с командной строкой, показаны при-
меры вызова различных команд и написания скриптов для автоматизации рутин-
ных процессов. Описан процесс сборки виртуальной лаборатории для тестирова-
ния на проникновение. С использованием инструментов Kali Linux максимально
подробно и последовательно описываются все этапы пентеста: сбор информации,
разведка и сканирование, перечисление работающих в целевых системах сервисов
и служб, обнаружение уязвимостей, поиск эксплойтов, эксплуатация и постэкс-
плуатация. Отдельный раздел посвящен правильному оформлению отчета о тести-
ровании на проникновение и сопроводительной документации.

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

УДК 004.89
ББК 32.973.26-018

Группа подготовки издания:

Руководитель проекта Павел Шалин
Зав. редакцией Людмила Гауль
Компьютерная верстка Ольги Сергиенко
Оформление обложки Зои Канторович

Copyright 2021 BPB Publications, India. All rights reserved.
First published in the English language under the title Penetration Testing with Kali Linux,
ISBN 9789390684793 by BPB Publications India. ([email protected])
Russian translation rights arranged with BPB Publications, India

© 2021 BPB Publications, Индия. Все права защищены.
Впервые опубликовано на английском языке под названием Penetration Testing with Kali Linux,
ISBN 9789390684793 издательством BPB Publications India. ([email protected])
Права на перевод на русский язык предоставлены издательством BPB Publications, Индия

"БХВ-Петербург", 191036, Санкт-Петербург, Гончарная ул., 20

ISBN 978-93-90684-793 (англ.) © BPB Publications, India, 2021
ISBN 978-5-9775-1202-2 (рус.)
© Перевод на русский язык, оформление. ООО "БХВ-Петербург",
ООО "БХВ", 2022

Оглавление

От рецензентов...............................................................................................................11

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

О рецензентах.................................................................................................................18

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

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

Глава 1. Основы тестирования на проникновение ................................................25

Структура .......................................................................................................................................25
Цели ................................................................................................................................................25
Что такое тестирование на проникновение? ...............................................................................26
Предварительные действия для тестирования на проникновение ............................................26
Этапы тестирования на проникновение ......................................................................................27

Сбор информации ..................................................................................................................28
Разведка и сканирование.......................................................................................................28
Исследование уязвимостей ...................................................................................................28
Эксплуатация и получение доступа .....................................................................................28
Постэксплуатация и поддержание доступа .........................................................................28
Документация и отчетность..................................................................................................29
Виды тестирования на проникновение........................................................................................29
Внутреннее тестирование .....................................................................................................29
Внешнее тестирование ..........................................................................................................29
«Черный ящик», «белый ящик» и «серый ящик» ...............................................................29
Настройка виртуальной лаборатории тестирования на проникновение ..................................30
Установка VirtualBox ............................................................................................................31
Настройка сети VirtualBox ....................................................................................................33
Установка Kali Linux .............................................................................................................34
Заключение.....................................................................................................................................39
Вопросы..........................................................................................................................................39

Глава 2. Лаборатория для тестирования на проникновение................................41

Структура .......................................................................................................................................41
Цели ................................................................................................................................................41

6 Оглавление

Целевые машины ...........................................................................................................................42
Настройка целей ....................................................................................................................43
Импорт виртуальных целей .........................................................................................44
Специальная инструкция по импорту Kioptrix: 2014 ................................................45

Концепции, охваченные упражнениями на тестирование .........................................................47
Заключение.....................................................................................................................................48
Контрольные вопросы...................................................................................................................48

Глава 3. Знакомство с Kali Linux ...............................................................................49

Структура .......................................................................................................................................49
Цели ................................................................................................................................................49
Изменение пароля по умолчанию ................................................................................................51
Изменение часового пояса............................................................................................................51
Справка по командам ....................................................................................................................52
Установка, удаление и обновление пакетов................................................................................53

apt search <строка-поиска>...................................................................................................53
apt show <имя пакета>...........................................................................................................54
apt install <имя пакета> .........................................................................................................54
apt remove <имя пакета> .......................................................................................................54
apt update ................................................................................................................................55
apt upgrade..............................................................................................................................56
dpkg .........................................................................................................................................56
Поиск файлов .................................................................................................................................56
locate <имя файла> ................................................................................................................56
whereis <имя файла>..............................................................................................................57
find <каталог поиска> <критерий> <строка поиска> .........................................................57
Управление службами в Kali Linux..............................................................................................58
service <имя службы> start ...................................................................................................58
service <имя службы> restart ................................................................................................58
service <имя службы> status .................................................................................................59
service <имя службы> stop ....................................................................................................59
Обеспечение постоянной работы службы с помощью update-rc.d ...................................60
Основы создания скриптов (сценариев) оболочки .....................................................................60
Подстановка команд ..............................................................................................................60
Цепочка команд и перенаправление ввода, вывода, ошибки ............................................61
Циклы .............................................................................................................................................64
Плагины для браузера ...................................................................................................................65
HackBar V2 .............................................................................................................................67
Cookie Quick Manager............................................................................................................67
Tamper Data for FF Quantum .................................................................................................67
Заключение.....................................................................................................................................68
Вопросы..........................................................................................................................................68

Глава 4. Понимание этапов процесса тестирования ..............................................69

Структура .......................................................................................................................................69
Цели ................................................................................................................................................69
Важность структурированного тестирования на проникновение .............................................70
Фреймворк для тестирования на проникновение .......................................................................71
Этап 1: предварительные действия ..............................................................................................72
Этап 2: планирование....................................................................................................................73

Оглавление 7

Этап 3: сбор информации .............................................................................................................74
Пассивный сбор информации...............................................................................................74
Активный сбор информации ................................................................................................75
Историческая информация ...................................................................................................75

Этап 4: разведка .............................................................................................................................76
Этап 5: составление перечня служб .............................................................................................77

Получение информации NetBIOS ........................................................................................78
Получение информации SNMP ............................................................................................79
Получение информации DNS ...............................................................................................79
Этап 6: исследование уязвимостей ..............................................................................................79
Этап 7: эксплуатация.....................................................................................................................80
Этап 8: отчетность .........................................................................................................................80
Цели тестирования.................................................................................................................81
Предполагаемые заинтересованные стороны .....................................................................81
Краткое резюме......................................................................................................................81
Методология ..........................................................................................................................81
Выводы и связанные с ними подробности ..........................................................................81
Образцы и примеры...............................................................................................................82

Уровни риска.................................................................................................................82
Подробные выводы.......................................................................................................83
Заключение.....................................................................................................................................83
Вопросы..........................................................................................................................................83

Глава 5. Планирование и разведка ............................................................................85

Структура .......................................................................................................................................85
Цели ................................................................................................................................................85
Планирование теста на проникновение.......................................................................................85
Ожидания клиентов.......................................................................................................................86
Объем тестирования ......................................................................................................................86
Способы коммуникации ...............................................................................................................87
Иерархия эскалации в случае возникновения проблем .............................................................87
Ключевой персонал .......................................................................................................................87
Окно тестирования ........................................................................................................................88
Ограничения тестирования...........................................................................................................88
Разведка ..........................................................................................................................................89
DC:7 ................................................................................................................................................90
Digitalworld.local:Joy .....................................................................................................................96
Kioptrix:5 ......................................................................................................................................100
HackInOS:1 ...................................................................................................................................103
Sunset:Nightfall .............................................................................................................................105
Mumbai:1 ......................................................................................................................................108
Заключение...................................................................................................................................110
Вопросы........................................................................................................................................110

Глава 6. Составление перечня и сканирование служб.........................................111

Структура .....................................................................................................................................111
Цели ..............................................................................................................................................111
ДС-7 ..............................................................................................................................................111
Digitalworld.local: Joy ..................................................................................................................116
Kioptrix:5 ......................................................................................................................................123
HackInOS:1 ...................................................................................................................................127

8 Оглавление

Sunset: Nightfall ............................................................................................................................131
Mumbai:1 ......................................................................................................................................137
Заключение...................................................................................................................................145
Вопросы........................................................................................................................................145

Глава 7. Исследование уязвимостей ........................................................................147

Структура .....................................................................................................................................147
Цели ..............................................................................................................................................147
DC-7 ..............................................................................................................................................148
Digitalworld.local:Joy ...................................................................................................................153
Kioptrix:5 ......................................................................................................................................157
HackInOS:1 ...................................................................................................................................162
Sunset:Nightfall .............................................................................................................................167
Mumbai:1 ......................................................................................................................................170
Заключение...................................................................................................................................173
Вопросы........................................................................................................................................174

Глава 8. Эксплуатация ...............................................................................................175

Структура .....................................................................................................................................175
Цели ..............................................................................................................................................175
DC-7 ..............................................................................................................................................176
Digitalworld.local:Joy ...................................................................................................................179
Kioptrix:5 ......................................................................................................................................187
HackInOS:1 ...................................................................................................................................192
Sunset:Nightfall .............................................................................................................................194
Mumbai:1 ......................................................................................................................................196
Заключение...................................................................................................................................198
Вопросы........................................................................................................................................198

Глава 9. Постэксплуатация .......................................................................................199

Структура .....................................................................................................................................199
Цели ..............................................................................................................................................199
DC-7 ..............................................................................................................................................200
Digitalworld.local:Joy ...................................................................................................................202
Kioptrix:5 ......................................................................................................................................206
HackInOS:1 ...................................................................................................................................209
Sunset:Nightfall .............................................................................................................................213
Mumbai:1 ......................................................................................................................................218
Заключение...................................................................................................................................222
Вопросы........................................................................................................................................222

Глава 10. Отчет ............................................................................................................223

Структура .....................................................................................................................................223
Цели ..............................................................................................................................................223
Составление отчетов ...................................................................................................................224
Заинтересованные стороны ........................................................................................................224

Исполнительный менеджмент............................................................................................224
Технический персонал ........................................................................................................225
Аудиторы и службы надзора ..............................................................................................225
Что можно и чего нельзя делать при тестировании на проникновение .................................225
Что можно делать ................................................................................................................226

Определять приоритеты факторов риска..................................................................226

Оглавление 9

Повышать квалификацию ..........................................................................................226
Не преуменьшать значение отчета............................................................................226
Участвовать в устранении обнаруженных уязвимостей .........................................227
Обязательно сделать резервную копию всех ваших данных..................................227
Чего нельзя делать ...............................................................................................................228
Быть неэтичным..........................................................................................................228
Не соглашаться с результатами тестирования .........................................................228
Не соблюдать ограничения объема тестирования ...................................................229
Устанавливать большие промежутки в графике тестирования или проводить
тестирование исключительно для соблюдения требований соответствия ............229
Использовать неавторизованные инструменты и скрипты.....................................230
Заключение...................................................................................................................................230
Вопросы........................................................................................................................................230

ОТЧЕТ ПО РЕЗУЛЬТАТАМ ТЕСТА НА ПРОНИКНОВЕНИЕ (пример)......................231
Детали проекта.....................................................................................................................233
Список версий.............................................................................................................233
Список рассылки ........................................................................................................233
Информация о команде тестирования ......................................................................233
Информация о представителях заказчика ................................................................234
Объем работ .........................................................................................................................234
Сроки исполнения проекта ........................................................................................234
Окно тестирования .....................................................................................................234
Ограничения теста ......................................................................................................234
Методология тестирования.................................................................................................234
Этап 1: определение объема и планирование ..........................................................235
Этап 2: сбор информации и разведка........................................................................235
Этап 3: составление перечня и сканирование служб...............................................236
Этап 4: исследование уязвимостей ...........................................................................236
Этап 5: эксплуатация..................................................................................................236
Этап 6: отчетность ......................................................................................................236
Стандартные определения ..................................................................................................237
Рейтинг уязвимостей ...........................................................................................................237
Краткое резюме....................................................................................................................238
Графическое представление результатов тестирования .........................................238
Список уязвимостей ...................................................................................................238
Обобщенный анализ ...................................................................................................239
Стратегические рекомендации ..................................................................................239
Техническое резюме............................................................................................................240
Низкий уровень — 1...................................................................................................240
Низкий уровень — 2...................................................................................................241
Высокий уровень — 1 ................................................................................................242
Высокий уровень — 2 ................................................................................................244
Низкий уровень — 3...................................................................................................245
Средний уровень — 1.................................................................................................246
Средний уровень — 2.................................................................................................247
Высокий уровень — 3 ................................................................................................248
Высокий уровень — 4 ................................................................................................249
Ссылки ..................................................................................................................................250

Предметный указатель...............................................................................................251

10 Оглавление

От рецензентов

Дайана Келли (Diana Kelley). Каждый предприниматель должен знать ответы
на критически важные вопросы: «Насколько безопасны мои онлайн- и мобиль-
ные приложения?», «Есть ли риски для принадлежащих моей компании дан-
ных?», «Могут ли клиенты безопасно приобретать мои услуги?»
Если ответы на эти вопросы известны, мы, безусловно, должны благодарить
специалистов по тестированию на проникновение (пентестеров) за их тяжелую
работу.
Концепция тестирования на проникновение кажется достаточно экзотичной, или
«крутой», особенно для тех, кто раньше его не выполнял. На практике тестиро-
вание на проникновение может быть весьма сложным и требующим усилий.
Тесты часто ограничены по времени, и если вы не заметили неладное, то это не
означает, что работа сделана хорошо. Напротив, рекомендуется посмотреть по-
глубже и попробовать другие инструменты, чтобы убедиться, что охвачены все
области приложения, и настолько глубоко, насколько это возможно! Кроме того,
есть вечные вопросы: «Откуда мы знаем, что проверили все?» и «Как понять,
что приложение протестировано полностью?»
Именно поэтому книга, которую вы собираетесь прочитать, является важным
ресурсом. Она написана Дипаяном Чанда и Пранавом Джоши, признанными
профессионалами в области кибербезопасности, которые провели сотни тестов
на проникновение, руководили крупными командами по тестированию и много-
му научились на этом пути. Большой опыт Дипаяна и Пранава вдохновил их на
написание этой книги, которая послужит вашим гидом в мире пентестинга.
Основываясь на многолетнем опыте тестирования в реальной жизни, они смогли
определить методом проб и ошибок, что работает, а что — нет, и сформулиро-
вали практические рекомендации в рамках использования Kali Linux в качестве
платформы для тестирования.
Если вы новичок в тестировании на проникновение, эта книга содержит все не-
обходимое для того, чтобы начать. Если вы уже занимались пентестом, предло-
женный фреймворк и эмпирический опыт прольют свет на пути усовершенство-
вания ваших навыков и помогут освоить новые подходы.

12 От рецензентов

Как любит говорить Дипаян, «тестирование на проникновение всегда говорит
правду; это мера, с помощью которой мы оцениваем, привела наша тяжелая ра-
бота по дизайну и воплощению приложения к созданию надежной и безопасной
системы, или нет». У вас в руках пошаговое руководство, которое поможет ус-
тановить эту истину.

Берджесс Сэм Купер (Burgess Sam Cooper): Сегодня тестирование на проник-
новение востребовано более чем когда-либо. Поле деятельности взломщиков
быстро расширяется, а злоумышленники становятся все моложе. Информацион-
ная безопасность также развивается как область деятельности. Кроме того,
больше не нужно обладать техническими знаниями, чтобы атаковать цель, атаки
можно приобрести в Даркнете как услугу.

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

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

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

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

Так что доставайте свои виртуальные машины и позвольте Дипаяну и Пранаву
вести вас в путешествие, полное открытий!

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

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

От рецензентов 13

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

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

Независимо от того, являетесь ли вы студентом или специалистом по кибербе-
зопасности, эта книга познакомит вас с основными концепциями тестирования
на проникновение, которые часто используются в комплексных имитациях атак
(так называемый Red Teaming). Потребовались смелость и самоотверженность,
чтобы создать печатный труд, в котором удивительно просто объясняется сквоз-
ной процесс и различные этапы тестирования на проникновение.

Надеюсь, эта книга пробудит интерес к более глубокому изучению тестирования
на проникновение и обмену знаниями с широким сообществом кибербезопас-
ности.

Удачи вам, если вы сделали шаг, чтобы поделиться своими мыслями и опытом
с другими.

14 От рецензентов

Посвящается всем кибервоинам:
тем, кто выполняет свою часть работы,
чтобы сделать Интернет более безопасным местом



Об авторах

Пранав Джоши обладает более чем 20-летним опытом работы в области ин-
формационной и кибербезопасности, был руководителем и участником крупно-
масштабных проектов в различных сферах бизнеса, таких как банковское дело,
финансы, национальные фондовые биржи, страхование, энергетика, нефтехи-
мия, розничная торговля, СМИ, реклама, электронная коммерция, IT/ITES, пра-
вительственные и оборонные организации, включая компании из списка Fortune
100. На предыдущей должности он отвечал за управление безопасностью ин-
формационных активов, инфраструктуры и приложений в 65 странах и за со-
кращение инцидентов в данной области. Пранаву приписывают обнаружение
нескольких раскрытых и нераскрытых уязвимостей безопасности во многих
популярных корпоративных продуктах, информация о которых опубликована
ведущими корпорациями в области кибербезопасности, профессиональными
организациями и государственными учреждениями, такими как IBM Xforce,
SecurityFocus, ExploitDB, Национальная база данных уязвимостей — Министер-
ство торговли США, Агентство кибербезопасности и безопасности инфраструк-
туры — Министерство внутренней безопасности США.

Дипаян Чанда, опытный специалист по кибербезопасности, архитектор и стра-
тег в области кибербезопасности, а также консультант, твердо намеренный
решать проблемы кибербезопасности для предприятий. Благодаря более чем
24-летнему опыту работы в различных областях, связанных с безопасностью,
ему удалось найти баланс между кибербезопасностью и бизнес-целями. Бывший
сотрудник вооруженных сил (ВВС Индии), в настоящее время работает в На-
циональном банке Австралии. Он также работал в Standard Chartered Bank и во
многих других крупных транснациональных корпорациях, занимающихся про-
дуктами и безопасностью, демонстрируя лидерство в реализации проектов и ре-
шений. Внес значительный вклад в отрасль в качестве наставника и советника
для многих стартапов в области кибербезопасности и является автором несколь-
ких книг.

О рецензентах

Аджай Кумар (Ajay Kumar) — региональный руководитель службы кибербе-
зопасности в Азии компании Crowdstrike, базирующейся в Сингапуре. Ранее
он работал в компании Entrust Datacard в качестве регионального управляю-
щего директора в Азиатско-Тихоокеанском регионе и директора по маркетингу
в Азиатско-Тихоокеанском регионе. Аджай получил награду «Национальные
лидеры в области маркетинга» от Chief Marketing Officer (CMO) Asia Council
и награду «Самые влиятельные лидеры в области маркетинга технологий» от
Всемирного конгресса по маркетингу в 2016 году.

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

Является руководителем сингапурского отделения Совета по безопасности дан-
ных Индии (DSCI), некоммерческой отраслевой организации по кибербезопас-
ности и настройке защиты данных NASSCOM®, которая стремится сделать
киберпространство безопасным, защищенным и надежным, внедряя передовой
опыт, стандарты и инициативы в области информационной безопасности и кон-
фиденциальности.

Аджай является экспертом в области платежей, кибербезопасности, корпоратив-
ных технологий и конфиденциальности данных, обладает более чем 21-летним
профессиональным опытом.

Имеет степень магистра Института управленческих исследований в г. Газиабад
по управлению бизнесом в области маркетинга и прошел программу для руко-
водителей Индийского института менеджмента в Ахмадабаде. Также имеет сер-
тификаты программы Fintech бизнес-школы Said в Оксфорде и программы «Ис-
кусственный интеллект в финансовой сфере» в Центре финансов, технологий
и предпринимательства (CFTE), Лондон.

Форам Мехта (Phoram Mehta) — директор по информационной безопасности
PayPal в Азиатско-Тихоокеанском регионе. Опытный профессионал и техниче-
ский руководитель с более чем двадцатилетним стажем в области информаци-
онной безопасности, Форам сыграл важную роль в создании безопасных техно-

О рецензентах 19

логических решений для нескольких компаний в различных секторах, включая
финансовые услуги, здравоохранение, телекоммуникации и правительственные
организации в Северной Америке и Азиатско-Тихоокеанском регионе.

Форам также курирует Глобальную программу управления техническими рис-
ками PayPal и инициативы в области исследований информационной безопасно-
сти и маркетинга (Infosec Research и Outreach). В настоящее время является пре-
зидентом Ассоциации аудита и контроля информационных систем в Сингапуре
(ISACA Singapore) и консультирует стартапы по кибербезопасности в Сингапу-
ре, Индии и США.

Берджесс Сэм Купер (Burgess Sam Cooper) — заместитель руководителя отде-
ла кибербезопасности и партнер по консультационным услугам, компания EY,
регион EMEIA.

Берджесс Купер — партнер и руководитель Cyber Security Market с командой из
более чем 600 профессионалов. У него более 23 лет опыта работы по защите
крупнейших мировых брендов от потенциальных кибератак.

Ранее в EY он был директором по информационной безопасности в Vodafone и
HSBC и отвечал за информационную безопасность, конфиденциальность и со-
блюдение нормативных требований в секторах телекоммуникаций и BFSI.

Он выступакт в качестве постоянного спикера и члена жюри на известных от-
раслевых мероприятиях, таких как BCCI, ASSOCHAM, CII, CISO и E-crime, а
также является сертифицированным тренером EC-Council Master Trainer CEI для
отраслевых сертификационных курсов CISO.

Карьера Дайаны Келли (Diana Kelley) в сфере кибербезопасности насчиты-
вает более 30 лет. Она является соучредителем и техническим директором
SecurityCurve, также посвящает значительную часть своего времени волонтер-
ской работе в сообществе кибербезопасности, в том числе работе в Комитете по
этике и плагиату ACM. Дайана является техническим директором и членом ис-
полнительного совета в Sightline Security, членом исполнительного совета рабо-
чей группы по включению в WiCyS, членом исполнительного консультативного
совета в Cyber Future Foundation, советником Комитета по кибербезопасности
CompTIA, Консультативного совета Колледжа науки и математики Бартлетта,
Государственного университета Бриджуотер и Программного комитета США
RSAC. Дайана — продюсер сериала «#MyCyberWhy», ведущая программы
BrightTALK «The (Security) Balancing Act» и соведущая подкаста «Your Everyday
Cyber». Она также является главным аналитиком-консультантом в TechVision
Research и членом The Analyst Syndicate. Ранее она занимала различные долж-
ности, такие как технический директор по кибербезопасности в Microsoft,
глобальный исполнительный советник по безопасности в IBM Security, гене-
ральный менеджер в Symantec, вице-президент в Burton Group (теперь Gartner)
и менеджер в KPMG. Она является востребованным ключевым докладчиком и
соавтором книг «Практическая архитектура кибербезопасности» и «Криптогра-
фические библиотеки для разработчиков», была лектором магистерской про-

20 О рецензентах

граммы Бостонского колледжа по кибербезопасности и была удостоена званий
«Руководитель года EWF 2020» и одна из «100 Очаровательных женщин — бор-
цов с киберпреступностью» по версии Cybersecurity Ventures.

Редактор и рецензент русскоязычного издания книги — Шалин Павел Андрее-
вич — в течение 8 лет работал в штате антивирусной компании «Доктор Веб»,
где занимался исследованием и описанием различных уязвимостей и вредонос-
ных программ. Является автором 48 книг на компьютерную тематику и более
400 публикаций в различных СМИ, большая часть из которых написана под
литературным псевдонимом Валентин Холмогоров. В настоящее время работает
редактором популярного журнала «Хакер», посвященного вопросам кибербезо-
пасности, расследования киберинцидентов и защиты информации.

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

Хочу поблагодарить нескольких человек, которые оказывали мне постоянную под-
держку во время написания этой книги. Прежде всего, я хотел бы поблагодарить
жену за то, что она терпела меня, пока я проводил много выходных и вечеров за
работой. Без ее поддержки я бы никогда не закончил книгу.
Эта книга также не появилась бы без поддержки некоторых моих коллег и настав-
ников, особенно Дайаны Келли, Аджая Кумара, Форама Мехты, Берджесса Купера
и Пранава Джоши (соавтора). Моя благодарность всем им.
Наконец, я хотел бы выразить благодарность издательству BPB Publications за пре-
доставленную мне возможность написать эту книгу.

Дипаян Чанда

Выражаю искреннюю благодарность моей семье и друзьям, которые неизменно
поддерживали меня и помогали на протяжении всего моего пути. Без их поддерж-
ки, терпения и непоколебимой приверженности я бы не смог стать тем, кем яв-
ляюсь сегодня.
Я хотел бы поблагодарить моих родителей и жену за тот постоянный поток вдох-
новения и поддержки, которые побуждают меня выполнять эту работу и многое
другое; моим сыну и дочери, чьи глупые выходки делают жизнь беззаботной и
заставляют меня с нетерпением ожидать каждого дня.
Наконец, я благодарен Дипаяну Чанде (соавтору) и команде BPB за поддержку,
оказанную при написании этой книги. Эта работа была бы невозможна без всех
вас!

Пранав Джоши

Предисловие

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

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

В этой книге эксперты по безопасности и исследователи Пранав Джоши и Дипаян
Чанда научат вас навыкам, процедурам и методам, необходимым каждому специа-
листу по пентестингу. С помощью набора виртуальных машин, включающих Kali
Linux и тестовые машины с уязвимыми операционными системами, вы сможете
выполнить множество практических заданий с использованием таких инструмен-
тов, как Nmap, сканеры уязвимостей и Burp Suite.

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

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

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

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

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

В процессе чтения 10 глав этой книги вы изучите следующие темы:

Глава 1. Основы тестирования на проникновение

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

Глава 2. Лаборатория для тестирования на проникновение

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

Глава 3. Знакомство с Kali Linux

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

Глава 4. Понимание этапов процесса тестирования

Эта глава познакомит аудиторию с различными этапами методологии процесса тес-
тирования на проникновение.

Глава 5. Планирование и разведка

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

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

Глава 6. Составление перечня и сканирование служб

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

Глава 7. Исследование уязвимостей

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

Глава 8. Эксплуатация

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

Глава 9. Постэксплуатация

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

Глава 10. Отчет

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

ГЛАВА 1

Основы тестирования
на проникновение

Термин «тестирование на проникновение», также широко известный как пен-
тестинг или PT, используется в отрасли уже несколько десятилетий, доказывая
свою значимость. Он является составной частью более крупного зонтичного поня-
тия IT-безопасности. Это форма моделирования атаки, в ходе которой специалисты
по безопасности пытаются идентифицировать и атаковать уязвимости в приложе-
ниях, инфраструктуре, сети или любом другом IT-оборудовании, а также использо-
вать их для получения доступа и закрепления в информационной среде организа-
ции.
Целью такой симуляции атаки является определение брешей в реализации безопас-
ности или механизмах защиты сетевого периметра, которые могут быть использо-
ваны неавторизованными лицами со скрытыми мотивами.

Структура

В этой главе мы коснемся следующих тем:
Тестирование на проникновение и его виды.
Необходимость и важность тестирования на проникновение.
Предварительные мероприятия и этапы.
Установка VirtualBox, настройка лабораторной сети и импорт виртуальных ма-
шин.

Цели

Прочитав эту главу, вы сможете:
Получить обзор базовой теории тестирования на проникновение и общеприня-
той отраслевой терминологии.
Изучить типы тестов на проникновение.
Получить обзор действий, которые входят в тест на проникновение.

26 Глава 1

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

Что такое тестирование на проникновение?

Тестирование на проникновение не следует путать с оценкой уязвимостей
(Vulnerability Assessment, VA), которая ограничивается перечислением выявленных
уязвимостей и не углубляется в их использование. Оценка уязвимостей может
предшествовать тестам на проникновение, но это требование не является абсолют-
ным, т. к. тесты на проникновение могут выполняться как с предварительной оцен-
кой VA, так и без нее.

Тест на проникновение может проводиться по-разному, в зависимости от потреб-
ностей и масштаба проекта, но в целом типичное взаимодействие по пентесту на-
чинается со сбора специалистом по безопасности информации о целях злоумыш-
ленников в данной области. Цели исследуются для обнаружения имеющихся
служб, которые затем систематически проверяются на выявление слабых мест в их
безопасности. Затем выявленные слабые места исследуются и оцениваются с целью
анализа рейтинга риска, доступности вредоносных программ, определения техники
взлома, надежности и потенциального воздействия. После этого пентестер пытает-
ся получить доступ к цели, используя выбранные вредоносные программы и экс-
плойты. Если эксплуатация прошла успешно и злоумышленник смог закрепиться
в системе, тестировщик определит уровень доступа и дополнительно проверит сис-
тему, пытаясь выявить проблемы безопасности, недостатки конфигурации или
конфиденциальную информацию, которая может помочь в дальнейшем повышении
уровня доступа, локально или на любых взаимосвязанных целях в исследуемой се-
ти. Большинство фаз не являются последовательными, и, следовательно, пентестер
может перемещаться между ними по мере необходимости. И последнее, но не ме-
нее важное: необходимо документировать все действия на всех этапах в течение
пентеста. Документирование должно включать тип сканирования, используемый
инструментарий, сделанные наблюдения, первоначальные выводы, какие возникли
пробелы, как использовалась каждая система. Пентестеры должны предоставить
подробное описание всего процесса вместе с подтверждающими доказательствами
на этапе отчетности.

Предварительные действия
для тестирования на проникновение

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

Основы тестирования на проникновение 27

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

Определение области действия. Всякий раз, когда вы планируете начать какую-
либо деятельность по тестированию, очень важно согласовать и определить ее об-
ласть между тестировщиком и стороной, запрашивающей тестирование. В частно-
сти, к такой информации относятся места, из которых должно выполняться тести-
рование, диапазоны IP-адресов, сведения о системе и названия приложений, а так-
же URL-адреса ресурсов, подвергаемых тестированию. Сроки выполнения тестов
очень важны для выполнения действий по тестированию в рамках оговоренного
временного окна, чтобы избежать любого непреднамеренного или случайного про-
стоя критически важных систем (если клиентом однозначно не заявлено любое
время и окно без ограничений). Помимо того, что входит в сферу деятельности
пентестера, также важно, чтобы в контракте, где это необходимо, были определены
действия, выходящие за рамки договора (брутфорс, т. е. атаки перебором паролей
с использованием «грубой силы», DDoS-атаки на отказ в обслуживании и действия
после компрометации, такие как загрузка шелл-скриптов, локальная эксплуатация
уязвимостей или повышение привилегий).

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

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

Этапы тестирования на проникновение

Тест на проникновение — сложное упражнение, включающее в себя различные ви-
ды деятельности, такие как зондирование, сканирование, поиск и исследование
уязвимостей, а также получение доступа к ним. Конкретные действия выбираются
в зависимости от типа цели и информации, полученной в процессе разведки.

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

28 Глава 1

проведение тестирования разбито на несколько этапов, которые позволяют пенте-
стеру организовать мысли и действия во время тестирования.

Рассмотрим типичные этапы теста на проникновение:

Сбор информации

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

Разведка и сканирование

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

Исследование уязвимостей

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

Эксплуатация и получение доступа

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

Постэксплуатация и поддержание доступа

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

Основы тестирования на проникновение 29

Документация и отчетность

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

Виды тестирования на проникновение

Тестирование на проникновение может выполняться с различными сценариями,
и они в основном зависят от области тестирования.

Внутреннее тестирование

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

Внешнее тестирование

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

«Черный ящик», «белый ящик» и «серый ящик»

Тестирование на проникновение в «черный ящик» — сценарий взаимодействия,
при котором пентестеру не предоставляется предварительная информация о целях
или доступ к целевой системе. Пентестеры должны самостоятельно собрать всю
информацию о целях посредством анализа общедоступной информации и поиска
данных в открытых источниках (Open source intelligence, OSINT). Эта форма тести-

30 Глава 1

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

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

Тест на проникновение в «серый ящик», как следует из названия, представляет со-
бой сочетание тестирования на проникновение в «черный» и «белый» «ящики».
Пентестеру предоставляется общая информация о целевом приложении или инфра-
структуре, включая такие сведения, как URL-адрес, IP-адреса, используемые тех-
нологии, учетные данные с ограниченным доступом и т. д. Предоставление такой
информации приводит к значительному сокращению времени, затрачиваемому
специалистом на аналитическую работу, за счет эффективного устранения необхо-
димости в разведке и анализе исходного кода/конфигурации/логики/архитектуры,
в отличие от тестирования типа «черный ящик» и «белый ящик».

Настройка виртуальной лаборатории
тестирования на проникновение

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

Наша лаборатория будет основана на наборе инструментов для тестирования на
проникновение VirtualBox (https://www.virtualbox.org/) с Kali Linux (https://www.
kali.org/).

Основы тестирования на проникновение 31

Установка VirtualBox

Для создания виртуальной тестовой лаборатории вы будете использовать Oracle
VirtualBox с открытым исходным кодом. На момент написания книги мы использо-
вали версию 6.0, но когда вы будете создавать свою собственную лабораторию,
можете использовать последнюю доступную версию (рис. 1.1).

Рисунок 1.1. Oracle VirtualBox 6.0

VirtualBox доступна для различных операционных систем, в этой книге мы про-
должим работу с версией для Windows. Файлы можно скачать по адресу
https://www.virtualbox.org/wiki/Downloads.

На веб-странице выберите Windows hosts для загрузки установщика под Windows
(рис. 1.2).

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

Основы тестирования на проникновение 33

После завершения установки VirtualBox можно создать свою конфигурацию, для
этого выберите опцию Preferences (вы также можете нажать <Ctrl>+<G> на кла-
виатуре) и выполните соответствующие настройки (рис. 1.4).

Настройка сети VirtualBox

В нашей лаборатории будет использоваться сеть с NAT. Чтобы ее создать, откройте
окно настроек (Preferences на панели инструментов). На левой панели выберите
параметр Network, здесь вы можете создать новую, удалить старую или отредакти-
ровать существующую сеть NatNetwork по своему выбору, указав один из трех пара-
метров на правой панели (рис. 1.5).

Рисунок 1.5. Создание виртуальной сети NAT
Рисунок 1.6. Окно настроек сети VirtualBox

34 Глава 1

Двойной щелчок в окне NAT открывает новое окно, в котором можно настроить
сетевое имя и диапазон IP-адресов, используемых для лабораторной сети. Мы вы-
берем имя NatNetwork, диапазон IP-адресов 10.0.2.0 и префикс CIDR /24 (рис. 1.6).

Установка Kali Linux

После завершения установки и настройки VirtualBox давайте перейдем к установке
нашей первой виртуальной машины Kali Linux. Kali — это операционная система
на базе Linux, предварительно настроенная для целей тестирования на проникнове-
ние. Все тесты и упражнения в этой книге основаны на использовании Kali Linux и
других целевых виртуальных машин (подробнее о целевых виртуальных машинах
рассказано в других главах). Последние версии дистрибутива образов Kali Linux
можно скачать с сайта https://www.kali.org/downloads/. В нашем случае мы выбра-
ли виртуальную платформу VirtualBox, поэтому образ Kali Linux должен быть со-
вместим с VirtualBox. Этот образ можно найти по адресу https://www.offensive-
security.com/kali-linux-vm-vmware-virtualbox-image-download/ (для нашей лабо-
ратории мы будем использовать 64-битную версию, как показано на рис. 1.7). На
момент написания этой книги была доступна версия 2019.3.

Рисунок 1.7. Загрузка Kali Linux

После того как вы загрузили файл OVA (Open Virtual Appliance, формат файлов
виртуальных машин), совместимый с VirtualBox, давайте продолжим следовать
приведенным ниже инструкциям, чтобы настроить его как виртуальную машину
в VirtualBox.
Обратитесь к панели инструментов VirtualBox, показанной на рис. 1.3 выше, сейчас
мы будем использовать параметр импорта для создания виртуальной машины Kali
Linux, указав местоположение загруженного файла OVA. Следуйте инструкциям на
экране, как показано на рис. 1.8.

Основы тестирования на проникновение 35

Рисунок 1.8. Опция импорта виртуальной машины в VirtualBox

Для продолжения щелкните на кнопке Next. На следующем экране отображаются
все параметры и сведения о виртуальной машине, здесь можно изменить несколько
параметров. Выберите расположение базовой папки, в которую виртуальная маши-
на будет извлечена из образа OVA и сохранена, после этого щелкните на кнопке
Import, чтобы начать импорт виртуальной машины (рис. 1.9).

После завершения импорта виртуальная машина появится на левой панели. Выбе-
рите Kali Linux VM, чтобы отобразить параметры виртуальной машины на правой
панели (рис. 1.10).

После установки виртуальной машины продолжите настройку сети, подключив
Adapter 1 к сети NAT и к сети, которую вы создали на предыдущем шаге (как по-
казано на рис. 1.11).

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

36 Глава 1

Рисунок 1.9. Импорт виртуальной машины

Запуск виртуальной машины можно выполнить, дважды щелкнув имя запускаемой
виртуальной машины в окне VirtualBox. Также можно щелкнуть правой кнопкой
мыши на имени виртуальной машины, в контекстном меню перейти в подменю
Start и выбрать опцию Normal Start, после чего откроется новое окно и запустится
процесс загрузки.
Чтобы выключить виртуальную машину, нужно щелкнуть на кнопке Закрыть и
выбрать в открывшемся окне Send the shutdown signal (отправить сигнал выклю-
чения). Это приведет к отправке сигнала выключения ACPI на виртуальную маши-
ну, которая запускает процесс выключения в операционной системе (рис. 1.12).
В тех случаях, когда выключение виртуальной машины нежелательно, вы можете
использовать параметр Save the machine state (Сохранить состояние машины), при
выборе которого будет сделан моментальный снимок (снапшот) состояния машины,
и он будет сохранен на жестком диске. Эта опция эквивалентна режиму гибернации

Основы тестирования на проникновение 39

в Windows, т. е. все открытые программы и службы остаются активными, поэтому
вы можете возобновить работу с того места, на котором остановились.

Теперь установка завершена, и мы можем приступить к тестированию на проник-
новение (рис. 1.13).

Заключение

В этой главе представлен обзор тестирования на проникновение, рассмотрены дос-
тупные типы тестирования, этапы тестирования и соответствующие им действия.
В главе также рассматривалась установка VirtualBox, настройка лабораторной сети
и импорт виртуальной машины Kali.

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

Вопросы

1. Что такое тестирование на проникновение и почему оно так важно?
2. Почему тест на проникновение разбит на несколько этапов?
3. Какой диапазон IP-адресов использовался для настройки сети виртуальной

лаборатории?

40 Глава 1

ГЛАВА 2

Лаборатория для тестирования
на проникновение

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

ПРИМЕЧАНИЕ
Главы в этой книге составлены так, чтобы синхронизировать различные этапы тести-
рования на проникновение, но рекомендуется проследить за каждой машиной до
завершения процесса, прежде чем пытаться перейти к следующей. Хотя это, конечно,
не является обязательным, тем не менее такой подход позволит читателю ориентиро-
ваться в потоке информации и полностью усвоить методику путем повторения практи-
ческих заданий.

Структура

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

Цели

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

42 Глава 2

Целевые машины

Целевые машины, представленные в этой книге, были тщательно отобраны, чтобы
максимально разнообразить читательский опыт, представляя множество вариантов
их использования. Это сделано для того, чтобы читатель постепенно приобретал
различные навыки тестирования на проникновение в процессе обучения.
Для задач этой книги целевые машины будут загружены с VulnHub, открытого
репозитория уязвимых целевых машин (рис. 2.1). Его веб-сайт www.vulnhub.com
представляет собой репозиторий с возможностью поиска, хранящий сотни
тщательно разработанных уязвимых машин, сгруппированных по уровням опыта
тестировщика, от новичка до эксперта.

Рисунок 2.1. Сайт www.vulnhub.com

В этой главе мы научимся устанавливать несколько целевых машин, доступных на
VulnHub, в нашу виртуальную лабораторную среду.
В табл. 2.1 перечислены целевые виртуальные машины, описанные в книге.

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

Лаборатория для тестирования на проникновение 43

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

Наименование машины Страница на VulnHub
DC: 7 https://www.vulnhub.com/entry/dc-7,356/
Kioptrix: 2014 (#5) https://www.vulnhub.com/entry/kioptrix-2014-5,62/
Digitalworld.local: Joy https://www.vulnhub.com/entry/digitalworldlocal-joy,298/
HackInOS: 1 https://www.vulnhub.com/entry/hackinos-1,295/
Sunset: Nightfall https://www.vulnhub.com/entry/sunset-nightfall,355/
Mumbai: 1 https://www.vulnhub.com/entry/mumbai-1,372/

Таблица 2.1. Целевые машины

Настройка целей

Ссылки для загрузки каждой целевой машины можно найти на ее веб-странице по
адресу, указанному в табл. 2.1, в разделе загрузки (рис. 2.2).

Рисунок 2.2. Установка целевой виртуальной машины DС:7

44 Глава 2

Виртуальные образы на сайте VulnHub могут быть сжаты, в этом случае вам, воз-
можно, придется распаковать соответствующие файлы zip/rar/bz2 в папку с по-
мощью 7-zip или любого другого инструмента по вашему выбору.
7-zip — бесплатное программное обеспечение, которое можно загрузить по ссылке
https://www.7-zip.org/download.html.
Импорт виртуальных целей
После загрузки и извлечения соответствующего образа ВМ вы сможете начать про-
цесс импорта. Щелкните File/Import или нажмите <Ctrl>+<I> в приложении
VirtualBox, чтобы открыть окно импорта, перейдите к соответствующей папке и
щелкните на файл с расширением .ova. В разделе Appliance settings (Настройки
устройства) появятся все параметры конфигурации из файла .ova. Теперь вы може-
те начать процесс импорта, нажав кнопку Import в нижней части окна (рис. 2.3).
По завершении процесса импорта вы должны увидеть только что импортирован-
ную машину на левой панели (рис. 2.4).

Рисунок 2.3. Параметры DC-7

Лаборатория для тестирования на проникновение 45

Рисунок 2.4. Виртуальная машина DC-7

Специальная инструкция по импорту Kioptrix: 2014
Машина Kioptrix:2014 была создана для работы на VMware, поэтому нам нужно
будет проделать ряд дополнительных действий, чтобы заставить ее работать на
VirtualBox.
Загрузите и извлеките виртуальную машину kiop2014.tar.bz2 и kiop2014_fix.zip
с сайта VulnHub в какую-нибудь папку, затем дважды щелкните на строке файла
kioptrix2014.vbox Virtual Michine Definition (Определение виртуальной машины),
чтобы импортировать настройки в VirtualBox (рис. 2.5).

Рисунок 2.5. Настройки импорта Kioptrix

Виртуальный жесткий диск этой машины отображается некорректно, поэтому,
прежде чем мы сможем использовать этот образ, необходимо исправить ошибку.
Для этого щелкните на IDE Primary Master (Основной мастер-диск IDE) и укажи-
те параметр Choose a disk file (Выбрать файл диска) в выпадающем меню, чтобы
открыть окно браузера.
Перейдите к расположению виртуальной машины Kioptrix и откройте файл
kioptrix2014.vmdk, чтобы устранить проблему (рис. 2.6).
Теперь заменим неизвестную нам созданную разработчиками конфигурацию этой
машины на настройки для использования в уже созданной ранее сети NAT. Для
этого откройте настройки ВМ, щелкнув правой кнопкой мыши имя ВМ, и выберите
Settings (Настройки) либо имя ВМ, а затем нажмите кнопку Settings в меню.

Предметный указатель

A E

Active Directory 227 ECDSA 194
Apache 179 enum4linux 120, 132
ARP 100, 104
Arp-scan 76 G

B GNU C 207

Banner Grabbing 77 H
BurpSuite 160, 190
HackBar 190
C Hydra 133

ClientCorp I
◊ Графическое представление результатов
ICMP echo 91
тестирования 238 IDS/IPS 72
◊ Детали проекта 233
◊ Краткое резюме 238 J
◊ Методология тестирования 234
◊ Обобщенный анализ 239 John the Ripper 211, 216
◊ Объем работ 234
◊ Рейтинг уязвимостей 237 K
◊ Список уязвимостей 238
◊ Стандартные определения 237 Kali Linux 30, 34, 89
◊ Стратегические рекомендации 239 ◊ Загрузка 49
◊ Техническое резюме 240 ◊ Изменение пароля 51
Community Strings 79 ◊ Изменение часового пояса 51
Cron 200 ◊ Основы создания скриптов оболочки 60
◊ Поиск файлов 56
D ◊ Рабочий стол 50
◊ Синхронизация и обновление пакетов 56
DNS 74 ◊ Удаление пакетов 54
Dropbear 179, 180 ◊ Управление службами 58
Drupal 176, 200
Drush 176

252 Предметный указатель S

Kali Linux (прод.) Searchsploit 179, 207
◊ установка пакетов 53 Simple Network Management Protocol, SNMP
◊ Установка пакетов 54
Kioptrix:2014 45 79
Kоманды менеджера пакетов apt SMB 120, 131, 167
SNMP (Simple Network Management
в Kali Linux
◊ Apt search 53 Protocol) 120
SSH 93
L Standard Error (STDERR) 62
Standard Input (STDIN) 62
LinEnum 213, 218 Standard Output (STDOUT) 62
Start of Authority Record (SOA) 75
M SUID 210
SYN 102
Man page 52
Metasploit 181, 202 U
Mozilla Firefox
◊ плагины, добавление 66 UDP 79, 98
Upgrade 56
N URLencoding 189
User-agent 160
Nano 216 User-Agent Switcher and Manager 160
NAT 33
Nbtstat 79 V
Netbios 120
NetBIOS 78 VirtualBox 30, 49
Netcat 77, 92, 188, 192 VirtualHost 159
Netdiscover 77 Vulnerability Assessment, VA 26
Network Management System (NMS) 79 VulnHub 42
Nikto 131
Nmap 97 W
NMap 76
Wfuzz 164
O WHOIS 28, 74
WordPress 127
OpenSSH 93 Wpscan 139
Ossec 119
OVA (Open Virtual Appliance) 34 X

P Xmlrpc 140

pChart 124, 187 Z
pChart2.1.3 157
Pentestmonkey 189 Zenmap 109
PHPTax 160, 206
ProFTPD 179, 202

R

Remote File Inclusion (RFI) 77
Rockyou 133

Предметный указатель 253

А М

Активный сбор информации 75 Машина DC-7 90
Методология тестирования, ClientCorp
Б ◊ Исследование уязвимостей 236
◊ Обзор 234
Белый ящик 30 ◊ Определение объема и планирование 235
Боковое перемещение 28 ◊ Отчетность 236
Бэкдор 28 ◊ Сбор информации и разведка 235
◊ Составление перечня и сканирование
В
служб 236
Внешнее тестирование 29 ◊ Эксплуатация 236
Внутреннее тестирование 29
Н
З
Настройки импорта Kioptrix 45
Заинтересованные стороны, этап
отчетности О

◊ Аудиторы и службы надзора 225 Оболочка, скрипты 60
◊ Исполнительный менеджмент 224 Объем тестирования, ClientCorp
◊ Технический персонал 225 ◊ Обзор 234
◊ Ограничения теста 234
И ◊ Окно тестирования 234
◊ Сроки исполнения проекта 234
Инсайдерская атака 29 Отчет о тестировании на проникновение
◊ Проект ClientCorp 231
К
П
Команда dpkg 56
Команды менеджера пакетов apt Пассивный сбор информации 74
Перенаправление ввода 62
в Kali Linux Перенаправление вывода
◊ apt install <имя пакета> 54
◊ apt remove <имя пакета> 54 c помощью оператора | 62
◊ apt show <имя пакета> 54 Плагины для браузера 65
◊ apt update 56 ◊ Cookie Quick Manager 67
◊ apt upgrade 56 ◊ HackBar 67
Команды поиска файлов в Kali Linux ◊ Tamper data for FF Quantum 67
◊ find <каталог поиска> <критерий> Подстановка команд 60
Получение
<строка поиска> 57 ◊ данных DNS 79
◊ locate <имя файла> 56 ◊ информации SNMP 79
◊ whereis <имя файла> 57 Постэксплуатация 199
Команды управления службами в Kali Linux ◊ DC-7 200
◊ service <имя службы> restart 58 ◊ Digitalworld.local
◊ service <имя службы> start 58
◊ service <имя службы> status 59 Joy 202
◊ service <имя службы> stop 59 ◊ HackInOS
◊ update-rc.d 60
1 209
◊ Kioptrix

5 206

254 Предметный указатель Ц

Постэксплуатация (прод.) Целевые виртуальные машины 42
◊ Mumbai ◊ Krioptrix2014
◊ Импорт 45
1 218 ◊ Импорт виртуальных целей 44
◊ Sunset ◊ Настройка целей 43
Цепочки команд 61
Nightfall 213 Циклы
Предварительные действия, тестирование ◊ о циклах 64
◊ создание цикла for loop 64
на проникновение
◊ Обзор 72 Ч

С Черный ящик 29

Серый ящик 30 Э
Составление перечня служб
◊ Ключевые действия 78 Этап исследования уязвимостей 79
◊ Типы служб и ресурсов 77 Этап отчетности, тестирование
Стандартные определения, ClientCorp
◊ Риск 237 на проникновение
◊ Угроза 237 ◊ Заинтересованные стороны 224
◊ Уязвимость 237 ◊ Обзор 224
Структура тестирования Этап планирование, тестирование
◊ Значение 70
◊ Построение 70 на проникновение
◊ Обзор 73
Т ◊ Иерархия эскалации 87
◊ Ключевой персонал 87
Тестирование на проникновение 25 ◊ Коммуникации 87
◊ Структура тестирования 70 ◊ Ограничения тестирования 88
◊ Цикл тестирования 71 ◊ Ожидания 86
◊ Чего нельзя делать 228 ◊ Окно тестирования 88
◊ Что можно делать 226 Этап поиска уязвимостей, сканирование
◊ Этапы тестирования 71
Техническое резюме, ClientCorp на проникновение
◊ Высокий уровень — 1 242 ◊ Mumbai
◊ Высокий уровень — 2 244
◊ Высокий уровень — 3 248 1 170
◊ Высокий уровень — 4 249 ◊ Digitalworld.local
◊ Низкий уровень — 1 240
◊ Низкий уровень — 2 241 Joy 153
◊ Низкий уровень — 3 245 ◊ HackInOS
◊ Средний уровень — 1 246
◊ Средний уровень— 2 247 1 162
◊ Kioptrix
Ф
5 157
Фаззинг 164, 171 ◊ Sunset
Фреймворк для тестирования 71
Nightfall 167
◊ ВС-7 148
Этап разведки, тестирование

на проникновение
◊ DC-7 90
◊ Digitalworld.local

Joy 96

Предметный указатель 255

◊ HackInOS ◊ Digitalworld.local
1 103 Joy 116

◊ Kioptrix ◊ HackInOS
5 100 1 127

◊ Mumbai ◊ Kioptrix
1 108 5 123

◊ Sunset ◊ Mumbai
Nightfall 106 1 137

◊ Обзор 76, 89 ◊ Sunset
◊ объем тестирования 86 Nightfall 131
Этап сбора информации
◊ Активный сбор 75 Этап эксплуатации
◊ Историческая информация 75 ◊ Выводы 82
◊ Обзор 74 ◊ Обзор 80
◊ Пассивный сбор 74 ◊ Kioptrix
Этап составления отчета, тестирование
5 187
на проникновение ◊ DC-7 176
◊ Выводы и связанные с ними ◊ Digitalworld.local

подробности 81 Joy 179
◊ Заинтересованные стороны 81 ◊ HackOnOS
◊ Краткое резюме 81
◊ Методология 81 1 192
◊ Обзор 80 ◊ Mumbai
◊ Подробные выводы 83
◊ Примеры 82 1 196
◊ Уровни риска 82 ◊ Sunset
◊ Цели тестирования 81
Этап составления перечня служб Nightfall 194
◊ действия 77 Этапы, пентестинг
◊ Обзор 77 ◊ Исследование уязвимостей 79
◊ Получение информации DNS 79 ◊ Отчетность 80
◊ Получение информации NetBios 78 ◊ Планирование 73
◊ Получение информации SNMP 79 ◊ Предварительные действия 72
◊ DC-7 111 ◊ Разведка 76
◊ Сбор информации 74
◊ Составление перечня служб 77
◊ Эксплуатация 80


Click to View FlipBook Version