Модуль 5 • Урок 13

Анализ защищенности: Путь пентестера

Наденьте "черную шляпу" во благо. Научитесь думать и действовать как атакующий, чтобы находить уязвимости раньше, чем это сделают злоумышленники.

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, веб-сервер, фреймворки, аналитические системы). Зная версию, мы можем искать для нее уязвимости.

4. Социальная инженерия: Взлом человека

Это искусство манипулирования людьми. Даже самая защищенная система бесполезна, если администратор сам отдаст вам пароль.

Фишинг и его виды

Phishing — массовая рассылка поддельных писем. Spear Phishing — целевая атака на конкретного человека, с использованием информации из OSINT (имя, должность, проекты). Whaling — Spear Phishing, нацеленный на топ-менеджмент.

Автоматизация и защита (Stopphish)

Для атаки: фреймворк Gophish позволяет создавать фишинговые шаблоны, рассылать их и отслеживать, кто "клюнул".

Для защиты:

  • Технически: SPF, DKIM, DMARC для защиты от подделки домена; спам-фильтры.
  • Организационно: Обучение сотрудников, регулярные симуляции фишинговых атак.
  • Ключевая мера: Многофакторная аутентификация (MFA).

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. Как мы их получаем и используем?

  1. Пассивный сбор: Поиск утечек в базах данных (Have I Been Pwned), поиск паролей по умолчанию для устройств.
  2. Активный онлайн-перебор:
    • Password Spraying: Пробуем 1-2 популярных пароля (`Winter2024!`) против большого списка пользователей. Менее "шумный" метод.
    • Brute Force: Перебираем тысячи паролей для одной учетной записи. Очень "шумно", скорее всего, приведет к блокировке.
    • Инструменты: Hydra, Medusa, Metasploit.
  3. Оффлайн-взлом хэшей:
    • Получение хэшей: С помощью 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".

  1. Разведка внутри сети: После получения первоначального доступа мы должны сориентироваться. Инструмент BloodHound собирает информацию об пользователях, группах, сессиях и строит граф атак, показывающий кратчайший путь к правам администратора домена.
  2. Kerberoasting: Запрашиваем Kerberos-билет для сервисной учетной записи (SPN). В этом билете зашифрована часть, подписанная хэшем пароля сервисной учетной записи. Извлекаем этот хэш и взламываем его оффлайн. Сервисные аккаунты часто имеют слабые пароли.
  3. Pass the Hash (PtH): Если мы получили NTLM-хэш пароля пользователя, нам не нужно его взламывать. В Windows-сетях можно аутентифицироваться, используя сам хэш. Инструменты: Mimikatz, Impacket.
  4. Golden Ticket: Если мы получили хэш пароля специальной учетной записи `krbtgt`, мы можем создать "золотой билет" Kerberos — универсальный пропуск, который позволяет нам стать кем угодно в домене на 10 лет. Это фактически Game Over.