Pentesting: разведка и атака сетей, веб-ресурсов и операционных систем
Очень насыщенный и объёмный модуль, усвоив который ты будешь понимать и уметь осуществлять комплексный процесс пентестинга: от разведки до закрепления в системе и пост-эксплуатации.
Этапы и процесс теста на проникновение
Введение в ключевые этапы тестов на проникновение: обзор основных этапов пентестинга, в каком порядке они как правило идут и какой смысл в том или ином этапе.
Создание и настройка лаборатории хакера
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6
6.1.7
6.1.8
Что такое «тест на проникновение»
Предварительная подготовка: настройки безопасности, инструментов и окружения
Разведка и сбор информации о цели
Поиск уязвимостей и их оценка
Эксплуатация уязвимостей и получение доступа к системе
Пост-эксплуатация: повышение привилегий, закрепление в системе и исследование внутреннего устройства
Достижение цели атаки: захват данных, контроля, вывод из строя
Лабоработия хакера: установка и настройка уязвимой системы
6.1.1
6.1.2
6.1.3
6.1.4
6.1.5
6.1.6
6.1.7
6.1.8
Разведка цели - технический OSINT
Прежде чем атаковать, нужно знать куда атаковать: адреса, какое стоит ПО, их версии, какие порты открыты и прочее. Это знание достигается путём разведки — этапа который является неотъемлемой частью теста на проникновение и определяет дальнейшую стратегию атаки на систему, чтобы она была наиболее эффективной. В этом разделе вы научитесь техническому OSINT’у и инструментам с этим связанным, а также использованию сканера сети nmap.
Комплексный сбор первичной информации — OSINT или Footprinting
7.1.1
7.1.2
7.1.3
7.1.4
7.1.5
7.1.6
7.1.7
7.1.8
7.1.9
7.1.10
7.1.11
7.1.12
7.1.13
Получение IP-адреса ресурса и информации о провайдере используя Whois
Сбор исчерпывающей информации о DNS ресурсе
Как можно обойти CloudFlare и другие подобные сервисы сокрытия IP и безопасности
Получение информации об используемых технологиях на сайте с помощью Whatweb
Разведка файловой структуры сайта через Dirb и Dirhunt
Проверка ресурса на наличие в утечках — источники и сервисы
Поиск чувствительных файлов и анализ метаданных
Введение в Maltego: основные сущности, трансформации и модули
Shodan: сбор и анализ данных, разбор основных понятий и возможностей
Поиск других сайтов на том же сервере, поиск поддоменов
Сбор email’s через theHarvester и Hunter.io
Поиск юзернеймов через Snoop Project и Sherlock
Практика Python: поисковый робот для поиска файлов, директории и поддоменов
7.1.1
7.1.2
7.1.3
7.1.4
7.1.5
7.1.6
7.1.7
7.1.8
7.1.9
7.1.10
7.1.11
7.1.12
7.1.13
Сканинг сети в nmap
Знакомство с nmap
Обнаружение хоста и типы сканирований
Сканирование портов хоста и обнаружение используемых сервисов
Брандмауэр и обход IDS/IPS
Обнаружение и оценка уязвимостей
Этот раздел познакомит вас с концепцией оценки уязвимости. Мы рассмотрим как проводить оценку уязвимости, как интерпретировать результаты оценки, как подготовить эффективный отчет об оценке уязвимости и, самое главное, как использовать эту информацию для осуществления атаки.
Введение в анализ
Общая система оценки уязвимостей (CVSS) и стандарты оценки
Распространенные уязвимости и риски (CVE)
Введение в Nessus — автоматизированный поиск уязвимостей
Введение в OpenVAS — фреймворк анализа и оценки уязвимостей
Подготовка отчётов об оценки уязвимостей системы
8.1.1
8.1.2
8.1.3
8.1.4
8.1.5
Атаки на веб-приложения
Введение в веб-прокси и их настройка: Burp Suite и Zed Attack Proxy (ZAP)
Перехват запросов (requests) и ответов (responses), автоматическая модификация и повторяющиеся запросы
8.1.1
8.1.2
8.1.3
8.1.4
8.1.5
- Как заставить веб-сайты раскрывать информацию с помощью фейковых запросов
- Уязвимости для подделки HTTP-запросов
- Примеры небезопасных конфигураций
- Обнаружение и использование уязвимостей, связанных с подделкой HTTP-запросов
Введение в веб «фаззинг» и инструмент Ffuf
- Фаззинг калатогов и страниц сайта
- Записи DNS и фаззинг поддоменов
- Фазинг Vhost
- Фаззинг запросов GET и POST
Обнаружение и использование уязвимостей загрузки или включения файлов
Получение доступа к оболочке из-за уязвимостей включения локальных и удалённых файлов: LFI и RFI
SQL-иньекции — получение доступа к сайту и базам данных
- Что такое SQL, введение в запросы
- Иньекции и обход авторизации через GET и POST запросы
- Чтение информации о базе данных и поиск таблиц базы данных
- Извлечение конфиденциальных данных
- Эксплуатация уязвимости SQL-инъекции для извлечения паролей
- Обход фильтров и политик безопасности
- Получение прямой оболочки SQL с помощью SQLmap
HTML-иньекции
XSS уязвимости или межсайтовый скриптинг
- Введение в межсайтовый скриптинг и инструмент BeEF
- Отраженный XSS
- Сохраненнённый XSS
- DOM XSS
- Перехват сеанса
Вход в систему путем манипулирования файлами cookie
Обнаружение уязвимостей, связанных с подделкой межсайтовых запросов (CSRF)
Использование CSRF для изменения пароля администратора с помощью HTML-файла и ссылки
Уязвимости IDOR - Insecure direct object reference
- Что такое уязвимости IDOR и как они возникают
- Примеры кода, уязвимого для IDOR и различные типы уязвимостей IDOR
- Как обнаружить и как использовать уязвимости IDOR
Эксплуатация уязвимостей XXE - XML external entity
- Что такое уязвимости XXE и как они возникают
- Примеры кода и конфигурации уязвимых для XXE
- Выявление и использование уязвимостей XXE
Атаки на распространенные приложения: WordPress, Joomla, Drupal, Tomcat, Jenkins
Эксплуатация уязвимостей и получение доступа к системе
Здесь мы разберем следующую важную фазу — получение доступа к системе. Разберём различные виды атак, а также такие вещи, как эксплоиты (exploits), полезная нагрузка (payload), познакомимся с инструментами, которые нам помогут автоматизировать рутинные задачи связанные с эксплуатацией уязвимостей. Одини из которых — Metasploit Framework, Burp Suite, SQLmap и другие.
Взлом WiFi, веб-камер и камер видео-наблюдения
9.1.1
9.1.2
9.1.3
9.1.4
9.1.5
9.1.6
9.1.7
Прослушивание и перехват «рукопожатий» с помощью набора Aircrack-ng
Расшифровка пароля с помощью Hashcat
Brute-force: взлом слабых паролей перебором, а также использование словарей наиболее распространённых паролей
Уязвимости веб-камер
Поиск и взлом камер с помощью Shodan и Netscraped
Взлом камер на 554 порту через СameRadar
Бонус: получаем снимок веб-камеры через ссылку
9.1.1
9.1.2
9.1.3
9.1.4
9.1.5
9.1.6
9.1.7
Использование оболочки и полезной нагрузки на целевом хосте
9.2.1
9.2.2
9.2.3
9.2.4
9.2.5
9.2.6
9.2.7
9.2.8
9.2.9
Что такое «оболочка» (shell)
Соединение с оболочкой — bind и reverse сессии
Автоматизация полезной нагрузки и доставки с помощью Metasploit
Создание полезной нагрузки с MSFvenom
Проникновение в Windows на примере атак: Eternal Blue, DoublePulsar, BlueKeep и других
Проникновение в Linux
Создание интерактивных оболочек
Что делать, если полезная нагрузка обнаруживается антивирусами
9.2.1
9.2.2
9.2.3
9.2.4
9.2.5
9.2.6
9.2.7
9.2.8
9.2.9
Введение в веб-оболочки
Laudanum — одна веб-оболочка, чтобы управлять всеми
Веб-оболочка Antak
Веб-оболочки PHP
Атаки на общие службы
Концепция атаки
Атака на RDP — захватываем удалённый доступ
Атака на SMB
Атака на FTP
Атака на сервисы электронной почты: SMTP
9.4.1
9.4.2
9.4.3
9.4.4
9.4.5
Атаки на пароли и учётные данные
Что делает пароль «сильным» и в каком виде они могут храниться
Хранилища учетных данных и мутации паролей
Наиблоее распространённые пароли, пароли по умолчанию и «радужные таблицы»
Изучаем и используем Hashcat
Windows: атака на SAM — диспетчер учётных записей безопасности
Windows: Атака на LSASS
Windows: Атака на Active Directory и NTDS.dit
Windows: поиск учетных данных
Linux: поиск учетных данных
Linux: Passwd, Shadow и Opasswd
Атака Pass-the-hash (PtH)
Windows: атака Pass-the-Tiket (PtT)
Linux: атака Pass-the-Tiket (PtT)
Атаки на пароли защищенных файлов и архивов: используем John the Ripper
Brute Force — взлом грубой силой, где можно использовать и как
Политики и менеджеры паролей — что нужно знать
Python: создание брутфорса и скрытого исследователя директорий
9.5.1
9.5.2
9.5.3
9.5.4
9.5.5
9.5.6
9.5.7
9.5.8
9.5.9
9.5.10
9.5.11
9.5.12
9.5.13
9.5.14
9.5.15
9.5.16
9.5.17
9.4.1
9.4.2
9.4.3
9.4.4
9.4.5
9.5.1
9.5.2
9.5.3
9.5.4
9.5.5
9.5.6
9.5.7
9.5.8
9.5.9
9.5.10
9.5.11
9.5.12
9.5.13
9.5.14
9.5.15
9.5.16
9.5.17
Пост-эксплуатация: закрепление в системе, повышение привелегий, экспорт данных из систем
В этом разделе разберём процесс связанный с повышением привилегий в скомпрометированных Linux и Windows, получением доступа к дополнительным хостам, пользователям и ресурсам в скомпрометированной сети.
Metasploit Framework — закрепляемся в системе: использование Meterpreter и Kiwi
Закрепление в системе с возможностью обеспечения надежного повторного входа в нее даже после перезагрузки
Практика Python: arp-scaner, скрипт обнаружения клиентов в локальной сети
Передача файлов между системами штатными средствами
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5
10.2.6
Методы передачи файлов в Windows
Методы передачи файлов в Linux
Практика Python: Передача файлов с помощью кода
Различные способы передачи файлов
Защищенная передача файлов
Обнаружение и уклониение от обнаружения
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5
10.2.6
Повышение привилегий в Linux
10.3.1
10.3.2
10.3.3
10.3.4
10.3.5
10.3.6
10.3.7
Получение обратного доступа к оболочке с помощью Weevely
Эксплойты ядра и уязвимые службы
Манипуляция службы Cron
Специальные разрешения
Манипуляция правами sudo, путями и подстановочными знаками
Поиск учетных данных и привилегированные группы
Разделяемые библиотеки и захват общего объекта
10.3.1
10.3.2
10.3.3
10.3.4
10.3.5
10.3.6
10.3.7
Повышение привилегий в Windows
Полезные инструменты управления правами в Windows
Первичный обзор прав, пользователей, групп, связи с процессами
Эксплойты ядра и уязвимые службы
Обзор привилегий Windows
SeImpersonate и SeAssignPrimaryToken привилегии
SeDebugPrivilege и SeTakeOwnershipPrivilege
Встроенные группы пользователей и считыватели журнала событий
Администраторы DnsAdmins и Hyper-V
Операторы печати, серверов и контроль учетных записей пользователей
Поиск учетных данных и кража учётных данных
10.4.1
10.4.2
10.4.3
10.4.4
10.4.5
10.4.6
10.4.7
10.4.8
10.4.9
10.4.10
Туннелирование, перенаправление портов и другие способы закрепления в системе
Что такое туннелирование и перенаправление портов
Сбор внутренней информации
Динамическая переадресация портов с туннелированием SSH и SOCKS
Удаленная/обратная переадресация портов с помощью SSH
Перенаправление Socat с помощью обратной оболочки и SSH-оболочки для Windows plink. exe
Перенаправление веб-сервера с помощью Rpivot
Переадресация портов в Windows с помощью Netsh
Туннелирование DNS с помощью Dnscat2
Туннелирование ICMP с помощью SOCKS
Туннелирование RDP и SOCKS с помощью SocksOverRDP
10.5.1
10.5.2
10.5.3
10.5.4
10.5.5
10.5.6
10.5.7
10.5.8
10.5.9
10.5.10
10.4.1
10.4.2
10.4.3
10.4.4
10.4.5
10.4.6
10.4.7
10.4.8
10.4.9
10.4.10
10.5.1
10.5.2
10.5.3
10.5.4
10.5.5
10.5.6
10.5.7
10.5.8
10.5.9
10.5.10
Туннелирование, перенаправление портов и другие способы закрепления в системе
Что такое туннелирование и перенаправление портов
Сбор внутренней информации
Динамическая переадресация портов с туннелированием SSH и SOCKS
Удаленная/обратная переадресация портов с помощью SSH
Перенаправление Socat с помощью обратной оболочки и SSH-оболочки для Windows plink. exe
Перенаправление веб-сервера с помощью Rpivot
Переадресация портов в Windows с помощью Netsh
Туннелирование DNS с помощью Dnscat2
Туннелирование ICMP с помощью SOCKS
Туннелирование RDP и SOCKS с помощью SocksOverRDP
10.5.1
10.5.2
10.5.3
10.5.4
10.5.5
10.5.6
10.5.7
10.5.8
10.5.9
10.5.10
10.5.1
10.5.2
10.5.3
10.5.4
10.5.5
10.5.6
10.5.7
10.5.8
10.5.9
10.5.10
Спуфинг — перехват трафика в сети
Атака MITM — «человек посередине»
Запускаем ARP-спуфер Intercepter-NG в Windows
ARP и DNS спуфинг в Linux
Практика Python: ARP-спуфер, спуфер пакетов и DNS-спуфер
Документация и отчетность
Проведя тест на проникновение, нам, как инженерам по информационной безопасности, необходимо подготовить отчёт об обнаруженных проблемах и деталях, с ними связанных. В этом разделе мы научим вас детально вести документацию по тестированию на проникновение и составлению грамотных и исчерпывающих отчётов.
11.1.1
11.1.2
11.1.3
11.1.4
11.1.5
Введение в документацию и отчетность
Ведение заметок и их организация
Типы отчетов и их компоненты
Как написать вывод
Советы и рекомендации по составлению отчетов
11.1.1
11.1.2
11.1.3
11.1.4
11.1.5