Прокси-ротация для пентестов и Bug Bounty: руководство по авторизованному тестированию

Практическое руководство для авторизованных пентестеров и баг-хантеров по использованию ротации резидентных прокси при subdomain enumeration, content discovery и сканировании уязвимостей в рамках легального scope.

Прокси-ротация для пентестов и Bug Bounty: руководство по авторизованному тестированию

Зачем пентестерам нужна ротация прокси

Каждый пентестер и баг-хантер сталкивается с одной и той же проблемой: система защиты цели блокирует ваш IP ещё до того, как вы закончили разведку. WAF считают запросы, CDN режут скорость, а rate-limit возвращает 429 на каждый третий эндпоинт. При этом правила программы Bug Bounty требуют, чтобы вы оставались внутри scope и не «ддосили» цель.

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

Важно: данное руководство предназначено исключительно для авторизованных тестов на проникновение и программ Bug Bounty. Тестирование систем без явного разрешения является незаконным и может повлечь уголовную ответственность.

Правовая рамка: авторизация, scope и safe harbor

Что означает «авторизованный scope»

Прежде чем запускать любой инструмент, убедитесь, что у вас есть:

  • Явное разрешение — программа Bug Bounty на платформе (HackerOne, Bugcrowd, Intigriti) или подписанный договор на пентест.
  • Чёткие границы scope — список доменов, IP-диапазонов, субдоменов и типов тестирования, которые разрешены.
  • Safe harbor条款 — юридическая защита, гарантирующая, что при соблюдении правил программы вас не преследуют по закону.

Если программа Bug Bounty не публикует safe harbor — уточните у triager перед началом активного тестирования. Без safe harbor даже «добрые намерения» не защищают от юридических рисков.

Тестирование за пределами scope — незаконно

Обнаружили интересный субдомен, которого нет в scope? Не сканируйте его. Нашли уязвимость на связанном сервисе? Не эксплуатируйте. Отправьте отчёт и спросите разрешение. Тестирование за пределами scope — это нарушение закона о компьютерных преступлениях (CFAA в США, УК РФ ст. 272, аналогичные законы в других юрисдикциях), независимо от ваших намерений.

Subdomain discovery: распределённая пассивная разведка

Пассивная разведка (OSINT) обычно не триггерит WAF — вы запрашиваете данные у третьих сторон (Certificate Transparency, DNS aggregators, поисковые кэши). Но когда вы переходите к активному перечислению — DNS brute-force, permutation-based enumeration — каждый запрос идёт к авторитетным DNS-серверам цели.

Резидентные прокси решают две задачи:

  1. Распределение нагрузки — запросы приходят с разных IP, не создавая аномального трафика на DNS-резолверах цели.
  2. Анонимизация источника — целевой домен не видит, что все запросы идут от одного исследователя, что снижает риск блокировки ещё до начала активного тестирования.

Amass с прокси ProxyHat

Amass поддерживает HTTP/SOCKS5 прокси через переменные окружения. Для распределённого перечисления субдоменов:

# Установка переменных окружения для Amass
export HTTP_PROXY=http://user-country-US:PASSWORD@gate.proxyhat.com:8080
export HTTPS_PROXY=http://user-country-US:PASSWORD@gate.proxyhat.com:8080

# Пассивное + активное перечисление с ограничением скорости
amass enum -passive -d example.com -o subdomains_passive.txt
amass enum -brute -d example.com -rate 50 -o subdomains_active.txt

Флаг -rate 50 ограничивает скорость до 50 запросов в минуту — это важно для соблюдения rate-limit политики программы. Резидентный прокси обеспечивает географическое распределение, а -rate гарантирует, что вы не перегружаете инфраструктуру цели.

Subfinder: пассивная разведка без касания цели

Subfinder работает исключительно с пассивными источниками, поэтому прокси нужен скорее для OSINT-гигиены — чтобы не раскрывать ваш реальный IP агрегаторам данных:

# Subfinder через прокси
export HTTP_PROXY=http://user-country-US:PASSWORD@gate.proxyhat.com:8080
subfinder -d example.com -all -o subdomains_subfinder.txt

Asset discovery: DNS brute-force и content discovery

После пассивной разведки приходит черёд активного обнаружения — DNS brute-force и content discovery (fuzzing директорий, параметров, API-эндпоинтов). Именно здесь начинается основное давление на WAF и rate-limiter'ы цели.

DNS brute-force с распределёнными IP

Инструменты вроде amass enum -brute или dnsx генерируют тысячи DNS-запросов. Когда все они идут с одного IP, авторитетные DNS-серверы цели могут временно блокировать резолвер. Ротация резидентных IP смягчает этот эффект.

