Нос по ветру: как наш DNS-сниффер помогает искать Blind-уязвимости

от автора

Всем привет! В блоге центра исследования киберугроз Solar 4RAYS мы продолжаем делиться результатами расследований инцидентов, полезными инструментами для ИБ-специалистов и другими практическими материалами, часть которых мы размещаем и здесь.

Сегодняшняя статья от специалистов нашего отдела анализа защищенности «Солара» посвящена разработанному ими ПО для поиска и верификации уязвимостей.

Нам в отделе анализа защищенности довольно часто приходится искать и эксплуатировать уязвимости, которые, на первый взгляд, сложно выявить. Например, практически ни один проект не обходится без Blind-SSRF или Out-Of-Bound XXE, встречаются даже Blind-RCE. В этом материале мы расскажем о инструменте, который поможет пентестерам значительно упростить обнаружение разного типа уязвимостей. Но обо всем по порядку.

Наиболее простым маркером наличия уязвимости может быть получение DNS-запроса с удаленного сервера. При этом уникальность доменного имени в запросе позволяет гарантировать его отсутствие в кэше публичных DNS-серверов, что, в свою очередь, облегчает обработку и логирование этого запроса специально сформированным и настроенным DNS-сервером. Однако популярные DNS-серверы – например, BIND, PowerDNS и CoreDNS – не предоставляют достаточно удобных механизмов работы со своими журналами DNS-серверов, которые бы позволяли сэкономить время на поиске необходимой информации в файлах логов.

В связи с этим многие специалисты по анализу защищенности обращаются к таким утилитам, как dnschef и Burp Collaborator. Это довольно популярные решения, которые закрывают базовые потребности для работы, но и у них есть свои недостатки.

Взаимодействие с программным обеспечением dnschef осуществляется только через консоль операционной системы, что делает его неудобным для работы группы специалистов. Это применимо также к программному обеспечению и «InteractSH», которое используется для поиска Blind-SSRF уязвимостей. А для использования Burp Collaborator требуется платная версия ПО. В случае с ним играет роль еще одна немаловажная деталь: это ПО является облачным решением, и для обработки данных заказчиков не всегда считается приемлемым, так как использующий его специалист не может проконтролировать, каким образом третья сторона обрабатывает и хранит эти данные.

Регулярно сталкиваясь на практике со всеми этими проблемами, мы приняли решение разработать собственный DNS-сниффер с прицелом на удобство при совместной работе команды ИБ-специалистов, и сегодня готовы поделиться им с профессиональным сообществом.

Основными преимуществами нашего решения являются:

  • наличие веб-интерфейса;

  • возможность гибкой настройки прав доступа пользователей;

  • объединенные возможности нескольких программных средств в одном централизованном решении;

  • удобное отображение результатов для их последующей обработки.

В процессе разработки решения нами был определен следующий список основных компонентов, которые оказались востребованы в повседневной работе:

  • DNS-сниффер. Это основой модуль системы, который осуществляет обработку, логирование, фильтрацию и отображение результатов DNS-запросов

  • InteractSH. Это классический и всем известный InteractSH, перенесенный в удобный формат веб-приложения, с возможностью запуска и остановки серверов, а также передачи через него файлов. На момент публикации статьи в системе реализованы следующие основные протоколы:

    o   HTTP/S;

    o   TCP;

    o   SMTP;

    o   LDAP;

    o   FTP.

  • DNSRebind. Модуль для перезаписи DNS-записей с целью обхода механизмов фильтрации на стороне сервера.

  • DNS Blackhole. Модуль черных списков. Во время работы с DNS специалисты сталкиваются с ботами, которые пытаются подбирать доменные имена или же многократно совершают запросы на одно и то же доменное имя. Для отключения журналирования подобных запросов в системе имеется возможность установки фильтра отображаемой информации по IP- или DNS-имени из запросов.

Мы используем DNS-сниффер уже на протяжении пяти лет в различных проектах, и он показал удобство применения и высокую эффективность в решении задач своего класса.

На Github уже доступны исходные коды и необходимая документация.

Отметим, что исходный код проекта распространяется на условиях свободной лицензии MIT. Это означает, что решение можно модифицировать и делиться им с профессиональным сообществом. Оно создано исключительно в благих целях, но мы не можем контролировать то, как вы будете использовать это ПО. Также мы всегда находимся в поиске новых идей и готовы выслушать предложения по улучшению DNS-сниффера.

Мы будем благодарны вам за любую обратную связь по нашему продукту!  Оставляйте нам свои предложения и bug-reporting в issue 🙂

Авторы:

Андрей Басарыгин, руководитель группы исследований отдела анализа защищенности ГК «Солар»,

Максим Теплых, эксперт группы исследований отдела анализа защищенности ГК «Солар»,

Евгений Васильев, эксперт группы исследований отдела анализа защищенности ГК «Солар».


ссылка на оригинал статьи https://habr.com/ru/articles/853460/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *