Penetration Testing — основы

Penetration Testing (пентест) — санкционированное имитирование атаки на систему с целью выявления уязвимостей до того, как это сделают реальные злоумышленники.

Зачем нужно

Автоматические сканеры находят только известные уязвимости по сигнатурам. Пентест воспроизводит логику атакующего: цепочку уязвимостей, бизнес-логические ошибки, неочевидные пути. Для разработчика понимание методологии помогает проектировать более защищённые системы.

Где используется

  • Pre-release аудит новых функций и сервисов
  • Ежегодная проверка соответствия (PCI DSS, ISO 27001)
  • После инцидентов безопасности для анализа вектора атаки
  • Проверка инфраструктуры (сети, серверы, API)

Основной контент

Методология: 5 фаз

1. Reconnaissance   — сбор информации (DNS, WHOIS, shodan, subdomains)
2. Scanning         — сканирование портов, fingerprinting сервисов
3. Exploitation     — попытки эксплуатации найденных уязвимостей
4. Post-Exploitation — закрепление, pivoting, сбор данных
5. Reporting        — отчёт с PoC, severity, рекомендациями

Базовые инструменты

# Сканирование портов
nmap -sV -sC -p- target.example.com

# Перебор поддоменов
subfinder -d example.com | httpx

# Тест SSL/TLS конфигурации
testssl.sh https://example.com

# Поиск скрытых директорий
feroxbuster -u https://example.com -w /usr/share/wordlists/dirb/common.txt

# Перехват HTTP-трафика
# Burp Suite — де-факто стандарт для веб-пентеста

Классификация тестирования

Тип Знания атакующего Применение
Black Box Ничего Имитация внешнего хакера
Grey Box Частичные (роль пользователя) API, веб-приложение
White Box Полные (код, архитектура) Максимально полный аудит

Типичные векторы атак на веб-приложения

- SQL Injection / NoSQL Injection
- XSS (Reflected, Stored, DOM)
- IDOR / Broken Access Control
- SSRF / Open Redirect
- Business Logic Flaws
- Authentication Bypass
- JWT алгоритм confusion (RS256 → HS256)

Частые ошибки

  • Тестирование без письменного разрешения (scope agreement) — юридически является преступлением
  • Тестирование production-системы с реальными пользователями без изоляции
  • Остановка на первой найденной уязвимости — важна цепочка и итоговый impact
  • Отчёт без PoC — команда разработки не может воспроизвести и исправить

Связанные темы

Ресурсы