5 способов обойти CDN

5 способов обойти CDN

Dmirty Zemlyakov (@zema_notes)
Дисклеймер: статья написана исключительно для образовательных целей. Эксплуатация написанного в статье для неправомерных целей не поддерживается автором.

WAF... Сколько потерянных багов в этих трёх буквах. Всё больше сервисов используют средства защиты, предоставляемые поставщиками услуг, скрывая реальные IP-адреса своих серверов. В этой статье я поделюсь всеми известными мне способами найти настоящий IP-адрес сервера, скрытого за различными CDN по типу CloudFlare.

Поиск при помощи Shodan/Censys (1-ый вариант)

Многие переводят уже запущенные проекты на CloudFlare/CloudFront, не настраивая HTTP-сервер и фаерволл. Некоторые сервисы продолжают отдавать SSL сертификаты при прямом запросе на них.

Исходя из этого, можно найти нужный нам сервис по SSL-сертификату. Для этого выполним один из следующих запросов:

1) Shodan - ssl.cert.subject.cn:example.com

2) Censys - services.tls.certificates.chain.subject_dn:example.com

Данные запросы нам выведут список серверов, возвращающих сертификат для домена example.com и его поддоменов.

Поиск при помощи Shodan/Censys (2-ой вариант)

Выше мы рассмотрели вариант, позволяющий найти сервис по уже существующему сертификату. Возможно, сертификата не было, так как тот же cloudflare даёт возможность не настраивать у себя на сервере сертификат. Тогда на помощь может прийти 2-ой вариант.

Если не был настроен фаерволл, стоит попытаться найти HTTP сервер, который возвращает заголовок главной странице при запросе на него.

Вот запросы для всё тех же поисковиков:

1) Shodan - http.title:"example"

2) Censys - services.http.response.html_title: "example"

В результате выполнения поисковых запросов, нам вернётся список http серверов, что возвращают страницу по прямому запросу, содержащие "example" в своём заголовке.

Поддомены

Так как интернет имеет огромные масштабы, не стоит исключать того, что какой-то из поддоменов не скрыт за CDN, несмотря на различные предупреждения. Попробуйте перебрать поддомены или найти их в открытых источниках. Для этого я рекомендую следующие сервисы: VirusTotal, crt.sh, c99, а также утилиты: Sublist3r, Theharvester.

Попытайтесь найти поддомены, которые не обращаются к CDN и заменить домен в заголовке Host.

История DNS записей

Окей, администратор сайта смог настроить сервер так, чтобы сервер не возвращал ни страницы, ни сертификата при запросе, но может возникнуть вопрос: а точно ли сервис всегда использовал CDN/WAF?

Мы можем воспользоваться различными сервисами, которые сохраняют историю A и AAA записей для домена. Примеры таких - https://virustotal.com/, https://viewdns.info/iphistory/ и https://www.whoisxmlapi.com/. Вбиваем необходимый домен и ищем IP-адреса, которые не являются CDN.

Что делать с ними дальше? - отправлять запросы на эти IP-адреса, добавляя заголовок "Host: example.com".

Открылась нужная страница? Поздравляю! С вероятностью 99% вы нашли настоящий IP-адрес сервиса.

Почта

Данный вариант в наши дни очень редко срабатывает, так как многие используют отдельные сервера для писем, а также различные сервисы рассылок, такие как MailGun, SendPulse и т.п., но всё же такой вариант отметать сразу не стоит.

Для этого необходимо сделать так, чтобы на нашу почту пришло письмо от сервиса. Например, письмо с подтверждением регистрации.

Открываем оригинал письма и ищем строку, содержащую "Received: from". С небольшой вероятностью там может быть IP-адрес почтового сервера компании.



Вот и всё, это были все способы, которыми я хотел поделиться с вами.

Спасибо за прочтение <3

https://t.me/zema_notes

Report Page