Рекомендуемая стратегия:

  • Используйте sticky-сессии для DNS-запросов к одному домену — это имитирует поведение легитимного рекурсивного резолвера.
  • Переключайте IP между разными целевыми доменами.
  • Ограничивайте скорость в соответствии с правилами программы.

Content discovery с ffuf через прокси

ffuf — один из самых популярных фаззеров для content discovery. Он поддерживает прокси «из коробки»:

# Content discovery через ротацию резидентных прокси
ffuf -u https://example.com/FUZZ \
    -w /opt/wordlists/seclists/Discovery/Web-Content/raft-medium-directories.txt \
    -x http://user-country-US:PASSWORD@gate.proxyhat.com:8080 \
    -rate 30 \
    -mc 200,301,302,403 \
    -o ffuf_results.json

# Fuzzing параметров API
ffuf -u https://api.example.com/v1/users?FUZZ=test \
    -w /opt/wordlists/seclists/Discovery/Web-Content/burp-parameter-names.txt \
    -x http://user-country-US:PASSWORD@gate.proxyhat.com:8080 \
    -rate 20 \
    -mc 200,401,403,500

Обратите внимание на -rate 30 — 30 запросов в секунду это разумный потолок для большинства Bug Bounty программ. Некоторые программы явно указывают максимальную скорость (например, «не более 5 rps»). Всегда проверяйте правила конкретной программы.

Gobuster: альтернативный фаззер

Gobuster также поддерживает прокси:

# Gobuster dir через прокси
gobuster dir -u https://example.com \
    -w /opt/wordlists/seclists/Discovery/Web-Content/common.txt \
    -p http://user-country-US:PASSWORD@gate.proxyhat.com:8080 \
    -t 10 \
    --delay 50ms

Сравнение инструментов для asset discovery

ИнструментТипПоддержка проксиКонтроль скоростиЛучший сценарий
AmassSubdomain enumEnv vars-rateКомплексное перечисление
SubfinderПассивный OSINTEnv varsN/A (пассивный)Первичный сбор субдоменов
ffufContent/param fuzz-x flag-rateБыстрый fuzzing директорий и API
GobusterContent/DNS fuzz-p flag--delay, -tПростой directory brute-force
NucleiVulnerability scanEnv vars-rate-limitШаблонное сканирование уязвимостей

Scanner-traffic blending: Burp Suite + резидентный прокси

Когда вы переходите к ручному тестированию в Burp Suite, ваш IP уже может быть в блок-листе WAF из-за предыдущей активной разведки. Решение — направить Burp через upstream резидентный прокси.

Настройка upstream прокси в Burp Suite

  1. Откройте Project Options → Connections → Upstream Proxy Servers.
  2. Добавьте правило: Destination host = * (все хосты).
  3. Укажите proxy host: gate.proxyhat.com, port: 8080.
  4. В поле authentication введите username и password от ProxyHat.
  5. Для гео-таргетинга добавьте флаг страны в username: user-country-US.

Теперь весь трафик Burp (Spider, Scanner, Repeater) идёт через резидентный прокси. WAF видит запросы с обычного резидентного IP, а не с дата-центрового IP, который уже может быть в блок-листе.

Стратегии ротации в Burp

  • Per-request ротация — каждый запрос идёт с нового IP. Полезно при активном сканировании (Scanner), но может ломать сессии. Используйте стандартный username без session-флага.
  • Sticky-сессии — фиксируйте IP на время сессии. Добавьте -session-abc123 в username ProxyHat. Необходимо для тестирования авторизованных эндпоинтов, где важна привязка к одному IP.
  • Гео-таргетинг — тестируете доступность из разных регионов? Используйте user-country-DE, user-country-JP и т.д. в username.

Пример конфигурации для Burp Scanner

При запуске Burp Scanner на авторизованном scope:

  • Ограничьте количество одновременных запросов: Intruder → Resource pool → Maximum concurrent requests = 5.
  • Установите delay между запросами: 100-300ms для имитации ручного тестирования.
  • Используйте sticky-сессии прокси для каждого сканируемого хоста, чтобы WAF не видел скачков между IP в рамках одной «сессии».

Rate-limit этикет: уважайте инфраструктуру цели

Программы Bug Bounty существуют, потому что компании доверяют исследователям. Злоупотребление этим доверием вредит всем.

Практические лимиты

  • Проверяйте правила программы — некоторые явно указывают максимальную скорость запросов (например, «не более 5 запросов в секунду»).
  • Если лимит не указан — начинайте с 10-20 rps и увеличивайте, если не получаете 429. Это консервативный подход, который не создаст проблем.
  • Мониторьте ответы — если видите 429 или 503, немедленно снижайте скорость. Не пытайтесь «пробить» rate-limit ротацией IP — это нарушение этики Bug Bounty.
  • Используйте задержки — даже если WAF не блокирует, добавляйте 50-100ms задержки между запросами. Это имитирует реальное поведение и снижает нагрузку на инфраструктуру.

