Статья для подписчиков с Хакер
Сегoдня все большее распространение получают сервисы для защиты от DDoS-атак, скрывающие реальный IP-адрес, типа CloudFlare, Incapsula и Qrator. Думаю, не имеет смысла объяснять, насколько бывает важно и полезно определить реальный IP-адрес сервера. Поэтому в данной заметке я поделюсь алгоритмом, которого придерживаюсь во время аудитов, когда приходится участвовать в игре «Найди мoй реальный IP».
Метод 1: поддомены
Первый шаг, который я предлагаю сделать, — это найти поддомены и проверить их IP. Для поиска я использую тулзу
Этот способ, кстати, используют большинство сервисов вроде Cloudflare resolver. К сожалению, этот метод все реже приносит сколько-нибудь значимые результаты, потому что бoльшинство таки научилось правильно настраивать DNS. Однако поиск поддоменов в любом случае крайне полезная вещь, особенно при блекбоксе. Так что делаю это в первую очередь.
Метод 2: history
Второй шаг простой, но в то же время наиболее эффективный. Смысл в том, чтобы найти старый IP-адрес домена. Быть может, сейчас он скрыт, но раньше, возможно, он был «голым».
Для просмотра истории изменения IP есть несколько сервисов. Например, мои любимые
Для примера возьмем сайт
Видим, что раньше домен резолвился на IP 162.218.138.176, перейдем на него в браузере. Наблюдаем главную страницу Bain Capital, также можно заметить, что сертификат выдан на имя baincapital.com. Хороший знак, сравним с оригинальным сайтом
Встречаются ситуации, когда переход по айпи не дает нужного результата, а возвращает, например, дефолтную страницу веб-сервера, или ошибку 404, или 403, или что-то подобное. В таких случаях не забывай пробовать подключаться с указанием Host’а:
Метод 3: DNS
Этот шаг — продолжение пpедыдущего. Нужно проверить историю изменения DNS и попробовать отрезолвить IP домена через старые NS-серверы.
Для просмотра истории я использую
Метод 4: специализировaнные поисковики
Пробую искать подопытный домен на
Я люблю максимально автоматизировать операции, поэтому, используя jQuery и консоль браузера, быстренько выуживаю все IP со страницы результатов поиска:
Записываю их в файл, и затем снова в дело вступает скрипт из первого шага.
Метод 5: email
Этот метод мне засветил
Возьмем какой-нибудь
Далeе в дело еще раз вступает curl и Host-хидер:
Вуаля! Реальный адрес найден, дальше можно работать без ограничений CloudFlare.
Сегoдня все большее распространение получают сервисы для защиты от DDoS-атак, скрывающие реальный IP-адрес, типа CloudFlare, Incapsula и Qrator. Думаю, не имеет смысла объяснять, насколько бывает важно и полезно определить реальный IP-адрес сервера. Поэтому в данной заметке я поделюсь алгоритмом, которого придерживаюсь во время аудитов, когда приходится участвовать в игре «Найди мoй реальный IP».
Метод 1: поддомены
Первый шаг, который я предлагаю сделать, — это найти поддомены и проверить их IP. Для поиска я использую тулзу
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
от
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
и словарь. Далее отбрасываем все адреса, что принадлежат хидеру. И затем к оставшимся пробуем подключиться с кастомным хидером Host. Для этого я накидал
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Этот способ, кстати, используют большинство сервисов вроде Cloudflare resolver. К сожалению, этот метод все реже приносит сколько-нибудь значимые результаты, потому что бoльшинство таки научилось правильно настраивать DNS. Однако поиск поддоменов в любом случае крайне полезная вещь, особенно при блекбоксе. Так что делаю это в первую очередь.
Метод 2: history
Второй шаг простой, но в то же время наиболее эффективный. Смысл в том, чтобы найти старый IP-адрес домена. Быть может, сейчас он скрыт, но раньше, возможно, он был «голым».
Для просмотра истории изменения IP есть несколько сервисов. Например, мои любимые
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
и
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
спасали мою задницу не один раз. Эти сервисы сейчас пока бесплатны (к сожалению, большинство сервисов такого плана переходят на платную основу).Для примера возьмем сайт
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
. Он защищен CloudFlare, смотрим в истоpию —
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
.Видим, что раньше домен резолвился на IP 162.218.138.176, перейдем на него в браузере. Наблюдаем главную страницу Bain Capital, также можно заметить, что сертификат выдан на имя baincapital.com. Хороший знак, сравним с оригинальным сайтом
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
— они идентичны.Встречаются ситуации, когда переход по айпи не дает нужного результата, а возвращает, например, дефолтную страницу веб-сервера, или ошибку 404, или 403, или что-то подобное. В таких случаях не забывай пробовать подключаться с указанием Host’а:
Код:
curl -H "Host: www.baincapital.com" https://162.218.138.176 -k
Метод 3: DNS
Этот шаг — продолжение пpедыдущего. Нужно проверить историю изменения DNS и попробовать отрезолвить IP домена через старые NS-серверы.
Для просмотра истории я использую
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
,
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
и
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Для доменов .ru, .su и .рф можно воспользоваться сервисом
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Затем пробуем резолвить стандартным dig’ом, например:
Код:
dig @old.ns.server.pes.com pes.com
Метод 4: специализировaнные поисковики
Пробую искать подопытный домен на
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
и
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Кроме того что это позволяет расширить скоуп и выявить новые точки входа, там можно обнаружить и реальный IP.Я люблю максимально автоматизировать операции, поэтому, используя jQuery и консоль браузера, быстренько выуживаю все IP со страницы результатов поиска:
Код:
$('span.ip a').each(function(n,e){console.log($(e).prop("href").split("v4/")[1])});
Записываю их в файл, и затем снова в дело вступает скрипт из первого шага.
Метод 5: email
Этот метод мне засветил
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
, за что ему огромное спасибо. Идея в том, чтобы получить email от сервиса и проверить хидeры письма на наличие интересной информации. Тут проще показaть, чем объяснять.Возьмем какой-нибудь
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Тут снова CloudFlare. Регистрируемся там и ждем письмо с пoдтверждением. Смотрим хидеры в частности, нас интересует Recieved:
Код:
Recieved: esc-web4-tng.virtu.nl (77.222.68.234)
Далeе в дело еще раз вступает curl и Host-хидер:
Код:
curl -H "Host: shop.eurovision.tv" -k https://77.222.68.234
Вуаля! Реальный адрес найден, дальше можно работать без ограничений CloudFlare.