Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

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

Покупка
Артикул: 739797.01.99
К покупке доступен более свежий выпуск Перейти
Данная книга представляет собой руководство по защите веб-приложений от вредоносных воздействий. Рассматривая всевозможные уязвимости с позиции злоумышленника, автор дает читателям ключ к надежной защите своих ресурсов. В книге рассматриваются наиболее часто встречающиеся уязвимости и показано, как хакер может использовать их в своих целях. Наряду с этим приводятся практические советы по предупреждению атак. Рассмотрены сценарии, в которых целью атаки может быть популярная система управления контентом или контейнерное приложение и его сеть. Издание предназначено опытным разработчикам веб-приложений, специалистам по DevOps, а также будет полезно всем читателям, интересующимся ха-керскими атаками и их противодействию.
Прутяну, Э. Как стать хакером: сборник практических сценариев, позволяющих понять, как рассуждает злоумышленник : практическое руководство / Э. Прутяну ; пер. с анг. Д. А. Беликова. - Москва : ДМК Пресс, 2020. - 380 с. - ISBN 978-5-97060-802-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1094954 (дата обращения: 26.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Эдриан Прутяну

Как стать хакером

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

Becoming the Hacker

The Playbook for Getting Inside the Mind  
of the Attacker

Adrian Pruteanu

BIRMINGHAM – MUMBAI

Как стать хакером

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

Эдриан Прутяну

Перевод с английского Беликова Д. А.

 Москва, 2020

УДК    004.382
ББК    32.973-018
П85

П85     Эдриан Прутяну

Как стать хакером: Сборник практических сценариев, позволяющих понять, как 
рассуждает злоумышленник / пер. с англ. Д. А. Беликова – М.: ДМК Пресс, 2020. – 
380 с.: ил.

         ISBN 978-5-97060-802-9

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

 
 
 
 
 
 
 
                 УДК    004.382
 
 
 
 
 
 
 
                  ББК   32.973-018

Copyright ©Packt Publishing 2019. First published in the English language under the title 
«Becoming the Hacker» – (9781788627962).

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

ISBN 978-1-78862-796-2 (англ.)                        Copyright © 2019 Packt Publishing.
ISBN 978-5-97060-802-9 (рус.)                          © Оформление, перевод на русский язык, издание, 
 
                   ДМК Пресс, 2020

Оглавление

Об авторе ................................................................................................................................9

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

Предисловие от издательства ...........................................................................................11
Отзывы и пожелания .............................................................................................. 11
Список опечаток ...................................................................................................... 11
Нарушение авторских прав .................................................................................... 11

Предисловие .........................................................................................................................12
Кому адресована эта книга .............................................................................12
О чем идет речь в книге ..................................................................................12
Как извлечь максимум из книги? ...................................................................13
Загрузка примеров ..........................................................................................14
Загрузка цветных изображений .....................................................................14
Условные обозначения ....................................................................................15

Глава 1. Атаки на веб-приложения. Введение .................................................................16
Правила применения оружия .........................................................................17

Обмен данными ...................................................................................................... 18
Вопросы конфиденциальности данных ................................................................ 20
Очистка .................................................................................................................... 21

Инструментарий тестировщика .....................................................................22

Kali Linux .................................................................................................................. 23
Альтернативы Kali Linux ......................................................................................... 23

Прокси-сервер .................................................................................................25

Burp Suite.................................................................................................................. 25
Zed Attack Proxy ....................................................................................................... 26

Облачная инфраструктура ..............................................................................27
Дополнительные источники ...........................................................................28
Упражнения .....................................................................................................29
Резюме ..............................................................................................................29

Глава 2. Эффективное обнаружение ................................................................................31
Типы тестирования .........................................................................................31
Построение карты сети ...................................................................................33

Masscan ..................................................................................................................... 35
hatWeb ...................................................................................................................... 37
Nikto ......................................................................................................................... 37
CMS-сканеры ........................................................................................................... 38

Эффективная атака методом полного перебора ...........................................39

 Оглавление

Средства сканирования .......................................................................................... 42
Постоянное картирование контента...................................................................... 46
Обработка полезной нагрузки ................................................................................ 49

«Полиглот» .......................................................................................................59

Тот же вирус, но другой контекст ........................................................................... 64
Запутывание (обфускация) кода ............................................................................ 66

Дополнительные источники ...........................................................................68
Упражнения .....................................................................................................69
Резюме ..............................................................................................................69

Глава 3. Легкая добыча .......................................................................................................70
Анализ сети ......................................................................................................70

Ищем вход ................................................................................................................ 73
Определение учетных данных ............................................................................... 75
Есть способ получше ............................................................................................... 82
Очистка .................................................................................................................... 86

Дополнительные ресурсы ...............................................................................87
Резюме ..............................................................................................................87

Глава 4. Продвинутые способы атаки с использованием метода полного  
перебора ...............................................................................................................................89
Распыление подбора пароля ...........................................................................89

Спросим LinkedIn .................................................................................................... 92
Метаданные ............................................................................................................. 96
Кассетная бомба ...................................................................................................... 97

За семью прокси-серверами .........................................................................101

Tor ............................................................................................................................102
ProxyCannon ............................................................................................................109

Резюме ............................................................................................................114

Глава5. Внедрение файлов .............................................................................................. 115
Удаленное внедрение файлов .......................................................................116
Локальное внедрение файлов .......................................................................118
Внедрение файла для удаленного выполнения кода ..................................127
Другие проблемы, связанные с загрузкой файлов ......................................129
Резюме ............................................................................................................134

Глава 6. Обнаружение и эксплуатация уязвимостей в приложениях с помощью 
внешних сервисов............................................................................................................. 135
Распространенный сценарий .......................................................................136
Командно-контрольный сервер ...................................................................137
Центр сертификации Let’s Encrypt ...............................................................139
INetSim ...........................................................................................................143
Подтверждение ..............................................................................................148
Асинхронное извлечение данных ................................................................149

Оглавление  7

Построение выводов на основе анализа данных ........................................152
Резюме ............................................................................................................154

Глава 7. Автоматизированное тестирование ................................................................ 155
Расширение функциональных возможностей Burp Suite ...........................155

Нелегальная аутентификация и злоупотребление учетными записями ...........158
Швейцарский нож ..................................................................................................162

Запутывание кода ..........................................................................................169
Collaborator ....................................................................................................172

Открытый сервер ...................................................................................................173
Выделенный сервер Collaborator ...........................................................................179

Резюме ............................................................................................................184

Глава 8. Вредоносная сериализация .............................................................................. 186
Использование десериализации ..................................................................186
Атака на пользовательские протоколы ........................................................194

Анализ протокола ...................................................................................................195
Эксплойт для осуществления атаки ......................................................................199

Резюме ............................................................................................................206

Глава 9. Практические атаки на стороне клиента ....................................................... 208
Правила ограничения домена ......................................................................208
Совместное использование ресурсов разными источниками ...................212
Межсайтовый скриптинг ..............................................................................214

XSS-атака, основанная на отраженной уязвимости ............................................214
Постоянный XSS .....................................................................................................215
DOM-модели ...........................................................................................................217

Межсайтовая подделка запроса ...................................................................219
BeEF ................................................................................................................222

Перехват ..................................................................................................................227
Атаки с применением методов социальной инженерии ....................................231
Кейлоггер ................................................................................................................234
Закрепление в системе ..........................................................................................240
Автоматическая эксплуатация ..............................................................................242
Туннелирование трафика ......................................................................................247

Резюме ............................................................................................................249

Глава 10. Практические атаки на стороне сервера ..................................................... 250
Внутренние и внешние ссылки ....................................................................251
Атаки XXE .......................................................................................................253

Атака billion laughs .................................................................................................253
Подделка запроса ...................................................................................................255
Сканер портов.........................................................................................................259
Утечка информации ...............................................................................................262
«Слепой» XXE ..........................................................................................................268
Удаленное выполнение кода .................................................................................273

 Оглавление

Резюме ............................................................................................................279

Глава 11. Атака на API ....................................................................................................... 280
Протоколы передачи данных .......................................................................281

SOAP ........................................................................................................................282
REST .........................................................................................................................284

Аутентификация с помощью API .................................................................286

Базовая аутентификация .......................................................................................286
Ключи API ...............................................................................................................287
Токены на предъявителя ........................................................................................288
JWT ..........................................................................................................................288
JWT4B ......................................................................................................................293
Postman ...................................................................................................................295
Установка ................................................................................................................297
Вышестоящий прокси-сервер ...............................................................................299
Среда выполнения ..................................................................................................300
Коллекции ...............................................................................................................302
Запуск коллекции ...................................................................................................308

Факторы атаки ...............................................................................................310
Резюме ............................................................................................................312

Глава 12. Атака на CMS ..................................................................................................... 313
Оценка приложения ......................................................................................314

WPScan ....................................................................................................................314
sqlmap ......................................................................................................................321
Droopescan ..............................................................................................................322
Arachni .....................................................................................................................324

Взлом кода с помощью бэкдора ...................................................................327

Закрепление в системе ..........................................................................................328
Утечка учетных данных .........................................................................................339

Резюме ............................................................................................................349

Глава 13. Взлом контейнеров ......................................................................................... 350
Сценарий уязвимости в Docker ....................................................................353
Плацдарм .......................................................................................................354
Осведомленность о ситуации .......................................................................362
Взлом контейнера .........................................................................................371
Резюме ............................................................................................................377

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

Об авторе

Эдриан Прутяну (Adrian Pruteanu) – опытный консультант по вопросам 
безопас ности и специалист, работающий в основном в области наступательной безопасности. За свою более чем десятилетнюю карьеру он создал бесчисленное количество упражнений для тренировок Красной команды и заданий, 
связанных с тестированием на проникновение и с оценкой безопасности приложений. Он регулярно работает с компаниями из списка «Fortune 500», помогая им защитить свои системы, выявляя уязвимости или проводя обратную 
разработку образцов вредоносного программного обеспечения. Эдриан является обладателем нескольких сертификатов, в том числе CISSP, OSCE, OSCP, 
GXPN, GREM, а также нескольких сертификатов от компании Microsoft. Будучи 
сертифицированным тренером Microsoft, он проводил в том числе индивидуальные занятия для различных клиентов в прошлом.

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

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

Также я хотел бы выразить отдельную благодарность семье и 
друзь ям за их поддержку и наставничество. Благодарю и своих родителей за то, что они принесли домой компьютер Siemens и показали 
мне BASIC, тем самым у меня зародилась любовь к компьютерам в 
юном возрасте. Они всегда поддерживали мою одержимость технологиями, и за это я всегда буду им благодарен».

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

Бабак Эсмаейли (Babak Esmaeili) работает в сфере кибербезопасности более 
15 лет. Он начинал как реверс-инженер и продолжил карьеру в области тестирований на проникновение.
Специалист выполнил множество тестов на проникновение, он проводил 
большое количество консультаций для ИТ-инфраструктур. Поработав старшим тестировщиком в ряде компаний, Бабак приступил к исследованиям, касающимся сочетания стеганографии и криптографии затем к разработке программы с возможностью скрывать и шифровать бесконечные блокчейн-узлы 
разных файлов в один файл.
Кроме того, Бабак написал много статей о практическом тестировании на 
проникновение и о защите программного обеспечения. Сейчас он фрилансер, 
разрабатывает универсальную защищенную базу данных с новой технологией 
хранения цифровых данных, идея которой пришла к нему из его программного обеспечения. Бабак считает, что каждый должен разбираться в информационных технологиях, поскольку новый мир будет цифровым.
Он также советует всем узнавать как можно больше о том, как сохранить 
свои данные в этом новом цифровом мире.

«Я хочу поблагодарить всех, кто оказал помощь в написании этой 
книги, а также моих любимых родителей и дорогих друзей за их поддержку».

Предисловие от издательства

Отзывы и пожелания

Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете 
об этой книге – что понравилось или, может быть, не понравилось. Отзывы 
важны для нас, чтобы выпускать книги, которые будут для вас максимально 
полезны.
Вы можете написать отзыв прямо на нашем сайте www.dmkpress.com, зайдя 
на страницу книги, и оставить комментарий в разделе «Отзывы и рецензии». 
Также можно послать письмо главному редактору по адресу dmkpress@gmail.com, 
при этом напишите название книги в теме письма.
Если есть тема, в которой вы квалифицированы, и вы заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу  
http://dmkpress.com/authors/publish_book/ или напишите в издательство по ад ресу 
dmkpress@gmail.com.

Список опечаток

Хотя мы приняли все возможные меры для того, чтобы удостовериться в качестве наших текстов, ошибки все равно случаются. Если вы найдете ошибку 
в одной из наших книг – возможно, ошибку в тексте или в коде, – мы будем 
очень благодарны, если вы сообщите нам о ней. Сделав это, вы избавите других 
читателей от расстройств и поможете нам улучшить последующие версии этой 
книги.
Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о них 
главному редактору по адресу dmkpress@gmail.com, и мы исправим это в следующих тиражах.

Нарушение авторских прав

Пиратство в интернете по-прежнему остается насущной проблемой. Издательства «ДМК Пресс» и Packt очень серьезно относятся к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконно 
выполненной копией любой нашей книги, пожалуйста, сообщите нам адрес 
копии или веб-сайта, чтобы мы могли применить санкции.
Пожалуйста, свяжитесь с нами по адресу электронной почты dmkpress@gmail.
com со ссылкой на подозрительные материалы.
Мы высоко ценим любую помощь по защите наших авторов, помогающую 
предоставлять вам качественные материалы.

Предисловие

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

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

Глава 1 «Атаки на веб-приложения. Введение» знакомит с инструментами, средами и минимальным набором правил ведения боя, которому мы должны следовать во время выполнения заданий. Рассмотрим также инструментарий специалиста, проведящего тестирования на проникновения, и исследуем облако в 
качестве нового инструмента тестировщика.
Глава 2 «Эффективное обнаружение» расскажет о повышении эффективности 
с точки зрения сбора информации о цели.
В главе 3 «Легкая мишень» разъясняется тот факт, что средствам защиты 
очень трудно постоянно обеспечивать безопасность, и многие простые уязвимости часто просачиваются сквозь бреши.

Предисловие  13

В главе 4 «Передовые атаки с использованием метода полного перебора» подробно рассматривается метод полного перебора, а также пара способов, которые позволяют оставаться незамеченным при проведении данного типа атак.
Глава 5 «Включение файлов» поможет изучить уязвимости, связанные с включением файлов. Рассмотрим также ряд методов использования базовой файловой системы приложения в своих интересах.
В главе 6 «Обнаружение и эксплуатация уязвимостей в приложениях с помощью 
внешних сервисов» рассматривается обнаружение уязвимости внеполосными 
(то есть по отклику на машине, не являющейся ни клиентом, ни сервером) методами, эксплуатация уязвимостей приложений и настройка инфраструктуры 
управления и контроля в облаке.
Глава 7 «Автоматизированное тестирование» помогает автоматизировать 
эксплуатацию уязвимостей, включая использование Collaborator от Burp, чтобы упростить внеполосное обнаружение.
В главе 8 «Вредоносная сериализация» подробно рассматриваются атаки, связанные с десериализацией. Рассмотрим данный тип уязвимости и практические эксплойты.
Глава 9 «Практические атаки на стороне клиента» содержит информацию, 
касающуюся атак на стороне клиента. Будут рассмотрены три типа межсайтового скриптинга: отраженный, хранимый и DOM-модель, а также межсайтовые 
подделки запроса и объединение атак в цепочку. В ней также рассказывается 
о правиле ограничения домена и о том, как оно влияет на загрузку стороннего 
контента или кода атаки на страницу.
Глава 10 «Практические атаки на стороне сервера» рассказывает, как атаковать сервер с помощью XML, а также использовать подделку запроса на стороне сервера для объединения атак в цепочку и дальнейшего проникновения в 
сеть.
Глава 11 «Атака на API» фокусирует наше внимание на API и на том, как 
эффективно тестировать и атаковать их. Вам пригодятся навыки, полученные 
к этому моменту.
Глава 12 «Атака на CMS» изучает уязвимости CMS.
Глава 13 «Взлом контейнеров» помогает понять, как безопасно настроить 
контейнеры Docker перед развертыванием на примере того, как компрометация CMS привела к еще одной уязвимости контейнера, из-за чего в конечном 
итоге случилась компрометация всего хоста.

Как извлечь максимум из книги?

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

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

2. Опыт написания сценариев определенно сыграет вам на руку, но это не 
обязательно. В книге будут встречаться сценарии, написанные на языках Python, JavaScript и PHP.

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

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

5. Мы регулярно скачиваем код из проектов с открытым исходным кодом 
на GitHub, и хотя основательные знания в области Git, безусловно, помогут, иметь их не обязательно.

Загрузка примеров
Вы можете скачать файлы с примерами для этой книги, используя свою учетную запись на сайте http://www.packt.com. Если вы приобрели издание в другом 
месте, то можете зайти на страницу http://www.packt.com/support и зарегистрироваться там, чтобы получить файлы по электронной почте.
Можно скачать файлы, выполнив следующие действия:

 
 войдите или зарегистрируйтесь на сайте http://www.packt.com;
 
 выберите вкладку SUPPORT (Поддержка);
 
 нажмите кнопку Code Downloads & Errata (Загрузки кода и опечатки);
 
 введите название книги в поле поиска и следуйте инструкциям на экране.

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

1. WinRAR / 7-Zip для Windows;
2. Zipeg / iZip / UnRarX для Mac;
3. 7-Zip / PeaZip для Linux.

Код, приведенный в книге, также размещен на GitHub: https://github.com/
PacktPublishing/Becoming-The-Hacker. В случае обновления кода это отразится в 
имеющемся репозитории GitHub.
У нас также есть другие пакеты кода из нашего богатого каталога книг и видео, 
доступного на странице https://github.com/PacktPublishing/. Посмотрите их!
Загрузка цветных изображений

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