February 25, 2020

Сбор данных о сайте и его скрытой информации. Методы и способы.

Genesis

Введение

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

Варианты сбора информации о сайте

Существуют 2 типа сбора информации: пассивный и активный.

Первый способ носит название OSINT (Open Source Intelligence). Информация, которая была добыта данным путем абсолютно легальна, так как все материалы были добыты лишь из интернета, и при ее сборе не было осуществлено никаких противоправных действий. При помощи этого метода можно найти гео-данные, различные документы организаций, личную информацию человека и другие сведения, в зависимости от того, какая конечная цель.

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

На самом деле, информация, полученная активным способом сбора, редко выкладывается просто так. Часто данные используются для проникновения на сервер, либо для продажи ценной и секретной информации.

Терминология

В этом пункте указаны все термины-понятия, которые могут быть вам незнакомы :

  • OSINT (Open source intelligence, Разведка на основе открытых источников) — метод сбора информации. Метод основан на открытых источниках, и используется с 1941 как военными учреждениями, так и гражданскими лицами.
  • Сlickjacking (Кликджекинг)вид атаки, путем создания невидимого слоя на обычной странице. Кликнув на определенную область сайта, выполняется вредоносный код. Часто используется для перекидывания пользователя на различные рекламные сайты.
  • XSS (Cross-Site Scripting, Межсайтовый скриптинг) – вид атаки, путем внедрения в сайт вредоносного кода. Занимает 7 место из 10 самых критических уязвимостей веб-приложений, по версии OWASP (https://www.owasp.org/images/7/72/OWASP_Top_10-2017_(en).pdf.pdf).
  • 0-day уязвимость (Уязвимость нулевого дня) — уязвимость, которая была найдена но по сей день не закрыта, и патча от нее не существует./


Сбор информации

Примеры будут строиться на различных сайтах и начну я OSINT.

Whois

Утилита является сетевым протоколом, который предоставляет зарегистрированную информацию об указанном домене.

Google dorks

Google dorks - это фразы, которые помогают работать с поисковой системой Google.

DNSdumpster

Это инструмент (DNSdumpster.com - dns recon and research, find and lookup dns records), который предоставляет информацию о хостах, которые относятся к домену.
Владельцы описывают этот инструмент как «OSINT для сетей».


Так же хочу отметить, что DNSdumper не использует брутфорс для обнаружения поддоменов, а берет информацию из многих открытых источников, таких как: Max Mind, Shodan, scans.io и так далее.

Сайт предоставляет возможность сохранить логи в виде таблицы:

Для подробной информации об инструменте, и его работе, вы можете найти на странице (Footprinting and Reconnaissance with DNSdumpster.com).



Robots.txt

Данный текстовый документ создается для ботов поисковых сервисов. Если владелец сайта не хочет что бы какая-то страница либо каталог отображались при поиске, либо производилась задержка между загрузкой страницы и так далее, то автор вносит определенные директивы.

Самые популярные:

User-Agnet - ​эта деректива дает вводные для определенного поискового бота. (* - вводная действует для всех ботов).
Dissalow - запрет на индексирование.​
Sitemap - место нахождения файла карты всего сайта, что бы предоставить боту страницы для их индексирования.​
Allow - разрешение на индексирование определённого каталога/файла.
Crawl-daley - задержка на n-нное количесто секунд.​


Так как любая из этих вкладок для нас недоступна, и вероятнее всего, выдает ошибку 403, перейдя по практически всем вкладкам перекидывает на страницу с ошибкой:

результаты сканирования URL Fuzzer'a

Из данной утилиты я получил следующее интересные страницы:

SSLyze SSLyze (nabla-c0d3/sslyze) - python библиотека, которая может анализировать конфигурации SSL нужного сервера, путем присоединения к нему. Так же библиотека поддерживает и тестирует TLS 1.3. При малейших перебоях, либо ошибках в сертификатах, выдает рекомендации к настройке и указывает на недоработки.

пример выдачи рекомендации и ошибок

Nikto

Nikto (https://cirt.net/Nikto2) - является незаменимым сканером сайтов. Утилита сканирует веб-сервер на самые популярные ошибки, и по этому так ценен для пентестеров.
Пример : сodeby.net

Наличие httponly флага в cookie помогает предотвратить кражи куки путем XSS атак. Nikto выдал отсутствие этого флага в cookie _cfduid, поэтому можно будет просканировать XSS сканером определенные страницы, где можно будет получить данный cookie.

Для сведения, имея httponly флаг, cookie всё равно остается уязвимым для XST (Сross-site tracing) и XSRF(Cross-site request forgery, так же известен как one-click attack или session riding) атак.

Так же, Nikto сообщил, что заголовок X-Content-Type-Options имеет параметр nosniff, что не позволит нам как-то перехватить данные.

Еще одна довольна интересная строка:

«The anti-clickjacking X-Frame-Options header is not present.»

Nikto выдал, что сайт не имеет защищающего механизма от clickjacking“а, но на самом деле такой механизм существует в заголовке:

Инъекции

Перед началом любых инъекций, полезно поискать фреймворк на котором работает сайт вот тут (Offensive Security’s Exploit Database Archive).

Exploit-DB – это база данных уязвимостей, где любой желающий может поделиться найденной уязвимостей в любом приложении, с предоставлением PoC (

Proof of Concept, Доказательство концепции). XenProta 2, фреймворк на котором работает codeby.net не оказался в базе данных:

И даже XenForo, движок на котором работает XenProta 2, в базе данных имеет всего 2 уязвимости:

Стоит отметить, что существует специальные сканеры для определённых CMS, которые автоматизируют всю работу с CMS (Content Mmanagement System, Система Управления Содержимым). Данные сканеры приходится часто использовать как в лабораторных заданиях, так и в "живых" пентестах.

WPScan

Wpscan – это автоматический сканер, который помогает находить уязвимости в CMS WordPress.

Wpscan, сначала обновляет базу, и после этого начинает сканировать каталоги, и файлы.

Типичная найденная уязвимость выглядит следующим образом:

Вначале мы узнаем, что за уязвимость, и где она находится. Потом указываются ссылки, где можно сразу изучить о данной уязвимости. Таким же образом работает Joomscan, только рассчитан на Joomla CMS. Но не всегда всё получается так гладко на деле, как было описано…

Узнав про поддомены codeby.net, я посетил consult.codeby.net и, зная, что сайт стоит на WordPress CMS, я использовал wpscan.

На мое удивление было найдено 2 уязвимости:

Но из-за настроек сервера, я не имел доступ к /wp-content/plugins/shortcodes-ultimate/:

Поэтому эта уязвимость ею не являлась.

Вторую уязвимость, можно было бы эксплуатировать, но в PoF сказано: «если участник создал пост с этим текстом…», а так как никаких постов создавать я не могу, то и эта уязвимость является бесполезной.

Я знал, что слепые SQL инъекции, либо же XSS атаки вряд ли дадут какой-либо результат, но я все же проверил их через онлайн сервисы: XSS Scaner (

https://pentest-tools.com/website-vulnerability-scanning/xss-scanner-online) и SQL Injection Scanner (

https://pentest-tools.com/website-vulnerability-scanning/sql-injection-scanner-online#).

Но никаких результатов я не получил...