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