LIMB
Вход Регистрация

тема

IP-шмон: как выловить настоящий адрес сайта без магии и костей

YmbMember · · 4 ответов · 314 просмотров

Вступление
В наше время почти все сайты стоят за всякими надледливыми CDN’ами и WAFами. Они очень усложняют тестирование сайта. Основная их задача - защита от атак типа DOS/DDOS и различных XSS SSTI SQLI…. (CDN Редко защищают от таких атак) . Просто так прогоняя tamper скриптами в sqlmap, нормальный  WAF зачастую обойти не так то и просто. Сейчас не 2016, чтоб так можно было добиться успеха в обходе.
Все мы знаем, что WAF и CDN скрывают настоящий ip адрес сайта. Один из вариантов обойти WAF полностью это найти реальный айпишник сайта
Не удалось прогрузить медиа










Вот примерная схема работы WAF. Он выступает в роли некого прокси сервера, какой смотрит какие запросы пустить к реальному серверу, а какие отклонить. Поэтому так и получается, что он скрывает IP
Не удалось прогрузить медиа
















А вот так работает CDN. Он нужен для того, чтобы доставлять контент пользователям быстрее и снимать нагрузку с основного сервера. CDN сервера расположены по всему миру, и пользователь подключается автоматически к ближайшему. Весь закешированный ответ пользователям отправляет именно ближайший CDN сервер. CDN тоже скрывает реальный айпишник и защищает от атак типа DOS/DDOS

Детектим есть ли WAF/CDN на сайте
Скажу сразу, минус таких инструментов в том, что они смотрят на это все базируясь на ответах. То Есть кидают какие-то базовые <script>alert(1)</script> и ждут пока WaF начнёт ругаться. Но так бывает не всегда
Некоторые WaF настроены так, что они в ответе не показывают “Ваш запрос заблокирован”. Они просто не подают виду.
Вот, например, взять встроенный WaF в bitrix. Он работает по такому же принципу. Видит вредоносный запрос - делает его безопасным и отсылает к серверу, тем самым делая атаку бесполезной. Советую ознакомиться

Wappalyzer
Один из самых простых и быстрых методов детекта - это расширение Wappalyzer. Оно настолько полезное, что я упоминаю его раз третий в своих статьях. Но не суть
Не удалось прогрузить медиа


























Я его конечно использую, но оно совсем не идеальное для наших целей. Он смотрит это очень приблизительно, по заголовкам. Проще ведь в 1 клик посмотреть примерно, защищен ли сайт WaF/CDN. Если нет - я двигаюсь к следующему инструменту:

Не удалось прогрузить медиа
















Whatwaf
WhatWaf
 - это лучший инструмент из аналогов, какой поможет обнаружить есть ли на таргете WaF и определит какой. Почему он лучший? Ну тут есть 3 объяснения:

  1. 1. Он использует очень много станартных пейлоадов, какие могли бы тригернуть WAF. XSS, SQli, и другие. Под каждый WaF свои пейлоады.
  2. 2. Инструмент имеет кастомные tamper скрипты, с какими он пытается обойти ваф. И иногда такие попытки заканчиваются успехом. Кстати, эти tamper подойдут и под всеми любимый sqlmap. Так что частично убивает двух зайцев за один запуск
  3. 3. Инструмент имеет ну ОЧЕНЬ много фич. У скрипта есть от своей базы проверенных сайтов, какие хранятся в кеше до функции майнить крипту для разрабов при запуске инструмента с вашего пк. Советую ознакомиться со справкой, чтобы использовать инструмент с потенциалом 100%

Не удалось прогрузить медиа





















Не удалось прогрузить медиа






















wafw00f
Это тоже один из моих любимых инструментов для обнаружения WaF. Он очень быстрый. Я его тещу, когда, например, вытащил с гугл дорки ссылки для массового тестирования и надо убрать все таргеты с фаерволом

Не удалось прогрузить медиа




















Поиск через IoT поисковики
Так называемые IoT поисковики - это поисковики с системой, которая сканирует интернет и собирает информацию об устройствах, серверах и сервисах, доступных в сети. Из самых ярких примеров можно навести shodan и zoomeye. Но таких поисковиков довольно много. В этой главе я дополню ваш список таких поисковиков и покажу какие поисковые запросы использовать

Краткий экскурс по созданию дорков на основе шаблонов ниже:
  1. Вместо site.com пишите свой домен
  2. Вместо “Example title” пишем заголовок страницы. Он находиться вот тут
Не удалось прогрузить медиа













Чтобы его быстро скопировать, просто добавьте в закладки страницу и скопируйте
  1. http.html. В ответе почти всегда есть что-то уникальное. Это могут быть комментарии в коде, странно названные файлы и так далее. Жмем CTRL + U, ищем такое и доркаем

shodan
ssl:site.com
hostname:site.com
http.title:"Example Title"
http.html:”text”


Не удалось прогрузить медиа



















zoomeye
hostname=site.com
title="Example Title"
http.body=”text”
site=”site.com”


censys io
Censys работает немного иначе чем shodan. Для нас важно понять следующее: тут нету всяких поисковых фильтров. Просто вводим таргет в поиск и смотрим Hosts и Certificates на наличие результата.

