Внимание!!!! Книга удалена по требованию
правообладателя!!!!
ВВЕДЕНИЕ В МИР ХАКИНГА ....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
Задания для практики по разделу ....56
Числа с плавающей точкой (float) ....58
Проблемы ТОЧНОСТИ ....60
Задания для практики по разделу ....62
Строки (str) ...... ....63
Операции со строками ....64
Методы строк ....65
Задания для практики по разделу ....67
Списки (list) ....68
Операции со списками ....68
Методы списков ....70
Примеры использования списков ....71
Задания для практики по разделу ....72
Кортежи (tuple) .......................................................................... 7 4
Примеры создания кортежей ....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
Практические примеры использования конструкции switchcase
в 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
Протоколы и инструменты для анализа и манипулирования
сетевым трафиком ....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. .........................................................2 02
Парсинг 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
ГЛАВА 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
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 позволит вам погрузиться в захватывающий мир кибербезопасности и изучить основные аспекты использования Python в этой области.
В начале каждого раздела приводится список ключевых терминов, инструментов и сервисов, которые будут разобраны в этой главе и могут быть полезны для углубленного изучения темы. Также в книге вы найдете множество практических примеров и заданий, которые предназначены для самостоятельного выполнения, они помогут вам научиться решать реальные задачи и эффективно применять полученные знания в практической деятельности, а именно: o писать скрипты для автоматизации задач кибербезопасности; o анализировать сетевой трафик и выявлять потенциальные угрозы; o разрабатывать собственные инструменты для тестирования на проникновение; o использовать криптографию для защиты данных; o создавать системы обнаружения вторжений и реагирования на инциденты. Книга предназначена для широкого круга пользователей и не требует серьезных знаний для большинства задач, кроме уверенных навыков работы с компьютером. А для тех, кто хочет освоить приемы "посерьезнее", потребуется знание основ программирования.