Этичный хакинг и пентестинг: от основ до практики

Пошаговое руководство по освоению профессии пентестера, включающее правовые аспекты, работу с сетями и инструментарий для поиска уязвимостей [brunovski.com](https://brunovski.com/articles/pentester-guide-2025.html). Программа построена на актуальных дорожных картах 2025 года и охватывает ключевые навыки для старта в кибербезопасности [codeby.net](https://codeby.net/threads/dorozhnaya-karta-pentestera-v-2025-godu-real-nyi-put-ot-nulya-do-profi.85878/).

1. Основы пентестинга: терминология, правовые нормы и виды тестирования (Black/White/Gray Box)

Основы пентестинга: терминология, правовые нормы и виды тестирования (Black/White/Gray Box)

Добро пожаловать в курс «Этичный хакинг и пентестинг». Это первая статья, в которой мы заложим фундамент для всей дальнейшей работы. Прежде чем запускать сканеры уязвимостей или писать эксплойты, необходимо четко понимать, кто такой пентестер, чем он отличается от преступника и по каким правилам ведется игра.

Что такое пентестинг и этичный хакинг?

Тестирование на проникновение (Pentesting) — это санкционированная имитация кибератаки на компьютерную систему, сеть или веб-приложение для оценки безопасности системы.

Главное отличие пентестера от злоумышленника — это цель и законность. Злоумышленник ищет уязвимости для кражи данных, шантажа или разрушения инфраструктуры. Пентестер ищет те же самые уязвимости, чтобы закрыть их до того, как ими воспользуются преступники.

Согласно Guru99, анализ проникновения опирается на два механизма: оценку уязвимостей и непосредственно тестирование на проникновение (VAPT).

Ключевая терминология

Чтобы говорить на одном языке с профессиональным сообществом, разберем базовые понятия:

* Уязвимость (Vulnerability) — недостаток в системе, коде или настройках, который может быть использован для нарушения политики безопасности. Это «дыра» в защите. * Эксплойт (Exploit) — программный код или последовательность команд, использующая уязвимость для проведения атаки. * Пейлоад (Payload) — полезная нагрузка. Это код, который выполняется в системе после успешной эксплуатации уязвимости (например, запуск командной строки или выгрузка базы данных). * Zero-day (Уязвимость нулевого дня) — уязвимость, о которой еще не знает разработчик программного обеспечения, и для которой не существует официального исправления (патча).

Цветовая дифференциация хакеров

В индустрии принято делить специалистов по их мотивам и методам:

  • White Hat (Белые шляпы) — этичные хакеры. Работают исключительно в рамках закона, имеют письменное разрешение на атаку и предоставляют полный отчет о найденных проблемах.
  • Black Hat (Черные шляпы) — киберпреступники. Взламывают системы ради выгоды, мести или развлечения без разрешения владельца.
  • Gray Hat (Серые шляпы) — находятся на грани. Они могут взломать систему без спроса, но не с целью кражи, а чтобы показать уязвимость владельцу (иногда требуя за это вознаграждение). С точки зрения закона, их действия часто классифицируются как неправомерные.
  • > Пентестеры относятся к категории White Hat. Совмещая навыки программиста и специалиста по кибербезопасности, они выполняют задачи по обнаружению уязвимостей и проверке защитных механизмов. > > Habr

    Правовые нормы: грань между работой и тюрьмой

    Самый важный инструмент пентестера — это не ноутбук с Kali Linux, а договор. Без письменного разрешения владельца системы любые активные действия по поиску уязвимостей являются уголовным преступлением.

    В Российской Федерации деятельность в сфере компьютерной безопасности регулируется Уголовным кодексом (УК РФ). Основные статьи, о которых вы обязаны знать:

    * Статья 272 УК РФ: Неправомерный доступ к компьютерной информации. * Статья 273 УК РФ: Создание, использование и распространение вредоносных компьютерных программ. * Статья 274 УК РФ: Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации.

    Золотое правило: Никогда не проводите тестирование систем, если у вас нет подписанного документа (Scope of Work / NDA), в котором четко прописаны:

  • Объекты тестирования (конкретные IP-адреса, домены).
  • Разрешенные методы атак.
  • Временные рамки проведения работ.
  • Контактные лица для экстренной связи.
  • Виды тестирования: Black, White и Gray Box

    Методология проведения пентеста зависит от того, сколько информации о целевой системе есть у атакующего на старте.

    1. Black Box (Черный ящик)

    В этом сценарии пентестер находится в положении реального внешнего хакера. У него нет никакой информации о внутренней структуре системы, исходном коде или учетных данных. Известно только название компании или адрес сайта.

    Особенности: * Максимальная реалистичность имитации внешней атаки. * Требует много времени на разведку (OSINT). * Высокий риск пропустить уязвимости, которые не видны «снаружи».

    > Черный ящик — это игра вслепую. Пентестер имитирует действия внешнего злоумышленника, который ничего не знает об инфраструктуре компании и ее сервисах. > > Habr (Бастион)

    2. White Box (Белый ящик)

    Полная противоположность черному ящику. Пентестеру предоставляется полный доступ: исходный код приложений, схемы сети, документация, права администратора. Часто этот процесс называют аудитом безопасности или анализом кода.

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

    3. Gray Box (Серый ящик)

    Золотая середина и самый популярный вид коммерческого пентестинга. Специалисту предоставляются частичные данные, например, учетная запись обычного пользователя системы, но без прав администратора и доступа к исходному коду.

    Особенности: * Имитирует атаку инсайдера (нелояльного сотрудника) или хакера, который уже украл чей-то пароль. * Позволяет проверить разделение прав доступа (IDOR, Privilege Escalation). * Экономит время на начальную разведку, позволяя сосредоточиться на поиске сложных уязвимостей.

    Оценка рисков: математика безопасности

    После того как уязвимость найдена, пентестер должен оценить её критичность. Не все «дыры» одинаково опасны. Для базовой оценки риска часто используется следующая логика, которую можно выразить формулой:

    Где: * — итоговый уровень риска (например, Низкий, Средний, Высокий, Критический). * — вероятность эксплуатации уязвимости. Зависит от сложности атаки и доступности эксплойта. * — влияние на бизнес. Какой ущерб будет нанесен, если уязвимость используют (потеря денег, утечка данных, остановка сервиса).

    Пример расчета: Представим, что мы нашли SQL-инъекцию на сайте.

  • Вероятность (): Высокая, так как атаку можно провести автоматически простым инструментом.
  • Влияние (): Критическое, так как можно выгрузить всю базу данных клиентов.
  • Итог (): Критический риск. Эту уязвимость нужно закрывать немедленно.
  • Если же мы нашли раскрытие версии веб-сервера (информационная уязвимость):

  • Вероятность: Высокая.
  • Влияние: Низкое (само по себе это не дает доступа).
  • Итог: Низкий риск (Info).
  • Этапы пентестинга

    Любой профессиональный тест на проникновение, независимо от выбранного «ящика», проходит по стандартизированному циклу. Согласно Cyber-ed, специалисты учатся проводить тестирование от разведки до отчёта. Обычно выделяют следующие этапы:

  • Разведка (Reconnaissance): Сбор информации о цели (IP-адреса, почты сотрудников, технологии).
  • Сканирование (Scanning): Активный поиск открытых портов и сервисов.
  • Получение доступа (Gaining Access): Эксплуатация найденных уязвимостей.
  • Пост-эксплуатация (Post-exploitation): Повышение привилегий, сбор данных, закрепление в системе.
  • Очистка следов (Covering Tracks): Удаление логов и созданных файлов (важно для этичности).
  • Отчетность (Reporting): Написание подробного документа с описанием уязвимостей и рекомендациями по их устранению.
  • Итоги

    * Этичный хакинг отличается от преступления наличием официального разрешения (договора) и целью — улучшить защиту, а не нанести вред. * White Box дает полный доступ к системе для глубокого аудита, Black Box имитирует реальную атаку вслепую, а Gray Box проверяет систему от лица обычного пользователя. * Без письменного согласия владельца системы любые попытки поиска уязвимостей незаконны и подпадают под статьи УК РФ (272-274). * Оценка риска строится на произведении вероятности взлома на потенциальный ущерб для бизнеса.

    2. Технический минимум: архитектура сетей, протоколы TCP/IP и операционные системы Linux/Windows

    Технический минимум: архитектура сетей, протоколы TCP/IP и операционные системы Linux/Windows

    В предыдущей статье мы разобрали юридические аспекты и терминологию. Теперь переходим к инструментарию. Пентестер не может искать уязвимости в системе, если не понимает, как эта система работает. Взлом — это не магия, а использование нестандартных путей в стандартных протоколах и операционных системах.

    Эта статья — ваш фундамент. Мы разберем, как данные перемещаются по сети (TCP/IP), как рассчитывать адресацию и почему Linux является основной ОС для хакера.

    Сетевые модели: карта местности

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

    Модель OSI vs TCP/IP

    Существует две основные модели: теоретическая OSI (7 уровней) и практическая TCP/IP (4 уровня). В реальном мире интернет построен на стеке TCP/IP, но для точного описания проблем специалисты часто используют терминологию OSI.

    Согласно HackerLab, модель OSI описывает сетевое взаимодействие в виде семи логических уровней — от физических сигналов до приложений. Однако TCP/IP компактнее и лучше отражает реальность.

    Сравним их структуру:

    | Уровень OSI | Уровень TCP/IP | Протоколы | Задача | | :--- | :--- | :--- | :--- | | 7. Прикладной | Прикладной | HTTP, DNS, SSH | Взаимодействие с пользователем | | 6. Представления | Прикладной | SSL/TLS, JPEG | Кодирование и шифрование | | 5. Сеансовый | Прикладной | Sockets | Управление сессией | | 4. Транспортный | Транспортный | TCP, UDP | Доставка данных и надежность | | 3. Сетевой | Межсетевой (Internet) | IP, ICMP | Маршрутизация и адресация | | 2. Канальный | Канальный (Link) | Ethernet, ARP | Физическая адресация (MAC) | | 1. Физический | Канальный (Link) | Wi-Fi, оптоволокно | Передача битов |

    > Модель TCP/IP представляет собой стек протоколов, определяющий правила передачи данных в сети. Название модели происходит от двух главных протоколов: TCP и IP. > > Skillbox Media

    Разбор ключевых протоколов для пентестера

    Пентестер работает преимущественно на транспортном и сетевом уровнях. Рассмотрим их детально.

    Сетевой уровень (IP и Subnetting)

    Здесь живут IP-адреса. Главная задача этого уровня — доставить пакет от отправителя к получателю через множество маршрутизаторов.

    IPv4 — это 32-битное число, записанное как 4 октета (например, 192.168.1.1).

    Для понимания масштаба сети используется маска подсети (Subnet Mask). В пентестинге важно уметь быстро считать количество хостов в сети, чтобы понимать объем работ при сканировании. Часто используется CIDR-нотация (например, /24).

    Формула расчета доступных хостов в подсети:

    Где: * — количество доступных для назначения хостов (адресов устройств). * — общее количество бит в IPv4 адресе. * — префикс сети (число после слэша, например, 24). * — основание двоичной системы счисления. * — вычитаем адрес самой сети и широковещательный адрес (broadcast), так как их нельзя назначить устройству.

    Пример расчета для сети /24: У нас есть сеть 192.168.1.0/24. Подставим значения в формулу:

    Итог: в такой сети может быть 254 активных устройства, которые нам предстоит просканировать.

    Транспортный уровень (TCP vs UDP)

    Здесь решается вопрос, как передавать данные. Два главных антагониста:

  • TCP (Transmission Control Protocol) — надежный, но медленный. Требует установления соединения («рукопожатия»). Гарантирует, что данные дойдут в правильном порядке.
  • UDP (User Datagram Protocol) — быстрый, но ненадежный. Отправляет пакеты «в никуда», не заботясь о доставке (видеостриминг, DNS).
  • Для хакера разница критична при сканировании портов. Сканирование TCP требует полноценного взаимодействия с сервисом, что делает его более заметным для систем защиты (IDS/IPS).

    > TCP предоставляет ряд гарантий, которые обеспечивают успешную передачу информации. Использование TCP критически важно для приложений, требующих высокой надежности. > > Skillbox Media

    Прикладной уровень: DNS и HTTP

    DNS (Domain Name System) — это телефонная книга интернета. Она преобразует домены (google.com) в IP-адреса (142.250.185.78). Атаки на DNS (спуфинг) позволяют перенаправлять пользователей на фишинговые сайты.

    HTTP/HTTPS — основа веба. Пентестеры веб-приложений проводят 90% времени, анализируя HTTP-заголовки и методы (GET, POST), чтобы найти уязвимости вроде SQL Injection или XSS.

    Операционные системы: Linux и Windows

    Пентестер должен быть «амбидекстром»: атаковать Windows-инфраструктуру, используя инструменты на Linux.

    Linux: Оружие хакера

    Большинство инструментов для пентестинга (Nmap, Metasploit, Wireshark) нативно работают в Linux. Самый популярный дистрибутив — Kali Linux.

    Ключевая концепция: Права доступа В Linux все является файлом. Безопасность строится на правах доступа: чтение (r), запись (w), исполнение (x). Права часто записываются числами. Понимание этого механизма необходимо для эскалации привилегий (Privilege Escalation) — процесса получения прав суперпользователя (root) после взлома.

    Формула расчета числового значения прав:

    Где: * — итоговое числовое значение прав для конкретной группы (владелец, группа, остальные). * — значение права на чтение (Read), равно 4. * — значение права на запись (Write), равно 2. * — значение права на исполнение (Execute), равно 1.

    Пример: Команда chmod 755 file.sh означает:

  • Владелец: (полный доступ).
  • Группа: (чтение и исполнение).
  • Остальные: (чтение и исполнение).
  • Windows: Главная мишень

    В корпоративном секторе доминирует Windows. Пентестер обязан знать:

  • Active Directory (AD) — служба каталогов для управления пользователями и компьютерами в сети. Это «Святой Грааль» для хакера: получив доступ к контроллеру домена AD, вы контролируете всю компанию.
  • Реестр (Registry) — база данных настроек ОС. Здесь часто хранятся пароли в открытом виде или следы активности пользователей.
  • SMB (Server Message Block) — протокол для общего доступа к файлам. Уязвимости в SMB (например, EternalBlue) приводили к глобальным эпидемиям вирусов-шифровальщиков.
  • Как это работает вместе?

    По данным Habr, когда вы вводите URL в браузере, задействуются все уровни:

  • DNS (Прикладной) находит IP сервера.
  • TCP (Транспортный) создает соединение.
  • IP (Сетевой) маршрутизирует пакеты.
  • Ethernet (Канальный) передает кадры через кабель или Wi-Fi.
  • Пентестер ищет слабое звено в этой цепи. Это может быть незашифрованный протокол (HTTP), открытый порт базы данных или сервер с правами 777 на критичных файлах.

    Итоги

  • TCP/IP — основной язык интернета. Модель состоит из 4 уровней: Канальный, Сетевой (IP), Транспортный (TCP/UDP), Прикладной.
  • IP-адресация и маски определяют границы сети. Формула позволяет понять количество потенциальных целей в подсети.
  • TCP гарантирует доставку (важно для надежности), UDP — скорость (важно для потоков). Разница в протоколах влияет на методы сканирования портов.
  • Linux использует систему прав rwx (4-2-1). Ошибки в настройке прав — частый путь к повышению привилегий до root.
  • Windows является основной целью в корпоративных сетях, а Active Directory — ключевым вектором атаки для захвата контроля над инфраструктурой.