وبلاگ بلیان

Атака сетей на уровне протоколов: руководство хакера по перехвату и анализу сетевого трафика и эксплуатации уязвимостей

معرفی کتاب «Атака сетей на уровне протоколов: руководство хакера по перехвату и анализу сетевого трафика и эксплуатации уязвимостей» نوشتهٔ Джеймс Форшоу; перевод с английского Д. А. Беликова، منتشرشده توسط نشر ДМК Пресс در سال 2022. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

От издательства Об авторе О рецензенте Предисловие Благодарности Введение Глава 1. Основы сетей Сетевая архитектура и протоколы Набор интернет-протоколов Инкапсуляция данных Заголовки, концевики и адреса Передача данных Сетевая маршрутизация Моя модель для анализа сетевых протоколов Заключительное слово Глава 2. Перехват трафика Пассивный перехват сетевого трафика Краткое руководство по Wireshark Альтернативные методы пассивного перехвата Отслеживание системных вызовов Утилита strace для Linux Мониторинг сетевых подключений с по­мощью DTrace Process Monitor в Windows Преимущества и недостатки пассивного перехвата Активный перехват сетевого трафика Сетевые прокси Прокси-сервер с переадресацией портов Прокси-сервер SOCKS Прокси-серверы HTTP Перенаправление HTTP-прокси Обратный прокси-сервер HTTP Заключительное слово Глава 3. Структура сетевых протоколов Структура двоичных протоколов Числовые данные Логические значения Битовые флаги Двоичный порядок байтов Текстовые и удобочитаемые данные Данные переменной длины в двоичном формате Даты и время POSIX/Unix-время Windows FILETIME Шаблон TLV Мультиплексирование и фрагментация Информация о сетевом адресе Структурированные двоичные форматы Структуры текстового протокола Числовые данные Текстовые логические значения Даты и время Данные переменной длины Структурированные текстовые форматы Кодирование двоичных данных Шестнадцатеричное кодирование Base64 Заключительное слово Глава 4. Расширенный перехват трафика приложений Перенаправление трафика Использование traceroute Таблицы маршрутизации Настройка маршрутизатора Активируем маршрутизацию в Windows Активируем маршрутизацию в Unix-подобных системах Преобразование сетевых адресов Активируем SNAT Настройка SNAT в Linux Активируем DNAT Перенаправление трафика на шлюз DHCP-спуфинг ARP-спуфинг Заключительное слово Глава 5. Анализ на практике Приложение для генерирования трафика: SuperFunkyChat Запуск сервера Запуск клиентов Обмен данными между клиентами Экспресс-курс анализа с по­мощью Wireshark Генерация сетевого трафика и перехват пакетов Базовый анализ Чтение содержимого TCP-сеанса Определение структуры пакета с помощью шестнадцатеричного дампа Просмотр отдельных пакетов Определение структуры протокола Проверим свои предположения Анализ протокола с по­мощью Python Разработка диссекторов Wireshark на Lua Создание диссектора Разбор при помощи Lua Парсинг пакета сообщения Использование прокси-сервера для активного анализа трафика Настройка прокси-сервера Анализ протокола с использованием прокси-сервера Добавляем базовый парсинг протокола Изменение поведения протокола Заключительное слово Глава 6. Обратная разработка приложения Компиляторы, интерпретаторы и ассемблеры Интерпретируемые языки Компилируемые языки Статическая и динамическая компоновки Архитектура x86 Архитектура набора команд Регистры ЦП Порядок выполнения Основы операционной системы Форматы исполняемых файлов Сегменты Процессы и потоки Сетевой интерфейс операционной системы Двоичный интерфейс приложений Статический обратный инжиниринг Краткое руководство по использованию IDA Pro Free Edition Анализ переменных и аргументов стека Определение ключевой функциональности Динамический обратный инжиниринг Установка точек останова Отладчик Windows Где установить точки останова? Обратное проектирование управляемого кода Приложения .NET Использование ILSpy Приложения Java Работа с обфускацией Ресурсы Заключительное слово Глава 7. Безопасность сетевого протокола Алгоритмы шифрования Подстановочные шифры XOR-шифрование Генераторы случайных чисел Симметричное шифрование Блочные шифры Режимы блочного шифрования Дополнение (padding) Атака padding oracle Потоковые шифры Асимметричное шифрование Алгоритм RSA RSA с дополнением Протокол Диффи–Хеллмана Алгоритмы подписи Алгоритмы криптографического хеширования Асимметричные алгоритмы подписи Имитовставки (коды аутентификации сообщения) Инфраструктура открытых ключей Сертификаты X.509 Проверка цепочки сертификатов Пример использования: протокол защиты транспортного уровня TLS-рукопожатие Начальное согласование Аутентификация конечной точки Установка зашифрованного соединения Соответствие требованиям безопасности Заключительное слово Глава 8. Реализация сетевого протокола Воспроизведение существующего перехваченного сетевого трафика Перехват трафика с по­мощью Netcat Использование Python для повторной отправки перехваченного UDP-трафика Изменяем назначение нашего прокси Повторное использование существующего исполняемого кода Повторное использование кода в приложениях .NET Повторное использование кода в приложениях Java Неуправляемые исполняемые файлы Шифрование и работа с TLS Изучение используемого шифрования Расшифровка TLS-трафика Заключительное слово Глава 9. Основные причины уязвимостей Классы уязвимостей Удаленное выполнение кода Отказ в обслуживании Утечка информации Обход аутентификации Обход авторизации Уязвимости повреждения памяти Безопасные и небезопасные языки программирования с точки зрения доступа к памяти Переполнение буфера Индексирование буфера за пределами границ Атака расширения данных Сбой при динамическом выделении памяти Учетные данные, используемые по умолчанию или вшитые в код Перечисление пользователей Неправильный доступ к ресурсам Канонизация Подробные сообщения об ошибках Исчерпание памяти Исчерпание хранилища Исчерпание ресурсов ЦП Алгоритмическая сложность Конфигурируемая криптография Уязвимости строки форматирования Внедрение команд Внедрение SQL-кода Замена символов в текстовой кодировке Заключительное слово Глава 10. Поиск и эксплуатация уязвимостей Фаззинг Простейший тест Мутационный фаззер Создание тест-кейсов Сортировка уязвимостей Отладка приложений Повышаем наши шансы найти первопричину сбоя Эксплуатация распространенных уязвимостей Эксплуатация уязвимостей повреждений памяти Произвольная запись в память Написание шелл-кода Приступим Простая техника отладки Вызов системных вызовов Выполнение других программ Генерация шелл-кода с по­мощью Metasploit Устранение уязвимостей повреждения памяти Предотвращение выполнения данных Использование метода возвратно-ориентированного программирования Рандомизация размещения адресного пространства Обнаружение переполнения стека с по­мощью предохранителей Заключительное слово Набор инструментов для анализа сетевых протоколов Предметный указатель Attacking Network Protocols is a deep dive into network protocol security from James -Forshaw, one of the world's leading bug -hunters. This comprehensive guide looks at networking from an attacker's perspective to help you discover, exploit, and ultimately -protect vulnerabilities. You'll start with a rundown of networking basics and protocol traffic capture before moving on to static and dynamic protocol analysis, common protocol structures, cryptography, and protocol security. Then you'll turn your focus to finding and exploiting vulnerabilities, with an overview of common bug classes, fuzzing, debugging, and exhaustion attacks. Learn how to: - Capture, manipulate, and replay packets - Develop tools to dissect traffic and reverse engineer code to understand the inner workings of a network protocol - Discover and exploit vulnerabilities such as memory corruptions, authentication bypasses, and denials of service - Use capture and analysis tools like -Wireshark and develop your own custom network proxies to manipulate -network traffic Attacking Network Protocols is a must-have for any penetration tester, bug hunter, or developer looking to understand and discover network vulnerabilities.
دانلود کتاب Атака сетей на уровне протоколов: руководство хакера по перехвату и анализу сетевого трафика и эксплуатации уязвимостей