Не удалось прогрузить медиа





















fofa
cert.subject.cn="site.com"
cert="site.com"
host="site.com"
domain="site.com"
title="Example Title"
body="text"


netlas
На https://app.netlas.io/responses/

certificate.names:site.com
host:site.com
http.title:"Example Title"
http.body:"ключевое слово из сайта"


hunter.how
cert.subject=="site.com"
domain=="site.com"
web.title=="Example Title"
web.body=="ключевое слово из сайта"


Если у вас есть желание поискать айпишник через другие подобные поисковики, вот вам полный список: https://github.com/cipher387/awesome-ip-search-engines
P.s: я обхожусь только этими (что я дал выше)

P.P.s:  вот вам простенький скрипт, какой быстро сгенерирует поисковые запросы за вас


Python:
def main():
    domain = input("Введите домен (например, site.com): ").strip()
    title = input("Введите title (например, Example Title): ").strip()
    body = input("Введите ключевое слово из текста страницы: ").strip()

    print("\n=== Shodan ===")
    print(f"ssl:{domain}")
    print(f"hostname:{domain}")
    print(f'http.title:"{title}"')
    print(f'http.html:"{body}"')

    print("\n=== ZoomEye ===")
    print(f"site={domain}")
    print(f"hostname={domain}")
    print(f'title="{title}"')
    print(f'http.body="{body}"')

    print("\n=== FOFA ===")
    print(f'cert.subject.cn="{domain}"')
    print(f'cert="{domain}"')
    print(f'host="{domain}"')
    print(f'domain="{domain}"')
    print(f'title="{title}"')
    print(f'body="{body}"')

    print("\n=== Netlas ===")
    print(f"certificate.names:{domain}")
    print(f"host:{domain}")
    print(f'http.title:"{title}"')
    print(f'http.body:"{body}"')

    print("\n=== Hunter.how ===")
    print(f'cert.subject=="{domain}"')
    print(f'domain=="{domain}"')
    print(f'web.title=="{title}"')
    print(f'web.body=="{body}"')


if __name__ == "__main__":
    main()

Диагностика DNS
Все перечисленные сервисы относятся к диагностике, мониторингу и исследованию DNS
  • completedns.com – история изменений NS-серверов, мониторинг падений.
  • dnshistory.org – архив изменений DNS-записей (NS, A и др.).
  • ViewDNS – универсальный инструмент для просмотра любых DNS-записей.
  • dnschecker.org – проверка обновления DNS-записей в разных регионах.
  • Securitytrails

Не удалось прогрузить медиа
















Другие сервисы
(не попадают под эти 2 категории)

Virustotal




Не удалось прогрузить медиа





















Вводим в поиск домен и переходим во вкладку relations


Техники поиска
Через сообщение на почту
Если на сайте есть функционал, например, регистрации через email или подписка на рассылку по почте, то мы можем этим воспользоваться. Для этого в поле ввода email адреса в домен ставим свой. Это может быть, например, collaborator. У меня не было доступа к коллаборатору, поэтому я воспользовался его бесплатным аналогом - https://app.interactsh.com/

Не удалось прогрузить медиа






















В поле ввода ставим имя@СсылкаСервера




Не удалось прогрузить медиа










И нам придут отстуки. Смотрим айпишники, с каких он нам пришёл. Получить реальный айпишник таким методом выйдет только в том случае, если на origin ip развернут smtp сервер и настроен не правильно. Такое бывает не часто, но встречается.

XML-RPC Pingback
xml-rpc.php - инструмент в wordpress, какой позволяет управлять своим блогом удаленно через xml запросы. В xmlrpc есть одна интересная команда - pingback.ping. Она, как уже и понятно с названия, нужна для pingback уведомлений.
Часто эту команду закрывают, так как она может использоваться злоумышленниками для различного рода спама. Но если она открыта - кидаем pingback на свой коллаборатор и ждем результат. Есть большая вероятность, что на коллаборатор придет уведомление от настоящего айпи.

Не удалось прогрузить медиа




















<?xml version=”1.0" encoding=”UTF-8"?>
<methodCall>
<methodName>pingback.ping</methodName>
<params>
<param>
<value><string>СерверСпротоколомПередачи</string></value>
</param>
<param>
<value><string>ЛюбаяСсылкаНаБлогСсайта</string></value>
</param>
</params>
</methodCall>



Другие методы словить пингбэк
Это лишь часть методов, как ловить пингбэк от сайта на свой сервак. Вы можете их ловить, например, через заголовки (смотр. прошлую статью) при помощи param miner и collaborator everywhere. Все зависит от вашей креативности и от функциональности тестируемого веб приложения. Удачи!
👍14 😮3 😢4
Как всегда:fire:
@YmbMember забыли добавить водяной знак опцию поставить
👍2
ОтветYmbMember

не забыл. у меня какая то проблема с редактором. если ставить опцию водяной знак, то изображения крашаться я там добавил вотермарки мол "YmbMember для LIMB". Или мне надо форумовские добавить щас ?? Вложение 3297…

Не удалось прогрузить медиа



Акак крашится можете подробнее расписать передам разработчику. А вот увидел. Спасибо
👍2
Статья - :bomb:
Большое спасибо!

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.