0% нашли этот документ полезным (0 голосов)
246 просмотров28 страниц

1145 Hacking Na Python

Загружено:

123qwe123xdslava
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
246 просмотров28 страниц

1145 Hacking Na Python

Загружено:

123qwe123xdslava
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd

БУХАРЕВ Р. С.

ХАКИНГ
нд 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. Таким образом,
этичные хакеры зарабатывают на жизнь, помогая компаниям защитить
свои данные и системы от возможных угроз.
• Прозрачность. Этичный хакер честно и открыто докладывает об обна-
руженных уязвимостях и помогает владельцам системы устранить их.
В Интернете именно они составляют списки уязвимостей той или иной
программы или инструмента, делая информацию доступной для всех и
способствуя общему улучшению безопасности.
• Приватность и конфиденциальность. Этичный хакер обязуется соблю­
дать конфиденциальность данных, с которыми он работает, и не раскры­

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

--
' -- -- - ----- - - - - --- - - - - - - - - ------- - - - - --- - - - - - - - - - - - - --- --- - - - - - ---- --------- - --

Вам также может понравиться