БУХАРЕВ Р. С.
ХАКИНГ
нд Python
+ виртуальный диск с кодом
"Издательство Наука и Техника"
Санкт-Петербург
УДК 004.42
ББК 32.973
Бухарев Р. С.
ХА.кинг НА РУТНОN + ВИРТУАЛЬНЫЙ диск с кодом - СПб.: Издатель
ство Наука и Техника, 2025. - 368 с., ил.
ISBN 978-5-907592-61-2
Данное практическое руководство по хакингу на Python позволит вам погрузиться в
захватывающий мир кибербезопасности и изучить основные аспекты использования
Python в этой области.
Книrа состоит из 6 основных разделов:
1. Основы языка Python: его применение для различных задач хакинга, настройка среды для
разработки, включая установку необходимых библиотек и инструментов.
2. Сетевое программирование: работа с сокетами, протоколы и атаки на сетевом уровне (АRР
отравление и сниффинr трафика), создание простого сервера и клиента для понимания как уста
навливать сетевые соединения, отправлять и получать данные между устройствами.
3. Веб-хакинг на Python: инструменты для веб-хакинга (сканеры уязвимостей, взломщики паро
лей и т.д.), методы взаимодействия с веб-серверами, включая отправку НТТР-запросов, парсинг
НТМL-страниц и автоматизацию взаимодействия с веб-приложениями.
4. Атаки на приложения: SQL-инъекции, атаки на сессии и куки, кросс-сайтовый скриптинr (XSS).
5. Защита и взлом Wi-Fi-ceтeй: инструменты для аудита и защиты Wi-Fi-ceтeй, взлом Wi-Fi
пapoлeй, сканирование сетей с использованием библиотеки pywifi.
6. Защита от хакинга на Python: библиотеки для шифрования данных, создание инструментов
для защиты сетей и систем, включая простые файрволы и системы обнаружения вторжений, мо
ниторинг и анализ сетевой активности и утроз.
В начале каждого раздела приводится список ключевых терминов, инструментов
и сервисов, которые будут разобраны в этой rлаве и могут быть полезны для
углубленного изучения темы. Также в книrе вы найдете множество практических
примеров и заданий, которые предназначены для самостоятельного выполнения, они
помогут вам научиться решать реальные задачи и эффективно применять полученные
знания в практической деятельности, а именно:
писать скрипты для автоматизации задач кибербезопасности;
анализировать сетевой трафик и выявлять потенциальные угрозы;
разрабатывать собственные инструменты для тестирования на проникновение;
использовать криптографию для защиты данных;
создавать системы обнаружения вторжений и реагирования на инциденты.
Книrа предназначена для широкого круга пользователей и не требует серьезных
знаний для большинства задач, кроме уверенных навыков работы с компьютером.
А для тех, кто хочет освоить приемы «посерьезнее», потребуется знание основ
программирования.
J�lllli,2,
ISBN 978-5-907592-61-2
Контактные телефоны издательства:
(812) 412 70 26
Официальный сайт: [Link]
© Бухарев Р. С.
© Издательство Наука и Техника
Содержание
[Link]
ВВЕДЕНИЕ В МИР ХАКИНГА ..................................................................................... 11
МИФЫ ХАКИНГА ..........................................................................................................16
Миф: взлом секретных баз данных за несколько секунд .................16
Миф: хакеры всегда действуют в одиночку .......................................16
Миф: хакеры всегда используют высокотехнологичное
оборудование .......................................................................................17
Миф: хакеры всегда действуют в зловредных целях .......................17
Миф: хакеры всегда оставляют ярлыки своих действий .................. 17
ОПРЕДЕЛЕНИЯ ТЕРМИНОВ .....................................................................................19
Этика хакинга .......................................................................................27
КЛЮЧЕВЫЕ ПОНЯТИЯ ...............................................................................................29
Сетевые технологии ............................................................................29
Языки программирования ..................................................................31
Базы данных, .......................................................................................33
, ГЛАВА 1. Основы Python для хакинга................................. 37
1.1. ПЛАТФОРМЫ Д Л Я ОБУЧЕНИЯ PYTHON .........................................................38
Codecademy ................................................................................39
Coursera.......................................................................................39
edX ...............................................................................................39
Udemy ..........................................................................................40
Khan Academy .............................................................................40
Sololearn .....................................................................................40
DataCamp ....................................................................................41
Google's Python Class .................................................................41
1.2. УСТА НОВКА И НАСТРОЙКА PYTHON ..............................................................42
1.2.1. Загрузка и установка Python .....................................................43
1.2.2. Основы работы с pip .................................................................45
1.2.3. Использование виртуальных сред ............................................48
1.3. ОСНОВЫ ЯЗЫКА PYTHON .................................................................................51
Переменные и типы данных .....................................................52
Целочисленные числа (int) .......................................................53
' ................................................................................. ...
Хакинг на Python
-------------------------------------------------------------------------------------------
Задания для практики по разделу ......................................................56
Числа с плавающей точкой (float) ..........................................58
Проблемы ТОЧНОСТИ .........................................•.......................60
Задания для практики по разделу ......................................................62
Строки (str) ...... � .........................................................................63
Операции со строками .............................................................64
Методы строк ............................................................................65
Задания для практики по разделу......................................................67
Списки (list)................................................................................68
Операции со списками .............................................................68
Методы списков ........................................ : ................................70
Примеры использования списков ...........................................71
Задания для практики по разделу ......................................................72
Кортежи (tuple) ..........................................................................74
Примеры создания кортежей ...................................................75
Преимущества кортежей ..........................................................77
Использование кортежей в Python ..........................................77
Примеры использования кортежей .........................................77
Задания для практики по разделу ......................................................78
Словари (dict) ............................................................................80
Примеры словарей в Python ....................................................80
Основные операции со словарями .........................................81
Преимущества словарей .........................................................83
Примеры использования словарей.........................................84
Задания для практики по разделу......,...............................................85
1.4. УСЛОВНЫЕ ОПЕРАТОРЫ ...................................................................................87
1.4.1. Оператор if.................................................................................88
Задания для практики по разделу......................................................89
1.4.2. Оператор e/if..............................................................................91
Задания для практики по разделу ................................................'......93
1.4.3. Оператор e/se ............................................................................95
Задания для практики по разделу ......................................................97
1.5. ЦИКЛЫ И ИТЕРАЦИИ ...........................................................................................99
1.5.1. Подробнее о цикле for............................................................101
Перебор числовых диапазонов с помощью range() .............. 102
Перебор строк ..........................................................................102
Использование enumerate() ....................................................103
...................................................................... •.· ............ .
Содержание
Перебор словарей .................................................................. 103
Примеры использования цикла for....................................... 104
Задания для практики по разделу.................................................... 105
1.5.2. Подробнее о цикле while ........................................................ 108
Примеры использования цикла while..............:..................... 110
Задания для практики по разделу .................................................... 111
1.6. ФУНКЦИИ .............................................................................................................. 114
Возврат значений из функции ................................................ 115
Арrументы по умолчанию ....................................................... 115
Переменное число арrументов .............................................. 116
'Примеры использования функций ......................................... 117
Задания для практики по разделу.................................................... 118
1.7. КЛАССЫ ................................................................................................................118
Практические примеры ........................................................... 120
Задания для практики по разделу .................................................... 121
1.8. SW/TCH-CASE В PYTHON .................................................................................122
Практические примеры использования конструкции switch-
case в Python ..................................................................................... 123
Задания для практики по разделу .................................................... 125
1.9. РАБОТА С ФАЙЛАМИ.........................................................................................126
Примеры работы с файлами в Python ... : .............................. 127
Задания для практики по разделу .................................................... 128
1.10. РАБОТА С csv................................................................................................... 129
Примеры работы с CSV в Python и аналоги уже выше
описанных функций ........................................................................... 132
Задания для практики по разделу.................................................... 134
ГЛАВА 2. Сетевое программирование на Python ............ 135
2.1. ОСНОВЫ ДЛЯ СЕТЕВОГО ПРОГРАММИРОВАНИЯ .................................... 136
Принципы работы сокетов ................................................... 141
Типы сокетов ......................................................................... 141
Применение сокетов ............................................................ 142
Преимущества использования сокетов .............................. 143
Создание и управление сокетами ....................................... 143
... ... ...
Продвинутые темы в сетевом программировании ............ 145
'. -- - - - . - - - - - - -- -.. - - ... - - -. - - - ..........- -- ...... - -... - -..--... -.. . - - ... -·
Хакинг на Python
Протоколы и инструменты для анализа и манипулирования
сетевым трафиком ...........................................................................146
2.2. РАБОТА С СОКЕТАМИ .......................................................................................147
2.2.1. Основные шаги для работы с сокетами ................................147
Примеры простого серверного и клиентского приложений "149
Дополнительные возможности и особенности работы с
сокетами .............................................................................................150
Задания для практики по разделу ....................................................152
2.2.2. Создание сокетов ....................................................................153
Семейство адресов (Address Family) .....................................153
Тип сокета (Socket Туре) .........................................................153
Примеры создания сокетов ....................................................154
Задания для практики по разделу ....................................................156
2.2.3. Прослушивание и подключение .............................................157
Примеры приложений на прослушивание и подключение...158
Задания для практики по разделу ....................................................159
2.2.4. Обмен данными .......................................................................160
Примеры клиента для обмена и отправки сообщений .........161
Задания для практики по разделу ....................................................163
2.3. ПРОТОКОЛЫ И АТАКИ НА СЕТЕВОМ УРОВНЕ............................................164
Примеры защиты от атак на сетевом уровне ........................165
2.3.1. АRР-отравление ......................................................................166
Задания для практики по разделу ....................................................170
2.3.2. Сниффинг трафика ................................................................171
Основные шаги сниффинга трафика .....................................171
Примеры использования снифферов .................................... 172
Примеры использования снифферов в качестве инструментов .172
Примеры на Python .................................................................173
Задания для практики по разделу....................................................176
ГЛАВА 3. Веб-хакинг с использованием Python.............. 177
3.1. ОСНОВЫ НТТР И HTTPS ...................................................................................180
3.1.1. Основные принципы работы НТТР .......................................181
3.1.2. Основные принципы работы НТТРS .....................................182
3.1.3. Примеры использования НТТР и HTTPS ..............................183
3.1.4. Методы запросов .....................................................................184
Задания для практики по разделу ....................................................189
-------------·············---·----·---··-···--·-····------------·----·---·--------·
Содержание
3.1.5. Анализ заголовков ...................................................................190
Заголовки запроса ...................................................................190
Заголовки ответа .....................................................................191
Общие заголовки .....................................................................191
Значение анализа заголовков ................................................192
Инструменты для анализа заголовков...................................192
Задания для практики по разделу ....................................................193
3.2. ИНСТРУМЕНТЫ ДЛЯ ВЕБ-ХАКИНГА .............................................................. 194
Сканеры уязвимостей .............................................................194
Прокси-инструменты ...............................................................195
Инструменты для взлома паролей .........................................195
Инструменты для анализа и извлечения информации ........196
Практические примеры использования инструментов .........196
Задания для практики по разделу ....................................................198
3.2.1. BeautifulSoupи парсинг HTML ................................................200
HTML и структура веб-страниц...............................................200
CSS и селекторы .....................................................................200
НТТР и веб-запросы ................................................................200
Работа cAPI .............................................................................201
Python и его библиотеки ..........................................................201
Этические и правовые аспекты парсинга ..............................201
Практические советы и передовые практики ........................202
Установка BeautifulSoup..........................................................202
Парсинг HTML ..........................................................................202
Извлечение данных .................................................................203
Навигация по дереву элементов ............................................203
Полный пример парсинга ........................................................204
Задания для практики по разделу ....................................................209
User-Agent................................................................................212
САРТСНА .................................................................................214
.Пример рабочего процесса с 2Captcha .................................218
Основные аспекты эмуляции человеческого поведения .....219
Инструменты для эмуляции человеческого поведения........220
Пример эмуляции человеческого поведения с помощью
Selenium .............................................................................................221
-
3.2.2. Requests для отправки НТТР-запросов .................................225
Задания для практики по разделу .....................................................227
3.2.3. Selenium для автоматизации веб-браузера ..........................227
Задания для практики по разделу ....................................................232
........--- .------.......---...----- ....... ········ ...............................
Хакинг на Python
·-------------------------------------------------------------------------------------------
ГЛАВА 4. Атаки на приложения...........................................233 >
4.1. ОСНОВЫ ПО БАЗАМ ДАННЫХ ........................................................................237
Типы баз данных ......................................................................237
Основные понятия и термины SQL ........................................238
Основные элементы SQL........................................................239
Нормализация и денормализация данных ............................240
Транзакции и целостность данных ......................................... 241
Запросы SQL ............................................................................241
Управление доступом и безопасность ...................................242
Внедрение SQL-инъекций .......... : ............................................242
Атаки на сессии пользователей и куки (нет, не атака на
печеньки, хотя автору этого бы хотелось) .......................................243
4.2. SQL-ИНЪЕКЦИИ ..................................................................................................243
Задания для практики по разделу ....................................................247
4.2.1. Определение уязвимостей .....................................................248
Задания для практики по разделу ....................................................255
4.2.2. Использование SQL-инъекций для атак ................................256
Принципы SQL-инъекций ........................................................256
Примеры SQL-инъекций .........................................................256
Пример реализации на Python ...............................................257
Защита от SQL-инъекций ........................................................258
Примеры использования SQL-инъекций для атак ................265
Задания для практики по разделу ....................................................266
4.3. АТАКИ НА СЕССИИ И КУКИ ..............................................................................267
4.3.1. Основы и определения ...........................................................267
4.3.2. Перехват и изменение данных сессий ...................................271
4.3.3. Методы обхода механизмов аутентификации.......................276
ГЛАВА 5. Безопасность, взлом и защита Wi-Fi-ceтeй .....281
5.1. ОСНОВЫ БЕСПРОВОДНЫХ СЕТЕЙ ...............................•...............................285
5.1.1. Основные принципы................................................................285
5.1.2. Стандарты Wi-Fi ......................................................................286
----
Пример сканирования доступных сетей с использованием
библиотеки pywifi..............................................................................291
------------- - ------···· .. --- -··· ........... ·····-·· ........ -··- - . -·........... .
Содержание
Задания для практики по разделу ....................................................292
5.1.3. Режимы работы беспроводных устройств .............................294
Режим инфраструктуры (lnfrastructure Mode) ........................294
Режим ад-хок (Ad-hoc Mode) ...................................................295
Режим моста (Wireless Bridge Mode) ...................................... 295
Режим повторителя (Repeater Mode) .................................... .296
5.2. ВЗЛОМ WI-FI-ПAPOЛEЙ .....................................................................................299
5.2.1. Использование инструментов для аудита Wi-Fi....................301
Aircrack-ng ................................................................................301
Kismet .......................................................................................302
Wireshark ..................................................................................302
Reaver.......................................................................................303
Fern WiFi Сгасkег ......•.............................................................. 303
Scapy ........................................................................................304
pywifi .........................................................................................305
Wireless.....................................................................................305
Sсару-НТТР ..............................................................................306
Pyshark .....................................................................................306'
Задания для практики по разделу .................................................... 311
ГЛАВА 6. Защита от хакинга на Python..............................313
6.1. БИБЛИОТЕКИ ДЛЯ ШИФРОВАНИЯ ДАННЫХ ..............................................314.
6.2. ОСНОВЫ КИБЕРБЕЗОПАСНОСТИ .................................................................316
6.2.1. Общая концепция ...................................................................316
6.2.2. Методы обнаружения атак ...................··············:····················319
Системы обнаружения вторжений (IDS) ................................319
Системы обнаружения вторжений в реальном времени
(RTIDS) ...............................................................................................320
Системы противодействия атакам (IPS)................................320
Мониторинг журналов событий ..............................................321
Анализ трафика сети...............................................................321
Использование сетевых сенсоров .........................................321
Машинное обучение и анализ больших данных ...................322
Практики защиты от взлома ..................... .' .............................325
. ...
6.2.3. Особенности практик защиты от взлома ...............................328
. ---- -.-- - --.---- - ----- - ----.- - . ---- ---- - ---- --.- - ---. - . . - .. ----.. - -... - ... - ---
Хакинг на Python
6.3. РАЗВИТИЕ НАВЫКОВ: СОЗДАНИЕ СОБСТВЕННЫХ ИНСТРУМЕНТОВ
БЕЗОПАСНОСТИ ........................................................................................336
6.3.1. Практическое задание: разработка сканера уязвимостей ...338
Шаги выполнения ....................................................................338
6.3.2. Практическое задание: создание инструмента для
обнаружения АRР-отравления .........................................................340
Шаги _выполнения ....................................................................340
6.3.3. Практическое задание: реализация инструмента для
обнаружения сетевого сниффинга...................................................342
Шаги выполнения ....................................................................342
6.3.4. Практическое задание: разработка простого файрвола ......346
Шаги выполнения ....................................................................346
ГЛАВА 7. Современные вызовы и тренды в сфере хакинга..351
7.1. ОСНОВНЫЕ ВЫЗОВЫ И ТРЕНДЫ ПО КИБЕРБЕЗОПАСНОСТИ .............352
Распространение loT (Интернета вещей) ........................................352
Угрозы и атаки на облачные сервисы .............................................. 353
Социальная инженерия и фишинг ...................................................353
Мобильные угрозы ............................................................................353
Распространение искусственного интеллекта и машинного обучения.. 354
Угрозы кибершпионажа и кибервойны .............................................354
Блокчейн и криптовалюты ................................................................355
7;2. ПЕРСПЕКТИВЫ РАЗВИТИЯ НАВЫКОВ ХАКЕРА НА PYTHON .................. 355
Глубокое понимание языка Python ..................................................356
Изучение библиотек и фреймворков ...............................................356
Развитие навыков в области сетевой безопасности.......................357
Изучение машинного обучения и искусственного интеллекта.......357
Развитие навыков в области веб-хакинга........................................357
7.3. РЕСУРСЫ ДЛЯ ДОПОЛНИТЕЛЬНОГО ИЗУЧЕНИЯ .......... :...........................358
Онлайн-курсы и платформы для обучения ..................................... 358
Книги ...................................................................................................359
Веб-сайты и блоги .............................................................................360
Инструменты и библиотеки ...............................................................360
...
Форумы и сообщества.......................................................................361
ЗАКЛЮЧЕНИЕ.............................................................................................................362
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ИНФОРМАЦИИ ....................... 364
-·
--·. - -... -... - .. - .... -... --.. --... -... - ........ - ... --... -... - -.. -..... .... -... .
Введение в мир
хакинга
Хакинг на Python
[Link]
В современном мире технологий, одним из базовых является навык ки
бербезопасности. Его преподают школьникам, студентам, старшему поко
лению. С каждым годом количество новостей о взломах и угрозах в сети
только растёт. Мы слышим о взломах аккаунтов известных личностей или
мошеннических схемах почти каждый день. И, как вам скажет любой эксперт
по кибербезопасности, главную угрозу зачастую представляет сам пользо
ватель - будь то слабые пароли или использование стандартных учетных
данных. Однако эта книга не о человеческой психологии, а о кибербезопас
ности с практической точки зрения; она охватывает все аспекты, связанные
с кодом и технологиями, которые нас окружают.
г--------------------------------------�
Кибербезопасность - это обширная область знаний и навыков,
необходимых для защиты. В целом, есть базовые навыки, они
ещё называются навыками компьютерной грамотности, мы же
рассмотрим тему более глубоко. Ведь в наше время базовое по
нимание кибербезопасности является столь же важным, как и
умение пользоваться компьютером или смартфоном, и, как ни
парадоксально, критически значимым для выживания. Хакеры,
стремящиеся проникнуть в системы, используют различные ме
тоды и техники для обнаружения или эксплуатации уязвимостей.
Наша задача, как специалистов по кибербезопасности, заключа
ется в предвидении этих угроз.
Практическая часть этой книги будет сосредоточена в основном на язы
ке программирования Python. Изредка мы будем обращаться к JavaScript,
HTML. Книга ориентирована не на абсолютных новичков, надеюсь, объяс
нять, как включать компьютер никому не надо, поэтому мы не будем на
чинать с основ Интернета. Если какие-то части вам уже знакомы или вы
.................................................. · ··· · ................. . .......... .
Введение в мир хакииrа
являетесь в ней экспертом (такое тоже может быть), смело пропускайте их,
но, возможно, вы найдёте там что-то новое и полезное (автор на это очень
сильно надеется). В начале каждой главы приводится список ключевых тер
минов, которые будут в ней разобраны, инструментов и сервисов, которые
могут быть полезны для углубленного изучения темы, всё в эту книгу не по
местится, придется походить по сайтам и почитать там.
Почему именно Python? Он завоевал популярность в сфере кибербезо
пасност�, да и не только в ней, благодаря своей простоте, мощи и гибко
сти, да и не только в кибербезопасности. Этот язык предоставляет широкие
возможности для автоматизации задач, анализа данных и создания сложных
алгоритмов, плюс мы говорим про новичков, а для этого нужна простота и
понятность. Благодаря своей читаемости и логике Python является идеаль
ным выбором как для начинающих (его просто выучить), так и для опытных
программистов (много библиотек и много кто пишет).
Многочисленные возможности и богатая экосистема библиотек делают
Python незаменимым для разработки. На нем разрабатыв_аются или разра
батывались инструменты аудита безопасности, проведения тестирования на
проникновение и создания защитных механизмов, да и много чего ещё.
Python активно используется повсеместно, как в Data Science, так и в раз
работке Backend и в других направлениях, где создаются инструменты от
плагинов до чат-ботов. Даже часть оборудования, отправленного в космос,
функционирует благодаря Python, что звучит просто невероятно. Надеюсь, я
смог убедить вас в его выборе, и мы больше не будем задаваться вопросом:
«Почему именно Python?».
Выбранный язык предлагает множество специализированных библиотек
и фреймворков, которые значительно упрощают разработку приложений для
кибербезопасности. Например:
• Scapy - для анализа сетевого трафика и создания пакетов данных.
• Requests - для работы с НТТР-запросами.
• BeautifulSoup - для парсинга HTML и анализа веб-страниц.
• Paramiko-для работы с SSН-соединениями.
• PyCrypto - для выполнения криптографических операций.
. ---------------------------------------. ---. ---..... --.............. --. ----------818
Хакинг на Python
Для успешного использования, существует множество готовых инстру
ментов, которые можно найти в Интернете и адаптировать под свои нуж
ды. Некоторые из них мы упомянем в следующих главах. Достаточно точно
сформулировать запрос в поисковой системе, и вам будут предложены ты
сячи различных инструментов, которые можно применять в своих проектах,
но всё-таки предлагаю сначала дочитать книгу до конца и уже потом садить
ся за подобный поиск. Именно поэтому в данном руководстве я не предо
ставляю конкретные примеры-вы легко сможете найти их самостоятельно,
проверено на практике.
Цель этого руководства - не просто передать теоретические знания,
но и помочь вам освоить их на практике, направив вас в нужное русло, по
мочь понять теорию, которая очень важна, и также попрактиковаться, что
не менее важно. В книге вы найдете множество практических примеров и
заданий, которые предназначены для самостоятельного выполнения. Эти
упражнения помогут вам научиться решать реальные задачи и эффективно
применять полученные знания в практической деятельности.
Практическая ориентация книги подразумевает, что вы будете не просто
читать теорию, но и выполнять задания, которые помогут закрепить матери
ал и развить практические навыки. Вы научитесь:
• Писать скрипты для автоматизации задач кибербезопасности.
• Анализировать сетевой трафик и выявлять потенциальные угрозы.
• Разрабатывать собственные инструменты для тестирования на проник
новение.
• Использовать криптографию для защиты данных.
• Создавать системы обнаружения вторжений и реагирования на инциденты.
Теперь, когда введение завершено, давайте вместе окунемся в захваты
вающий мир хакинга с использованием Python и научимся защищать себя
и других от киберугроз. Эта книга станет вашим надежным проводником в
мире кибербезопасности, где вы приобретете знания и навыки, необходимые
для того, чтобы стать настоящим экспертом в этой области. Готовьтесь к ин
тересным открытиям и увлекательным приключениям, которые ждут вас на
пути к освоению Python и искусству кибербезопасности.
....................................................................................
Введение в мир хакииrа
Для начала давайте разберемся, что вообще такое хакинг и с чем его
едят. Кто такой вообще хакер? К сожалению, отвечу сразу: просто бить по
клавиатуре недостаточно для того, чтобы что-то взломать, даже чайник, хотя
очень хочется.
Хакинг - это не просто совокупность методов и техник для проникно
вения в компьютерные системы. Это настоящее искусство, объединяющее
в себе глубокие знания, практические навыки и творческий подход. В мире
хакинга каждый компьютерный узел может быть как потенциальной точкой
входа, так и неприступной крепостью. Овладение этим искусством требует
не только основательного понимания технологий, но и умения мыслить вне
рамок стандартного, а также способности решать сложные и нестандартные
задачи.
r--------------------------------------,
Хакеры - это исследователи, архитекторы безопасности
(иногда не совсем архитекторы) и новаторы, постоянно совер
шенствующие свои навыки и методы. Они изучают уязвимости,
находят слабые места и разрабатывают эффективные меры за
щиты. Этичный хакер стремится к обеспечению безопасности и
защите данных, тогда как малициозный хакер (читай как «не совсем
хороший человек») использует свои знания для незаконных це
лей - от взлома веб-сайтов до кражи личной информации.
r--------------------------------------,
Этичные хакеры, также известные как белые хакеры, работают
на благо общества, улучшая безопасность систем. Они находят
и исправляют уязвимости, предотвращая потенциальные атаки.
Черные хакеры, напротив, используют свои навыки для личной
выгоды или причинения вреда. Существуют также серые хаке
ры, которые действуют вне закона, но иногда помогают
исправлять уязвимости после их обнаружения.
В хакинге ключевыми понятиями являются уязвимости, эксплойты,
криптография, сетевые протоколы и многие другие. Их освоение по
может понять суть процесса хакинга, его методики и инструменты, лучше
осознать, что применяется и как это называется.
....................................................................................
Хакинг на Python
• Уязвимости - слабые места в программном обеспечении или системе,
которые могут быть использованы злоумышленником для получения не
санкционированного досrупа.
• Эксплойты - программы или скрипты, используемые для эксплуатации
уязвимостей и выполнения нежелательных действий в системе.
• Криптография - наука о шифровании данных для обеспечения их кон
фиденциальности и целостности.
• Сетевые протоколы - наборы правил и стандартов, определяющие фор
мат и порядок обмена данными в компьютерных сетях.
В современной культуре хакеры часто изображаются в кино и литерату
ре как мистические и таинственные фигуры, способные взломать любую
систему за считанные секунды. Однако реальный мир хакинга имеет свои
особенности, которые не всегда совпадают с представлениями из кино. Да
вайте разберем, что правда, а что миф в мире хакинга.
Мифы ха:кинга
Миф: взлом секретных баз данных за несколько секунд
Реальность: хакинг - это сложный и длительный процесс, требующий
значительных усилий, времени и глубоких знаний. Взлом баз данных - это
не просто пара нажатий на клавиатуру, и уж точно не хаотичные удары по
клавишам (поверьте, автор проверял). Это тщательно спланированная опе
рация, которая может занять дни, недели или даже месяцы, особенно если
речь идет о взломе хорошо защищенной системы.
Миф: хакеры всегда действуют в одиночку
Реальность: в мире кибербезопасности существует целое сообщество,
где специалисты активно обмениваются знаниями, опытом и инструмента
ми. Это могут быть как онлайн-сообщества, так и сотрудничество в рам
ках организаций или команд. Коллективные усилия часто приводят к более
..
успешным результатам, чем работа в одиночку. Хакеры участвуют в конфе
ренциях, форумах и хакатонах, где они делятся своими открытиями, обсуж
дают новые подходы и постоянно учатся чему-то новому.
............. ....... ...... ......... . ......... ........................ . .. . ... .... ..
Введение в мир хакинга
Миф: хакеры всегда используют высокотехнологичное
оборудование
Реальность: хакеры используют различные инструменты, начиная от
простых скриптов на Python и заканчивая сложными программными паке
тами для аудита безопасности. Важно понимать, что даже самый простой
скрипт может быть эффективным инструментом в руках опытного специ
алиста. Часто используется обычное оборудование, и важнее всего здесь не
мощность техники, а знания и навыки хакер;�.
Миф: хакеры всегда действуют в зловредных целях
Реальность: хакеры могут быть как белыми, так и черными. Белые хаке
ры работают в области кибербезопасности, защищая системы и выявляя уяз
вимости, тогда как черные хакеры занимаются киберпреступлениями. Есть
также серые хакеры, которые действуют по своим собственным мотивам.
Белые хакеры помогают компаниям и государственным организациям улуч
шать их безопасность и защищаться от кибератак.
Миф: хакеры всегда оставляют ярлыки своих действий
Реальность: хакеры, особенно профессиональные, стремятся к аноним
ности. Оставление ярлыков своих действий может повлечь за собой нега
тивные последствия в виде ареста и судебного преследования. Вот почему
многие хакерьJ предпочитают оставаться в тени. Современные методы циф
рового следа позволяют отследить действия злоумышленника, поэтому ха
керы используют сложные методы сокрытия своих следов.
Реальность - это не кино, но прежде, чем вы закроете эту книгу, хочу
заверить вас: здесь тоже есть свои хитрости и увлекательные моменты. В
реальном мире основными факторами успеха являются знания, опыт и тща
тельная подготовка. Хакинг требует постоянного обучения и умения адапти
роваться к новым технологиям и методам защиты. Это процесс непрерыв
...
ного самосовершенствования и освоения новых техник, который требует
времени и упорства.
············································· ·····································
Хакинr на Python
Этичный хакинг включает в себя множество аспектов, таких как тести
рование на проникновение, аудит безопасности, разработка защитных мер
и обучение пользователей. Как ни странно, но чаще всего этичными хаке
рами становятся хакеры, которые раньше нарушали закон. Им проще все
го понять, как мыслит преступник, поэтому у них лучше всего получается
защита. Но чаще всего, конечно, это специально обученные люди, которые
проводят комплексную аудит-проверку всех систем.
Аудит безопасности представляет собой комплексную проверку инфор
мационной системы или пользователей с целью выявления возможных уяз
вимостей и несоответствиий. Напоминаю, что чаще всего идёт социальный
взлом, так что иногда приходится тестировать систему от самих пользова
телей этой системы. В рамках аудита специалисты проверяют настройки
безопасности, управляют доступом, оценивают защиту данных и проверяют
уязвимости программного обеспечения.
Разработка защитных мер включает в себя создание и внедрение различ
ных технических и организационных решений для обеспечения безопас
ности информационных систем. Это может включать использование меж
сетевых экранов, систем обнаружения вторжений, антивирусных программ,
а также регулярное обновление программного обеспечения и обучение
сотрудников правилам безопасного поведения в сети.
Обучение пользователей - важный аспект этичного хакинга, так как мно
гие кибератаки начинаются с социальной инженерии, направленной на об
ман пользователей и получение доступа к конфиденциальной информации.
Этичные хакеры проводят тренинги и семинары, направленные на повы
шение осведомленности сотрудников о современных угрозах и методах их
предотвращения.
Этичные хакеры играют ключевую роль в создании более безопасного
цифрового мира, помогая организациям предвидеть и предотвращать кибе
ругрозы. Они работают над тем, чтобы защитить данные, обеспечить конфи
денциальность информации и предотвратить финансовые потери, связанные
с кибератаками.
lllt···································································-·--····--·····
Введение в мир хакииrа
В следующих главах мы рассмотрим основные понятия и методы хакин
га, погрузимся в практические аспекты и научимся защищаться от киберу
гроз. Изучим различные техники взлома, от простейших до более сложных,
а также методы защиты от них. Практические задания помогут вам закре
пить полученные знания и применить их на практике. Независимо от вашего
уровня подготовки, вы сможете узнать что-то новое и полезное, что поможет
в дальнейшем совершенствовании своих навыков в области кибербезопас
ности.
Определения терминов
Для того чтобы глубже понимать мир хакинга, важно усвоить основные
термины и понятия, используемые в этой области. От знания основных тер
минов зависит эффективность общения в сообществе хакеров, а также по
нимание специализированной литера!Уры и документации, в том числе и
данного практического руководства. Заучивать не надо, даже если очень хо
чется. В основном можно просто возвращаться к данному разделу.
�--------------------------------------,
Хакинг- представляет собой процесс исследования компьютер
ных систем, сетей и программного обеспечения с целью обна
ружения уязвимостей и обхода защитных механизмов для по
лучения несанкционированного доступа или достижения других
целей. Этот Г\РОцесс может включать в себя широкий спектр тех
ник и методов, начиная от анализа исходного кода и заканчивая
использованием приемов социальной инженерии.
�--------------------------------------,
Хакер - специалист, занимающийся хакингом, называется хаке
ром. Хакер может быть как добропорядочным исследователем
безопасности, так и злоумышленником, в зависимости от его на
мерений и действий. Хакеры делятся на несколько категорий:
белые хакеры (этичные), черные хакеры (злоумышленники), и
серые хакеры (что-то среднее между белыми и черными).
.....................................................................................
Хакинг на Python
r--------------------------------------,
Эти!'а хакинrа - это совокупность принципов и правил, опре
деляющих допустимые методы и цели хакерской деятельности.
Она включает в себя уважение к чужой собственности, конфи
денциальности и неприкосновенности личной информации. В
следующей главе мы более подробно рассмотрим эти аспекты,
чтобы лучше понять, какие нормы и стандарты должны соблю
дать хакеры в своей работе.
r--------------------------------------,
1
Взлом - это процесс неправомерного проникновения в компью- 1
терные системы или сети с целью нарушения их целостности, :
конфиденциальности или доступности. Взлом может быть на- :
целен на кражу данных, изменение информации или просто на :
�--------------------------------------�
вывод системы из строя. 1
1
r--------------------------------------,
Эксплойт - это программный код или набор инструкций, исполь
зуемый для эксплуатации уязвимости в компьютерной системе
или программном обеспечении с целью выполнения определён
ных действий, таких как получение удаленного доступа или вы
полнение команд на целевой системе. Эксплойты могут быть
написаны на различных языках программирования и варьиро
ваться от простых скриптов до сложных программных пакетов.
r--------------------------------------,
Backdoor - это скрытый способ доступа к компьютерной систе- :
ме или программному обеспечению, который обходит стандарт- :
ные механизмы аутентификации и авторизации. Бэкдоры часто :
устанавливаются злоумышленниками после первоначального :
�--------------------------------------�
взлома системы, чтобы обеспечить себе постоянный доступ. :
r---------------------------------�----,
Фишинг - это метод социальной инженерии, при котором зло- :
умышленник пытается обманом получить у пользователей их :
конфиденциальные данные, такие как логины, пароли или бан- :
ковские реквизиты. Фишинг обычно осуществляется через элек- :
Ellt--__ : -----.-------------....----.-----.-. -. ---.-----------..----------------.----· 1
Введение в мир хакинга
: тронную почту, но может включать и другие формы общения, :
1
такие как телефонные звонки или текстовые сообщения. 1
1
1 .
L--------------------------------------J
r--------------------------------------,
DDoS-aтaкa - это атака на компьютерную систему или сеть, при :
которой злоумышленник пытается перегрузить её большим коли- :
чеством запросов или трафика, что приводит к отказу в обслужи- :
вании для легитимных пользователей. DDоS-атаки часто исполь- :
зуются для выведения из строя веб-сайтов и онлайн-сервисов. :
L--------------------------------------J
r--------------------------------------,
Rootkit - это ПО, которое скрыто в операционной системе и :
предназначенно для обеспечения постоянного незаконного до- :
ступа. Руткиты могут изменять системные файлы и процессы, :
делая их трудно обнаруживаемыми стандартными методами.
L--------------------------------------J
r--------------------------------------,
Криптография - это область, которая изучает шифрование и :
дешифрование информации. Чаще всего используется для обе- :
спечения конфиденциальности и целостности данных, а также :
для аутентификации пользователей и ресурсов. Основные мета- :
ды криптографии мы разберем в следующих главах. :
L--------------------------------------J
r--------------------------------------,
Аутентификация - это процесс подтверждения пользователя :
или устройства. Условно говоря, это консьерж на входе. Аутен- :
тификация может быть выполнена с помощью паролей (которые :
защищены криптографией), биометрических данных, токенов и :
других методов, о них также поговорим чуть позже.
L--------------------------------------J
r--------------------------------------,
1
1 Авторизация - это уже предоставление пользователю или :
1
1 устройству определённых прав и привилегий. Для запоминания: :
1
1
аутентификация проверяет вас, а вот авторизация даёт вам всё :
1 необходимое, чтобы вы уже взаимодействовали в системе. 1
1 1
L--------------------------------------J
··················································································--
Хакинг на Python
-------------------------------------------------------------------------------------------
r--------------------------------------,
1
1 Уязвимость - это слабое место в системе безопасности, кото- :
1
1 pqe может быть использовано злоумышленником для компроме- :
1
1
тации системы. Уязвимости могут существовать в программном :
1 обеспечении, аппаратуре или процессах. 1
1 • 1
L--------------------------------------J
r--------------------------------------,
Митм-атака (МIТМ-атака) - это атака типа «человек посереди- :
не», при которой злоумышленник перехватывает и, возможно, 11
изменяет сообщения, передаваемые между двумя сторонами, 1
1
которые считают, что общаются напрямую друг с другом. 1
1
L------ · -------------------------------J
r-------------------------------------- ,
Социальная инженерия - то, про что автор будет говорить всю
книгу, а именно это метод, который использую манипуляции, до
полнительную информацию и прочее для получения ваших дан
ных. Вы можете делать какую угодную защиту, а пользователь
поставит пароль в виде даты рождения и ваша безопасность не
поможет.
r-------------------------------------- ,
1 Шифрование - это процесс преобразования данных в форму, не- :
: доступную для неавторизованных пользователей. Шифрование :
: используется для защиты информации при передаче и хранении. :
L--------------------------------------J
r-------------------------------------- ,
Хэширование - это процесс преобразования данных в фикси- :
рованную строку символов, которая уникально представляет :
оригинальные данные. Хэширование используется для провер- :
ки целостности данных и безопасного хранения паролей. :
L--------------------------------------J
r--------------------------------------�
Малварь (Malware) - это вредоносное программное обеспече- :
ние, созданное для нанесения ущерба компьютерам или сетям. :
Виды малвари включают вирусы, черви, трояны, шпионские :
программы и программы-вымогатели. 1
1
L--------------------------------------�
EJI---. --------. ----------. -. --------------------------------------------------------.
Введение в мир хакинrа
,. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -·- - - ,
API (Application Programming lnterface) - это набор инструмен- :
тов и протоколов для взаимодействия программных компонен- :
тов, позволяющий различным программам обмениваться дан- :
ными и функциями.
,---------------------------------------,
L--------------------------------------�
: ARP (Address Resolution Protocol) - это протокол, используемый :
: для сопоставления IР-адресов с МАС-адресами в локальной сети. :
,---------------------------------------,
L--------------------------------------�
АRР-отравление (ARP Spoofing) - это атака, при которой злоу- :
мышленник отправляет ложные АRР-сообщения для изменения :
таблицы маршрутизации, что позволяет ему перехватывать тра- :
фик между устройствами в сети. :
,.--------------------------------------,
L--------------------------------------�
: Audit - комплексная проверка безопасности информационной :
1 системы. 1
1 1
,---------------------------------------,
L--------------------------------------�
: Backdoor - это программный код или механизмы, позволяю- :
: щие обходить обычные средства аутентификации и получать не- :
: санкционированный доступ к системе. :
,---------------------------------------,
L--------------------------------------�
: Брутфорс (brute force) - это метод атаки, при котором злоу- :
: мышленник перебирает все возможные комбинации паролей до :
: тех пор, пока не будет найден правильный. :
,---------------------------------------�
L--------------------------------------�
: САРТСНА- это тест, используемый для различения человека и :
: машины, часто применяемый для предотвращения автоматиче- :
-------------------------------------�
: ских регистраций и других действий на веб-сайтах. :
....
� ·
. - - - - - - ..... - - -........ -· .. -.. -..... --.. - ... - -.... . - .. - ... -.. - - .... - ... - ... - .. - . -
Хакинг на Python
�--------------------------------------,
1
1 CSRF (Cross-Site Request Forgery) - это атака, при которой зло- :
1
1 умышленник заставляет пользователя выполнить нежелатель- :
1
.1
ное действие на доверенном веб-сайте, на котором пользова- :
1 тель аутентифицирован. 1
1 1
�--------------------------------------,
L--------------------------------------�
: Cookie - это небольшой файл, создаваемый веб-сайтом и :
: сохраняемый на устройстве пользователя для хранения инфор- :
: мации о сеансе и предпочтениях. :
�--------------------------------------,
L--------------------------------------�
: DDoS (Distributed Denial of Service) - это 'атака, при которой :
: большое количество запросов направляется на сервер, чтобы :
: вывести его из строя.
�--------------------------------------,
L--------------------------------------�
: Dictionary Attack - это атака, при которой используется пред- :
: варительно собранный список слов (словарь) для подбора па- :
: роля. :
�--------------------------------------,
L--------------------------------------�
DNS (Domain Name System) - это система, используемая для :
сопоставления доменных имен с IР-адресами, облегчающая :
пользователям доступ к веб-сайтам по именам вместо цифро- :
вых адресов.
�--------------------------------------,
L--------------------------------------�
: Encryption - это процесс преобразования информации в фор- :
1
1 му, недоступную для чтения без специальных знаний (ключа), :
-1
1
обеспечивающий конфиденциальность данных при передаче и :
1 хранении. 1
1 1
----------------------------------,
L--------------------------------------�
�---
: Exploit - программа или код, использующие уязвимости для :
....
: выполнения несанкционированных действий в системе. :
L--------------------------------------�
- ------ -- ------------ ................. --- ............. -- .... ····-... ··-· ···-··.
------·············--·······---------------------------------------------------------------
Введение в мир хакинга
r--------------------------------------,
: IDS (lntrusion Detection System)- система обнаружения вторже- :
: ний, анализирующая сетевой трафик и системные журналы на :
: предмет подозрительной активности. :
L--------------------------------------�
r--------------------------------------,
: IP (lnternet Protocol) - протокол, используемый для передачи :
: данных в сети Интернет. :
L--------------------------------------�
r--------------------------------------,
IP Spoofing - процесс или атака, при которой злоумышленник :
подменяет IР-адрес отправителя для скрытия своей личности, :
условно говоря, когда вам отправляется почтовое письмо с не :
верным адресом отправителя, точнее несуществующим. :
L--------------------------------------�
r--------------------------------------,
: JavaScript - язык программирования, используемый для соз- :
: дания интерактивных элементов на веб-страницах. :
L--------------------------------------�
r--------------------------------------,
: MFA (Multi-Factor Authentication) - многофакторная аутентифи- :
: кация, требующая нескольких доказательств для подтвержде- :
: ния личности пользователя. :
L--------------------------------------�
r--------------------------------------,
: MITM (Man-in-the-Middle) - атака, при которой злоумышленник :
: перехватывает и изменяет коммуникации между двумя сторона- :
: ми без их ведома. :
L--------------------------------------�
r--------------------------------------,
: Scripting - процесс написания небольших программ для авто- :
: матизации задач. :
L--------------------------------------�
r--------------------------------------,
1
1 SQL lnjection - атака, при которой в запрос вставляется вреда- :
...
1
1 носный SQL-кoд в запрос, что позволяет выполнить нежелатель- :
1
1
ные действия в базе данных, а именно дать больше прав хакеру, :
1 удалить или изменить какие-либо данные.
1
L--------------------------------------�
-
·--------------------------------- ---------- ----------------- - -------- -----------
Хакинг на Python
r--------------------------------------,
: SSL/ТLS - протоколы шифрования, обеспечивающие безопас- :
: ность передачи данных в Интернете. Это пресловутые https, про :
: которые и в 2024-2025 годах ещё некоторые не знают. :
L--------------------------------------�
r--------------------------------------,
: UDP (User Datagram Protocol) - протокол передачи данных, не :
: гарантирующий доставку, используемый для быстрой передачи :
: данных в сетях. :
L--------------------------------------�
r--------------------------------------,
: URL (Uniform Resource Locator) - адрес ресурса в Интернете. :
: Как и у всякого дома есть адрес, так и у каждого сайта он тоже :
�--------------------------------------�
1 есть, иначе бы мы запутались в Интернете. 1
1 1
r--------------------------------------,
: User-Agent - заголовок, содержащий информацию браузере, :
: операционной системе и других данных пользователя. :
L--------------------------------------�
r--------------------------------------,
VPN (Virtual Private Network) - это то, про что мы узнали в :
последнее время, когда отключали сервисы, а именно виртуаль- :
ная сеть, которая позволяет нам подменять свое местоположе- :
ние, IP, а также некоторые сети, которые позволяют обеспечить :
дополнительную безопасность. :
L--------------------------------------�
r--------------------------------------,
: Wi-Fi - технология для передачи данных без проводов и прочих :
: соединений, используемая для подключения устройств к интер- :
: нету или локальной сети. Нет SG не вредно. :
�--------------------------------------,
L--------------------------------------�
XSS (Cross-Site Scripting) - атака, при которой злоумышленник :
вст авляет вредоносный скрипт на веб-страницу, которую про- :
...
сматривают другие пользователи, что позволяет ему выполнять :
нежелательные действия на стороне клиента. 1
1
L--------------------------------------�
-..-........---.------ . ..----..............-------. -- ----. ------.....-----...... ,
Введение в мир хакинга
Этика хакинга
Хакинг, несомненно, вызывает споры о его нравственности: никому не
хочется узнавать о взломе своей социальной сети или обнаружить, что с его
карты сняты все деньги. Однако важно понимать, что существует различие
между этичным (хорошим) и нелегальным (плохим) хакингом.
Этичный хакинг, также известный как «белый хакинг», является про
цессом использования технических навыков для улучшения безопасности
информационных систем, обнаружения уязвимостей и предотвращения ки
бератак. Ценности этичного хакера определяются не только его навыками,
но и его намерениями.
Основные принципы этичного хакинга:
• Легальность. Этичный хакер действует в рамках закона и с согласия вла�
дельцев системы, которую он тестирует на уязвимости. Если вы взламы
ваете свой Wi-Fi, то к вам не будет вопросов, а если используете знания
для взлома Wi-Fi соседей, то вы уже выходите за легальное поле. Важно
соблюдать все юридические нормы и положения, связанные с кибербезо
пасностью, чтобы избежать правовых последствий.
• Добросовестность. Цель этичного хакера - улучшить безопасность систе
мы, а не нанести вред или получить несанкционированный доступ к дан
ным. Некоторые организации платят хакерам за найденные уязвимости
своих систем - такая практика называется bug bounty. Таким образом,
этичные хакеры зарабатывают на жизнь, помогая компаниям защитить
свои данные и системы от возможных угроз.
• Прозрачность. Этичный хакер честно и открыто докладывает об обна-
руженных уязвимостях и помогает владельцам системы устранить их.
В Интернете именно они составляют списки уязвимостей той или иной
программы или инструмента, делая информацию доступной для всех и
способствуя общему улучшению безопасности.
• Приватность и конфиденциальность. Этичный хакер обязуется соблю
дать конфиденциальность данных, с которыми он работает, и не раскры
...
вать их третьим лицам без согласия. Это особенно важно при работе с
чувствительной информацией, такой как личные данные пользователей
--
' -- -- - ----- - - - - --- - - - - - - - - ------- - - - - --- - - - - - - - - - - - - --- --- - - - - - ---- --------- - --