1. Введение в этичный хакинг: Методология и закон
Этичный хакинг (или пентест) — это санкционированная, легальная попытка обойти систему безопасности компании для выявления уязвимостей. Главное отличие от преступной деятельности — наличие договора и четко определенной области (Scope). Вы действуете с разрешения и в интересах заказчика.
Этапы классического пентеста (PTES):
+------------------------+ | 1. Сбор информации | -> Пассивный этап, OSINT | (Intelligence Gathering) | +------------------------+ | v +------------------------+ | 2. Сканирование | -> Активный этап, Nmap | (Scanning & Enum) | +------------------------+ | v +------------------------+ | 3. Эксплуатация | -> Получение первоначального доступа | (Exploitation) | +------------------------+ | v +------------------------+ | 4. Пост-эксплуатация | -> Повышение привилегий, продвижение | (Post-Exploitation) | +------------------------+ | v +------------------------+ | 5. Отчетность | -> Самый важный этап! | (Reporting) | +------------------------+
Законность — превыше всего! Никогда не пытайтесь сканировать или атаковать системы без явного письменного разрешения их владельца. Это уголовно наказуемое преступление.
2. Введение в OSINT (Часть 1): Техническая разведка
Open Source Intelligence (OSINT) — это сбор информации о цели из общедоступных источников. Наша задача — составить цифровой "чертеж" компании, не отправив ни одного пакета на ее серверы.
Поиск поддоменов
Поддомены (`dev.`, `test.`, `vpn.`) часто бывают хуже защищены. Инструменты: Sublist3r, Amass, Findomain.
Анализ DNS и IP-инфраструктуры
whois
, dig
, nslookup
— наши базовые инструменты. Сервисы вроде Censys и Shodan позволяют искать хосты с определенными баннерами, портами и уязвимостями по всему интернету.
# Найти все хосты в сети AS12345, у которых открыт 3389 порт (RDP)
# Запрос для Shodan.io:
org:"Target Company" port:"3389"
Google Dorking
Использование операторов поиска Google для нахождения конфиденциальной информации.
site:target.com filetype:xls intext:password
— поиск Excel-файлов с паролями.inurl:admin.php intitle:"Login" site:target.com
— поиск страниц входа в админ-панели.
3. Введение в OSINT (Часть 2): Человеческий фактор и утечки кода
Сбор информации о сотрудниках
LinkedIn — основной источник. Мы ищем ФИО, должности (особенно системных администраторов, разработчиков), используемые технологии. Эта информация бесценна для целевого фишинга. Инструмент theHarvester автоматизирует сбор email-адресов.
Поиск утечек в коде
GitHub, GitLab — разработчики часто по ошибке "заливают" в публичные репозитории исходный код с паролями, ключами API, токенами доступа. Используйте поиск по GitHub с ключевыми словами вроде `target.com password` или `api_key`.
Технологический стек
Расширения для браузера Wappalyzer и BuiltWith показывают, на каких технологиях работает сайт (CMS, веб-сервер, фреймворки, аналитические системы). Зная версию, мы можем искать для нее уязвимости.
5. Сетевое сканирование: Составление карты сети
Переходим к активным действиям. Наша задача — определить "живые" хосты, открытые порты и работающие сервисы. Главный инструмент — Nmap.
# Комплексное сканирование с определением версий, ОС и запуском скриптов
sudo nmap -sS -sV -sC -O -T4 -p- scanme.nmap.org
# Расшифровка флагов:
# -sS : SYN-сканирование (быстрое и незаметное)
# -sV : Определить версии сервисов
# -sC : Запустить стандартные скрипты NSE
# -O : Попытаться определить операционную систему
# -T4 : Агрессивный тайминг (быстрее)
# -p- : Сканировать все 65535 TCP-портов
Другие важные сканеры: masscan (для очень быстрого сканирования огромных диапазонов IP), сканеры веб-контента dirb, gobuster, feroxbuster (ищут скрытые файлы и директории на веб-серверах).
6. Управление уязвимостями (Часть 1): Автоматизированный анализ
На этом этапе мы систематически ищем известные слабые места. Основа — база данных CVE (Common Vulnerabilities and Exposures). Каждая известная уязвимость имеет свой уникальный номер, например, CVE-2021-44228 (Log4Shell).
Сканеры уязвимостей (Nessus, OpenVAS, Qualys):
Эти инструменты автоматизируют процесс. Они берут результаты сканирования Nmap, определяют версии сервисов и сверяют их с базой CVE. Затем они проводят безопасные проверки, чтобы подтвердить наличие уязвимости. Результат — детальный отчет с оценкой критичности каждой уязвимости по шкале CVSS (Common Vulnerability Scoring System) от 0 до 10.
7. Управление уязвимостями (Часть 2): Ручной анализ и верификация
Автоматика — это хорошо, но она не всесильна. Задача пентестера — проанализировать отчет сканера и:
- Отсеять ложные срабатывания (False Positives): Сканер мог ошибиться. Нужно вручную проверить, действительно ли уязвимость существует и применима.
- Найти то, что пропустил сканер: Сканеры плохо находят логические уязвимости, проблемы с контролем доступа (IDOR), уязвимости "нулевого дня".
- Найти эксплойты: Используя Exploit-DB, SearchSploit и GitHub, найти готовый код для эксплуатации подтвержденных уязвимостей.
- Оценить бизнес-риск: Уязвимость с CVSS 9.8 на тестовом сервере без данных может быть менее рискованной, чем уязвимость с CVSS 6.0 на сервере с базой данных клиентов.
8. Атаки на сетевом уровне
Здесь мы эксплуатируем уязвимости в сетевых протоколах.
- ARP Spoofing (MITM): Отравление ARP-кэша в локальной сети. Инструменты: arpspoof, ettercap. Позволяет перехватывать трафик между жертвой и шлюзом.
- LLMNR/NBT-NS Poisoning: Перехват запросов на разрешение имен в Windows-сетях. Инструмент: Responder. Позволяет получить NTLMv2-хэши паролей пользователей.
- VLAN Hopping: Атака в сетях с VLAN, позволяющая перепрыгнуть из одного VLAN в другой, к которому у атакующего не должно быть доступа.
9. Атаки на приложения
Это огромная область, основанная на OWASP Top 10. Мы уже рассматривали ее, но в контексте пентеста акцент делается на эксплуатации.
Инструментарий:
- Burp Suite: Главный инструмент. Его модуль Repeater позволяет вручную изменять и пересылать запросы, Intruder — автоматизировать перебор (например, для поиска IDOR), Scanner — автоматически искать уязвимости.
- sqlmap: Лучший инструмент для автоматической эксплуатации SQL-инъекций.
- Commix / Gason: Инструменты для эксплуатации Command Injection уязвимостей.
10. Сбор и взлом учётных данных
Получение валидных учетных данных часто является целью №1. Как мы их получаем и используем?
- Пассивный сбор: Поиск утечек в базах данных (Have I Been Pwned), поиск паролей по умолчанию для устройств.
- Активный онлайн-перебор:
- Password Spraying: Пробуем 1-2 популярных пароля (`Winter2024!`) против большого списка пользователей. Менее "шумный" метод.
- Brute Force: Перебираем тысячи паролей для одной учетной записи. Очень "шумно", скорее всего, приведет к блокировке.
- Инструменты: Hydra, Medusa, Metasploit.
- Оффлайн-взлом хэшей:
- Получение хэшей: С помощью Responder, из SAM/NTDS.dit файлов, из баз данных.
- Взлом: Используем John the Ripper (простой, со словарями) или Hashcat (очень быстрый, использует GPU) для подбора пароля по хэшу.
11. Устройство Active Directory: Цель №1
Active Directory (AD) — это нервная система большинства корпоративных сетей. Для пентестера это означает, что захват AD равносилен полной победе. Ключевые компоненты, на которые мы нацеливаемся:
- Контроллер домена (DC): Сервер, хранящий базу NTDS.dit со всеми хэшами.
- Kerberos: Протокол аутентификации. Его слабости можно эксплуатировать.
- Групповые политики (GPO): Централизованно управляют настройками компьютеров. Захватив их, можно распространить вредоносное ПО на всю сеть.
- Пользователи и группы: Наша цель — найти путь от обычного пользователя до члена группы `Domain Admins`.
12. Атаки на Active Directory: Путь к трону
Это комплексный процесс, часто называемый "AD Kill Chain".
- Разведка внутри сети: После получения первоначального доступа мы должны сориентироваться. Инструмент BloodHound собирает информацию об пользователях, группах, сессиях и строит граф атак, показывающий кратчайший путь к правам администратора домена.
- Kerberoasting: Запрашиваем Kerberos-билет для сервисной учетной записи (SPN). В этом билете зашифрована часть, подписанная хэшем пароля сервисной учетной записи. Извлекаем этот хэш и взламываем его оффлайн. Сервисные аккаунты часто имеют слабые пароли.
- Pass the Hash (PtH): Если мы получили NTLM-хэш пароля пользователя, нам не нужно его взламывать. В Windows-сетях можно аутентифицироваться, используя сам хэш. Инструменты: Mimikatz, Impacket.
- Golden Ticket: Если мы получили хэш пароля специальной учетной записи `krbtgt`, мы можем создать "золотой билет" Kerberos — универсальный пропуск, который позволяет нам стать кем угодно в домене на 10 лет. Это фактически Game Over.
4. Социальная инженерия: Взлом человека
Это искусство манипулирования людьми. Даже самая защищенная система бесполезна, если администратор сам отдаст вам пароль.
Фишинг и его виды
Phishing — массовая рассылка поддельных писем. Spear Phishing — целевая атака на конкретного человека, с использованием информации из OSINT (имя, должность, проекты). Whaling — Spear Phishing, нацеленный на топ-менеджмент.
Автоматизация и защита (Stopphish)
Для атаки: фреймворк Gophish позволяет создавать фишинговые шаблоны, рассылать их и отслеживать, кто "клюнул".
Для защиты: