Как найти реальный IP сервера за Cloudflare с помощью CF-Hero
Представьте ситуацию: вы проводите аудит безопасности или настраиваете мониторинг, но перед вами «стена» в виде Cloudflare. С одной стороны, это отлично защищает ресурс от DDoS и скрывает инфраструктуру. С другой — иногда жизненно необходимо понять, где именно физически хостится приложение. Например, чтобы проверить конфигурацию веб-сервера напрямую или убедиться, что старые записи в DNS не «светят» лишнего.
Проект CF-Hero — это как раз тот инструмент, который пытается сорвать маску с защищенного домена. Его представили на Black Hat Arsenal 24, и он объединяет в себе сразу несколько техник разведки (OSINT), которые раньше приходилось прокручивать вручную.
Зачем вообще искать оригинальный IP
Cloudflare работает как обратный прокси. Весь трафик идет через их узлы, и в обычных условиях вы видите только их адреса. Но администраторы — тоже люди, и они ошибаются.
Иногда сервер «палится» из-за забытой записи в DNS, иногда из-за того, что почтовый сервер (SPF/TXT записи) указывает на тот же IP, где крутится сайт. CF-Hero автоматизирует поиск таких зацепок, избавляя от необходимости прыгать между вкладками браузера и консольными утилитами.
Что умеет инструмент
Инструмент написан на Go, работает быстро и поддерживает параллельное сканирование. Основная фишка в том, что он не просто гадает, а проверяет гипотезы.
Анализ DNS-записей
Программа вытягивает текущие A и TXT записи. Часто в TXT-записях (например, для верификации сервисов вроде Google Search Console или в SPF-записях для почты) остаются прямые IP-адреса серверов компании. CF-Hero парсит эти данные и вычленяет потенциальные цели.
Работа с историей
Если сайт сейчас за Cloudflare, это не значит, что он был там всегда. Сервисы вроде SecurityTrails хранят историю DNS. Если год назад домен смотрел в мир напрямую, есть большая вероятность, что IP сервера с тех пор не менялся. Инструмент умеет ходить в такие базы через API.
Поисковики для хакеров
CF-Hero интегрируется с «тяжелой артиллерией» OSINT-мира:
- ZoomEye
- Censys
- Shodan
Эти поисковики постоянно сканируют интернет. Если они проиндексировали ваш сервер по его прямому IP до того, как вы включили проксирование, CF-Hero найдет это совпадение.
Подмена Host-заголовка
Это одна из самых интересных техник. Допустим, у компании есть основной сайт example.com (за CF) и какой-нибудь dev.example.com или test.example.com (без защиты). Инструмент находит такие поддомены, подключается к их IP и отправляет HTTP-запрос с заголовком Host: example.com. Если сервер настроен не совсем корректно, он может отдать контент основного сайта. Это и будет доказательством того, что реальный IP найден.
Как это работает под капотом
Логика проверки довольно прямолинейная и надежная. После того как инструмент собрал список потенциальных IP из всех источников, он не просто вываливает их вам в консоль. Он идет и проверяет каждый адрес:
- Устанавливает прямое HTTP-соединение с найденным IP.
- Забирает HTML-заголовок (title) страницы.
- Сравнивает его с заголовком оригинального сайта, который спрятан за Cloudflare.
Если заголовки совпали — бинго, перед вами оригинальный адрес.
Как запустить и настроить
Для работы понадобится Go версии 1.18 или выше. Ставится одной командой:
go install -v github.com/musana/cf-hero/cmd/cf-hero@latest
Чтобы инструмент раскрыл весь потенциал, нужно прописать API-ключи от сервисов в конфиг ~/.config/cf-hero.yaml. Без ключей он будет ограничен только текущими DNS-записями и локальными проверками.
Пример простого запуска для списка доменов:
cat domains.txt | cf-hero
Если вы подозреваете, что Cloudflare блокирует ваши запросы при попытке получить заголовок (выдает страницу "Just a moment..."), можно вручную указать ожидаемый заголовок через флаг -title.
Кому пригодится CF-Hero
В первую очередь — специалистам по информационной безопасности и багхантерам. Найти реальный IP — это часто первый шаг к обходу WAF или поиску уязвимостей в инфраструктуре.
Но инструмент полезен и системным администраторам. С его помощью можно провести «самоаудит» и понять, насколько хорошо скрыты ваши серверы. Если простенькая утилита на Go находит ваш IP за 30 секунд, значит, конфигурацию DNS или правила фаервола на стороне хостинга пора подкрутить.
Проект живой, поддерживается сообществом и спонсируется ZoomEye. Из планов на будущее автор заявляет интеграцию поиска по фавиконкам (еще один отличный способ сопоставить IP и домен) и работу с ViewDNS.
Стоит ли попробовать? Определенно, если вам нужно быстро просканировать пачку доменов на предмет утечек IP. Это качественный автоматизатор рутины, который экономит кучу времени.