Ротация прокси ≠ обход rate-limit

Это ключевое различие. Ротация прокси помогает:

  • Избежать ложных срабатываний WAF на аномальный паттерн трафика с одного IP.
  • Получить корректные ответы от CDN, которые по-разному обслуживают разные регионы.
  • Протестировать geofencing и региональные различия в авторизованном scope.

Ротация прокси НЕ помогает:

  • Обойти явный rate-limit программы — это нарушение правил.
  • Увеличить скорость сканирования сверх разрешённой — это DoS.
  • Тестировать эндпоинты за пределами scope — это незаконно.

Типы прокси для пентестов: что выбрать

Тип проксиПреимуществаНедостаткиСценарий использования
РезидентныеВысокая доверенность IP, обход CDN-фильтров, гео-таргетингВыше задержка, выше стоимостьActive scanning, Burp Suite, content discovery
Дата-центровыеНизкая задержка, низкая стоимость, высокая скоростьЛегко детектируются как прокси, часто в блок-листахПассивная разведка, DNS brute-force
МобильныеМаксимальная доверенность, ротация естественноВыше стоимость, ограниченная географияТестирование мобильных API, социальные сети

OSINT-сбор без атрибуции: почему это важно

Для OSINT-аналитиков и исследователей безопасности критически важно не раскрывать свою личность при сборе информации. Резидентные прокси обеспечивают:

  • Отсутствие атрибуции — цель видит запросы от обычных резидентных IP, а не от IP дата-центров, которые можно связать с исследователем безопасности.
  • Географическое распределение — запросы из разных стран выглядят как органический трафик, а не как целенаправленная разведка.
  • Изоляция — ваш реальный IP никогда не контактирует с целевой инфраструктурой.

Это особенно важно при исследовании фишинговых инфраструктур, командных серверов (C2) и других вредоносных ресурсов, где раскрытие IP исследователя может привести к блокировке или даже контратаке.

Практический workflow: от разведки до отчёта

Вот рекомендуемая последовательность действий для авторизованного Bug Bounty-исследования:

  1. Проверка scope — убедитесь, что целевой домен входит в программу. Проверьте safe harbor.
  2. Пассивная разведка — Subfinder, Amass passive. Используйте дата-центровые прокси для скорости.
  3. Активное перечисление субдоменов — Amass brute, DNS brute-force. Переключитесь на резидентные прокси, ограничьте скорость до 20-30 rps.
  4. Content discovery — ffuf, Gobuster. Резидентные прокси, 10-30 rps, мониторинг 429.
  5. Ручное тестирование — Burp Suite через upstream резидентный прокси со sticky-сессиями.
  6. Автоматизированное сканирование — Nuclei с rate-limit и прокси. Только для шаблонов, разрешённых программой.
  7. Документирование — фиксируйте все запросы, ответы, таймстемпы для воспроизводимости.

Key Takeaways

1. Авторизация — обязательное условие. Без явного разрешения и чёткого scope любое тестирование незаконно. Проверяйте safe harbor перед началом.

2. Ротация прокси — для качества, а не для обхода. Цель — получить корректные ответы от WAF и CDN, а не «пробить» rate-limit. Уважайте лимиты программы.

3. Резидентные прокси для активных фаз. Content discovery, Burp Suite, активное сканирование — используйте резидентные IP для максимальной доверенности.

4. Контролируйте скорость. Всегда используйте флаги rate-limit (-rate, -t, --delay). Начинайте с консервативных значений.

5. Sticky-сессии для авторизованного тестирования. Когда важна привязка к одному IP (сессии, авторизация), используйте session-флаги в ProxyHat.

6. Документируйте всё. Для отчёта Bug Bounty нужна воспроизводимость. Фиксируйте прокси-конфигурацию и параметры сканирования.

Заключение

Ротация прокси — мощный инструмент для авторизованных пентестеров и баг-хантеров, но только при соблюдении этики и правовых рамок. Резидентные прокси ProxyHat позволяют провести разведку и сканирование эффективно, не триггеря защитные механизмы цели и не создавая избыточной нагрузки на инфраструктуру.

Готовы начать? Ознакомьтесь с тарифами ProxyHat и доступными локациями для вашего следующего авторизованного теста.

Готовы начать?

Доступ к более чем 50 млн резидентных IP в 148+ странах с AI-фильтрацией.

Смотреть ценыРезидентные прокси
← Вернуться в Блог