К профилю facebook
К профилю linkedin
gallery/gallery-1
How to find places on WEB site, where CloudFlare doesn't protect
Вернуться назад

Cloudflare – это, как многие наслышаны, защита от ддоса ваших серваков. А если точнее, это прокладка (тампон) между пользователем и сайтом. Он работает по принципу прокси, предоставляя дополнительные услуги, в том числе кэширование страниц, защиту от плохих дядей, которые делаю DDoS, защиту от плохих ботов и прочее. В том числе, Cloudflare скрывает истинный IP адрес сервера, на котором размещен ваш сайтец.

 

Итак если Cloudflare настроен правильно, то настоящий IP адрес вашего сайта никогда не раскрывается и не записывается куда-либо. Но давайте на чистоту, сколько вы знаете людей, которые всё всегда делают правильно? По этой причине существуют инструменты, которые ищут провтыки в ваших настройках Cloudflare. Одной из таких программ является CloudFail, о нем мы и поговорим в этой статейке.

Что такое CloudFail и как он работает

Начнем с того, что каждый сайт может иметь поддомены вида *.site.ua. Где вместо звездочки могут быть подставлены разные значения, например:

- www.site.ua

- kiev.site.ua

- forum.site.ua

- и тд

 

И таких поддоменов может быть дохрена. Тут еще есть важный момент: у каждого такого поддомена может быть даже свой IP.

Т.е. сервера имён позволяют указать IP (или сразу несколько адресов) для site.ua, другой IP для www.site.ua, другой IP для kiev.site.ua и так далее.

 

Может возникнуть ситуация, когда в DNS записях домена site.ua прописан IP адрес Cloudflare, Ноооо DNS записи для поддомена www.site.ua указывают на другой IP, не находящийся под защитой Cloudflare.

 

В конечном результате будет раскрыт IP адрес, который:

- может оказаться настоящим IP адресом сайта;

- является IP адресом только субдомена, но даёт нам информацию о владельце либо подсказку для дальнейших исследований.

 

Сразу мы не можем просто взять и получить список всех субдоменов. Поэтому нам нужно перебирать различные варианты. Именно это и реализовано в CloudFail:

- пробуются различные варианты субдоменов;

- если для субдомена существует DNS запись, то для неё получаем IP;

- также проверяется, входит ли полученный IP в диапазон Cloudflare (т.е. защищён с помощью Cloudflare или нет).

 

В результате такого хода конем довольно часто удается найти IP адреса, не защищённые Cloudflare. Важно отметить, что мы исходим из предположения, что IP адреса поддоменов принадлежат или связаны с владельцем основного сайта. Да, обычно это так, но всегда нужно помнить, что в DNS записи поддоменов владелец основного домена может указать любые IP адреса, даже не принадлежащие ему.

gallery/logo3
gallery/926414_d1c3_2-min
gallery/19938ce6801fd4446506a4548d61bd69
gallery/remont-1579600121-wgrsm

Как установить CloudFail

Для установки в Ubuntu, Kali Linux, Debian, Linux Mint и тд, надо выполнить следующие команды:

 

- sudo apt update (апдейтимся)
- sudo apt install python3-pip git tor (устанавливаем компонент)
- git clone https://github.com/m0rtem/CloudFail (клонируем себе с гита приложение)
- cd CloudFail/ (заходим в директорию на компе, которую склонировали)
- sudo pip3 install -r requirements.txt (устанавливаем CloudFail)

- python3 cloudfail.py -h (проверка работоспособности приложения)

- sudo python3 cloudfail.py -u (для первого и последующих запусков делайте обновление приложения. Будет обновлен список IP адресов Cloudflare, а также база данных CrimeFlare, содержащая известные IP адреса для некоторых сайтов.)

sudo systemctl start tor (Если вы хотите, чтобы программа работала через сеть Tor, то необходимо запустить службу Tor:)

- sudo systemctl enable tor (Можно Tor отправить в автозагрузку, тогда не нужно будет запускать эту службу после каждой перезагрузки компьютера)

gallery/1573233923118864276

Как пользоваться CloudFail

У этой программы всего навсего одна обязательная опция -t, после которой нужно указать название сайта. Информация о всех опциях CloudFail

 

С программой уже поставляется список слов (файл subdomains.txt) для перебора возможных субдоменов по словарю. Если вы хотите использовать собственный словарь, то укажите его используя опцию -s. Файл словаря должен размещаться в папке data.

К примеру, если мы хотим получить данные для сайта site.ua, то команда запуска выглядит так:

 

- sudo python3 cloudfail.py -t site.ua 

gallery/выделение_083

Строка is part of the Cloudflare network! говорит нам о том, что сайт находиться под защитой Cloudflare. Если бы это было не так, то на этом месте сканирование остановилось, поскольку оно бессмысленно.

 

Строка Testing for misconfigured DNS using dnsdumpster говорит нам о переборе известных хостов (субдоменов) связанных с анализируемым сайтом. Эти данные беруться от dnsdumpster.

gallery/выделение_082

Красная строка говорит, что найдены такой-то субдомены, но их IP защищен Cloudflare – из этого вывод - они бесполезны для определения настоящего IP.

 

Зелёная строка говорят, что IP найденного хоста не защищен Cloudflare. Следовательно, это может быть реальный IP сайта.

 

Что можно делать теперь с этими IP?

- ддосить, так как он не защищен Cloudflare;

- сканировать nmap, чтоб узнать про слабые места;

- использовать metasploit, и возможно залезть внутрь веб приложения.

- и тд.

 

Из этой статьи вы теперь понимаете насколько важно проверять свой сайт после добавления его в Cloudflare, опытные злоумышленники  знают про эти недостатки, не правильные настройки, при добавлении Cloudflare на сайт

И помните все показанное выше, сделано в целях обучения!!!

Можно применять только на своих проектах, после разрешения.

 

Хотите узнать больше о различных уязвимостях и инструментах для поиски этих же уязвимостей, чтоб сделать ваш проект безопасным, для ваших пользователей? 

Мы организовываем тренинги по OWASP TOP 10. 

Буду рад вас видеть на тренинге!

 

Программа тут

 

Кстати я открыл канал с увлекательными новостями про уязвимости в телеге, присойденяйтесь https://t.me/qa_security