ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Этичный хакинг или пентестинг (https://forum.antichat.xyz/forumdisplay.php?f=209)
-   -   Поиск IP за Cloudflare и другими CDN для чайников (https://forum.antichat.xyz/showthread.php?t=582458)

Местный 19.10.2023 22:56

https://forum.antichat.xyz/attachmen...7731184731.png

Используйте полученные знания в этичных целях

Cloudflare - компания, которая предоставляет услуги CDN, защиту против DDOS и т.д. Проще говоря, клауд помогает снизить нагрузку и подменить IP адрес, защитить от DDOS атак, перенаправлять весь трафик на https, то есть благодаря сертификату можно подключить платежку и много других функций. Именно поэтому популярность клауда с каждым годом растет. Можно ориентироваться на статистику wappalyzer.

https://forum.antichat.xyz/attachmen...7731249020.png

Темы, которые рассмотрены:
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. Для распределения нагрузки между серверами например: www.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:сюдахэш или используем готовое решение Favicon Hasher далее сайт нам предложит перейти в Censes/Shodan/Zoomeye

6. Censys, Shodan, SecurityTrails

7. Отправить сообщение на несуществующий адрес. К примеру отправляем письмо на random@domain.com. Если нам повезет, то придет письмо с ошибкой доставки сообщения и там может оказаться адрес сервера

Теперь некоторые способы попробуем на практике.
1. Попробуем просканировать тестовый ресурс на поддомены

Код:


Код:

subfinder -d domain.com
К сожалению нашлось только domain.com и www.domain.com
2. Посмотрим dns записи. Можно это делать через nslookup и другие утилиты, но смысла нет, если уже все продумали за нас и есть готовый веб ресурс, который сразу выдаст записи
DNS. Просмотр DNS записей домена, сервера, сайта вводим сюда доменку

https://forum.antichat.xyz/attachmen...7733203160.png

По сути ничего полезного тут не оказалось.
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 миллионов - это долго и дорого.
Цитата:


Как говорил один важный человек., чем больше мы знаем информации о жертве, тем легче ее взломать.


Обращайте внимание на социальные сети прикрепленные к ресурсу:

https://forum.antichat.xyz/attachmen...7734642549.png

Чем больше информации мы узнаем о стране и городе, тем лучше. Большая вероятность, если админ живет в стране N, то он и будет пользоваться услугами хостеров N. Если это так, то мы сильно сэкономим ресурсы.

https://forum.antichat.xyz/attachmen...7735196561.png

Допустим, если мы определили, что сайт принадлежит итальянцу, то для быстрой проверки мы можем откинуть США, Китай и все другие страны, кроме Италии. Уже будет явно не 45 миллионов ipv4:443. А если мы узнаем еще и город, то проверка будет максимально быстро выполняться.

https://forum.antichat.xyz/attachmen...7735651560.png

Находим ip range по городу Clifton Все диапазоны IP адресов Clifton
5.62.114.0-5.62.114.255 в таком вот формате. Сканим на 443 открытый порт

Код:


Код:

sudo masscan -iL iprange.txt --open-only
Теперь у нас есть ip:443 с открытым портом города Clifton. Теперь остается достать доменки из этих сертов. Я уже по сути все сделал за вас.

Код:


Код:

openssl s_client -connect ip:443 2>&1 | grep -E "target.com"
или если вы хотите выводить все доменки, то используйте regex

Код:


Код:

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|(\*\.)"
https://forum.antichat.xyz/attachmen...7737070690.png

https://forum.antichat.xyz/attachmen...7736670261.png

В CN как раз и лежит наша доменка.

Вот скрипт на perl, который автоматизирует процесс поиска нужного ssl для target.com

Perl:


Код:

#!/usr/bin/perl
use
strict
;
use
warnings
;
use
Time
:
:
HiRes
qw(time)
;
# Чтение IP из файла
open
(
my
$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: $@"
;
}
}

По сути все готово

Теперь время поискать готовые решения на тематических форумах

https://forum.antichat.xyz/attachmen...7739940454.png

Человек продает такое же решение только за 1000$, но сейчас у него проходит скидка и он продает за 500$ DDDDDDD
Чтобы статья не была скучной я решил приобрести эту хреновину у него. Всё таки тема актуальная и у него 34 ответа в теме, люди интересуются, кто-то даже покупает.

https://forum.antichat.xyz/attachmen...7740067171.png

https://forum.antichat.xyz/attachmen...7740067171.png

Вывод:
Неправильная настройка DNS приводит к раскрытию настоящего IP сайта. Есть множество способов, как найти IP за CDN, я рассказал лишь про самые основные. Важно использовать эти методы с осторожностью и в соответствии с законодательством, чтобы не нарушить приватность и безопасность пользователей.

szybnev 20.10.2023 00:00

Спасибо за статью! Она очень полезная.

puer 25.12.2023 16:27

Есть еще вариант использования dns history org для поиска старых записей домена

rvlr 11.08.2024 19:37

никак не получилось. Какие существуют сейчас варианты для нахождения Ip за cloudflare?

Giordani Jovanovich 22.09.2024 23:45

Цитата:


rvlr сказал(а):

никак не получилось. Какие существуют сейчас варианты для нахождения Ip за cloudflare?


Sublist3r и субдомены

Makar 23.09.2024 07:34

dnsdumpster[.]com как вариант


Время: 02:31