Используйте полученные знания в этичных целях
Cloudflare - компания, которая предоставляет услуги CDN, защиту против DDOS и т.д. Проще говоря, клауд помогает снизить нагрузку и подменить IP адрес, защитить от DDOS атак, перенаправлять весь трафик на https, то есть благодаря сертификату можно подключить платежку и много других функций. Именно поэтому популярность клауда с каждым годом растет. Можно ориентироваться на статистику wappalyzer.
Темы, которые рассмотрены:
1. Кратко. Как настроить Cloudflare
2. Способы нахождения IP за клаудом
3. Готовое решение для поиска по SSL
Анализируем клауд и предполагаем как его настроил администратор, чтобы искать мисконфиги
Кратко, как это работает:1. Администратор регистрирует учетку на cloudflare.com
2. Указывает доменку и выбирает бесплатный или платный тариф. В основном отличия платного тарифа заключаются в том, что можно добавить всего-лишь 3 правила. То есть функционал обрезан, если администратор решит сэкономить, то это скажется на безопасности его ресурса.
3. Меняет NS сервера домена
4. Устанавливает SSL сертификат
5. Настраивает необходимые правила. Например переадресацию с http --> https
6. Настраивает WAF. Если администратор подходит к делу с головой, то он не только заблокирует OWASP top 10, но и сомнительный трафик. Как он может заблокировать crawl и парсинг? Сделать проверку, если на сайт ломятся с http и ipv6, то запросить капчу и редиректнуть на https. Ipv6 практически не распространены среди обычных юзеров, обычно они дешевые и поэтому часто используют под парс и другие сомнительные телодвижения. По статистике, свыше 98% общего мирового интернет-трафика приходится на протоколы IPv4, хотя у IPv6 немало преимуществ. Далее админ может запретить низкий http протокол. Поведенческие боты преимущественно используют протокол HTTP/1 и HTTP/1.1. Ну и напоследок может создать фильтр, чтобы доступ к ресурсу был только с определенной страны. Пример правила: (ip.geoip.country ne "RU")
Действие: Block
Как мы убедились настроить cloudflare довольно несложная задача. Если админ хоть чуть-чуть постарается, то можно забыть про acunetix и другие автоматические сканнеры. Думаю теперь понятно почему есть необходимость найти айпи за клаудом.
Но не всегда достаточно просто найти IP. Вот к примеру, что может сделать админ, чтобы защититься от прямого входа на сайт по IP для 80 порта:
Код:
server {
listen 80 default_server;
server_name _;
return 404;
}
Для 443 порта:
if ($host != "domain.com") {
return 404;
}
Создаст белые списки:
1. Внесение IP-адресов в белый список. Вариант не очень хороший, потому что придется постоянно обновлять базу с IP CDN.
2. Добавление уникального идентификатора из запроса в белый список. CDN будет отправлять уникальный id на сервер
3. Добавление скрытого хоста. Длинная комбинация букв и цифр, котооая будет известна только CDN.
Найти IP за клаудом - это настоящая проблема. Делаем базовую разведку:
1. Узнать диапазон айпи/CIDR
2. Сервисы, которые работают на сервере
3. DNS записи. Основные типы записей: A - ipv4, AAAA - ipv6, MX - mail, PTR - доменное имя для IP, CNAME - эта запись является псевдонимом. Администратор может использовать CNAME, как алиас. Например example.com CNAME exam.com. Для распределения нагрузки между серверами например:
Ссылка скрыта от гостей
CNAME server.exam.com, server2.exam.com, SOA - содержит конфиденциальную информацию, например емейл администратора, серийный номер и т.д., ns(name server) - определяет авторитетные серверы имен для домена. Авторитетные серверы имен - это серверы, которые используются для разрешения запросов к именам хостов и определения того, какие IP-адреса следует использовать для доступа к данному серверу., TXT - текстовые данные. Внимательно изучите все DNS записи . Простые записи A, AAA, CNAME или MX могут послужить источником исходного IP.
4. Информация о веб сервере. Утилита whatweb может помочь в этом вопросе
5. Информация о vhosts. Вид хостинга, при котором множество веб-сайтов расположено на одном веб-сервере.
Вот основные из них о которых вы уже скорее всего знаете:
1. Брут поддоменов. Можно попробовать побрутить поддомены, если повезет, то вы добудете айпи сервера.
2. Просмотр ssl сертификата
3. Регистрация на сайте и просмотр служебных заголовков на почте. Или любым другим способом получить письмо с почтового сервиса, который расположен на сервере жертвы. Можно попробовать запросить сброс пароля, создать тикет и т.д.
4. Просмотр исходников сайта на наличие айпи в тэгах html или в js скриптах
5. MurmurHash. Вычисляем hash favicon'a и ищем https://www.shodan.io/search/report?query=http.favicon.hash:сюдахэш или используем готовое решение
Ссылка скрыта от гостей
далее сайт нам предложит перейти в Censes/Shodan/Zoomeye
6. Censys, Shodan, SecurityTrails
7. Отправить сообщение на несуществующий адрес. К примеру отправляем письмо на random@domain.com. Если нам повезет, то придет письмо с ошибкой доставки сообщения и там может оказаться адрес сервера
Теперь некоторые способы попробуем на практике.
1. Попробуем просканировать тестовый ресурс на поддомены
Код:
subfinder -d domain.com
Ссылка скрыта от гостей
2. Посмотрим dns записи. Можно это делать через nslookup и другие утилиты, но смысла нет, если уже все продумали за нас и есть готовый веб ресурс, который сразу выдаст записи
Ссылка скрыта от гостей
вводим сюда доменкуПо сути ничего полезного тут не оказалось.
3. Теперь включаем голову. Вспоминаем из чего состоит IPv4
Адрес IPv4 — это 32-битный адрес, который идентифицирует устройство в сети. Он состоит из 4 групп цифр (октетов) по 3 цифры в каждой.
IPv4 идентифицирует сеть и отдельный хост в сети. Вот пример IPv4-адреса: 185.107.80.231.
256.256.256.256 = 256^4 = 4 лярда + ipv4 доступно, если просканить на открытый 443 порт, то у вас на руках останется более 45 миллионов ipv4. Теперь вдумайтесь какая мощность нужна, чтобы к таргету получить ip. Не рационально сразу гнать все эти 45 миллионов - это долго и дорого.
Обращайте внимание на социальные сети прикрепленные к ресурсу:Как говорил один важный человек., чем больше мы знаем информации о жертве, тем легче ее взломать.
Чем больше информации мы узнаем о стране и городе, тем лучше. Большая вероятность, если админ живет в стране N, то он и будет пользоваться услугами хостеров N. Если это так, то мы сильно сэкономим ресурсы.
Допустим, если мы определили, что сайт принадлежит итальянцу, то для быстрой проверки мы можем откинуть США, Китай и все другие страны, кроме Италии. Уже будет явно не 45 миллионов ipv4:443. А если мы узнаем еще и город, то проверка будет максимально быстро выполняться.
Находим ip range по городу Clifton
Ссылка скрыта от гостей
5.62.114.0-5.62.114.255 в таком вот формате. Сканим на 443 открытый порт
Код:
sudo masscan -iL iprange.txt --open-only
Код:
openssl s_client -connect ip:443 2>&1 | grep -E "target.com"
Код:
openssl s_client -connect ip:443 2>&1 | grep -E "\b(?:https?://)?(?:www\.)?([a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*\.[a-zA-Z]{2,})\b|(\*\.)"
В CN как раз и лежит наша доменка.
Вот скрипт на perl, который автоматизирует процесс поиска нужного ssl для target.com
Perl:
#!/usr/bin/perl
use strict;
use warnings;
use Time::HiRes qw(time);
# Чтение IP из файла
open(my $fh, '<', 'ip') or die "Не удалось открыть файл 'ip': $!";
my @ip_list = <$fh>;
close($fh);
# Команда для выполнения (замените target.com на ваш)
my $command = q{cat ip | xargs -P 10 -I {} sh -c 'openssl s_client -connect {} 2>&1 | grep -E "CN = target.com" && echo {}'};
# Выполнение команды для каждого IP
foreach my $ip (@ip_list) {
chomp $ip;
my $command_with_ip = $command . " -connect $ip";
print "Выполнение команды для IP: $ip\n";
eval {
local $SIG{ALRM} = sub { die "timeout\n" };
alarm 5; # Установка таймера на 5 секунд
my $start_time = time();
my $result = `$command_with_ip`;
my $end_time = time();
alarm 0; # Сброс таймера
my $elapsed_time = $end_time - $start_time;
print "Результат для IP: $ip\n";
if ($elapsed_time >= 5) {
print "Нет отклика более 5 секунд. Переход к следующей итерации\n";
next;
}
print $result;
};
if ($@ && $@ !~ /timeout/) {
die "Произошла ошибка при выполнении команды для IP $ip: $@";
}
}
Теперь время поискать готовые решения на тематических форумах
Человек продает такое же решение только за 1000$, но сейчас у него проходит скидка и он продает за 500$ DDDDDDD
Чтобы статья не была скучной я решил приобрести эту хреновину у него. Всё таки тема актуальная и у него 34 ответа в теме, люди интересуются, кто-то даже покупает.
Что нового в 1.2?
- Новый дизайн Web-панели
- Добавление новой конфигурации через браузер
- Редактирование IP адресов через браузер
- Фикс бага с SNI протоколом (софт не дописывал домен в client-hello)
***
Продается софт, который находит реальные айпи адреса серверов, на которых стоят сайты, подключенные к Cloudflare и другим CDN.
Вероятность нахождения не 100%, если владелец сайта правильно настроил свой сервер, то отыскать его реальный ip невозможно (Но как правило большинство забивают на это и айпи находится).
Не связано с DNS, поднятием истории домена и паблик базами)
Реальный ip localbitcoins.com был найден за 2 дня на сервере средней мощности.
Для работы необходим сервер с мощным процессором, хорошим интернет-каналом. Хостинг должен разрешать скан.
Можно использовать несколько серверов одновременно и сканить с них централизованно.
Присутствует Web-панель (с 1.1 версии), удобная настройка параметров сканирования, статистика, логи, возможность сканить сразу с нескольких серверов, мультиязычность.
Также, с 1.2 версии была полностью переработа Web-панель (самый первый скриншот), теперь все действия производятся не вручную путем редактирования файлов конфигураций а через браузер, что очень удобно.
Всего 2 способа поиска, поддерживается многопоточность. Имеется возможность искать несколько сайтов одновременно, присутствует файл конфигурации. Результаты сохраняются в txt.
Софт работает на windows и linux, однако на linux скорость поиска гораздо быстрее.
Цена:1000$
500$ вместе с исходниками
В планах оптимизировать скорость, добавить новые алгоритмы поиска, реализовать предварительный поиск по базам и сервисам и многое другое. Цена будет повышена при следующем обновлении!
Всем, кто купил по текущей цене все будущие обновления будут выдаваться бесплатно. Софт без привязок и прочего мусора, код не обфуцирован)
- Новый дизайн Web-панели
- Добавление новой конфигурации через браузер
- Редактирование IP адресов через браузер
- Фикс бага с SNI протоколом (софт не дописывал домен в client-hello)
***
Продается софт, который находит реальные айпи адреса серверов, на которых стоят сайты, подключенные к Cloudflare и другим CDN.
Вероятность нахождения не 100%, если владелец сайта правильно настроил свой сервер, то отыскать его реальный ip невозможно (Но как правило большинство забивают на это и айпи находится).
Не связано с DNS, поднятием истории домена и паблик базами)
Реальный ip localbitcoins.com был найден за 2 дня на сервере средней мощности.
Для работы необходим сервер с мощным процессором, хорошим интернет-каналом. Хостинг должен разрешать скан.
Можно использовать несколько серверов одновременно и сканить с них централизованно.
Присутствует Web-панель (с 1.1 версии), удобная настройка параметров сканирования, статистика, логи, возможность сканить сразу с нескольких серверов, мультиязычность.
Также, с 1.2 версии была полностью переработа Web-панель (самый первый скриншот), теперь все действия производятся не вручную путем редактирования файлов конфигураций а через браузер, что очень удобно.
Всего 2 способа поиска, поддерживается многопоточность. Имеется возможность искать несколько сайтов одновременно, присутствует файл конфигурации. Результаты сохраняются в txt.
Софт работает на windows и linux, однако на linux скорость поиска гораздо быстрее.
Цена:
500$ вместе с исходниками
В планах оптимизировать скорость, добавить новые алгоритмы поиска, реализовать предварительный поиск по базам и сервисам и многое другое. Цена будет повышена при следующем обновлении!
Всем, кто купил по текущей цене все будущие обновления будут выдаваться бесплатно. Софт без привязок и прочего мусора, код не обфуцирован)
Человек после оплаты прислал мне архив
Вот содержимое:
Крч у него просто есть веб морда, через screen запускаем scanner и web panel, импортируем бд mysql, устанавливаем нужные библиотеки, подгружаем ip:443 и добавляем таргеты.
2 режима работы. По http, как он сказал мне не работает, т.к много мусора будет лететь.
Софт по каким-то причинам не принимает сразу 45kk ip:443 из-за этого пришлось разбить по 1,3kk
Есть также баги, например проверит 1 файл с айпишниками, а к следующему не перейдет.
Можно выбрать количество потоков.
В целом идея хорошая, но проект очень сырой. Не понятно какие сервера приобрести, чтобы скорость была приличная. На моем rdp скан в 200 потоков бы занял для 1 таргета более месяца)))) Крч, для меня софт оказался бесполезным, у меня нет таких ресурсов.
Вот содержимое:
Крч у него просто есть веб морда, через screen запускаем scanner и web panel, импортируем бд mysql, устанавливаем нужные библиотеки, подгружаем ip:443 и добавляем таргеты.
2 режима работы. По http, как он сказал мне не работает, т.к много мусора будет лететь.
Софт по каким-то причинам не принимает сразу 45kk ip:443 из-за этого пришлось разбить по 1,3kk
Есть также баги, например проверит 1 файл с айпишниками, а к следующему не перейдет.
Можно выбрать количество потоков.
В целом идея хорошая, но проект очень сырой. Не понятно какие сервера приобрести, чтобы скорость была приличная. На моем rdp скан в 200 потоков бы занял для 1 таргета более месяца)))) Крч, для меня софт оказался бесполезным, у меня нет таких ресурсов.
Вывод:
Неправильная настройка DNS приводит к раскрытию настоящего IP сайта. Есть множество способов, как найти IP за CDN, я рассказал лишь про самые основные. Важно использовать эти методы с осторожностью и в соответствии с законодательством, чтобы не нарушить приватность и безопасность пользователей.Вложения
Последнее редактирование: