Категория > Новости > Проблемы эксфильтрации. Как поймать воров или не попасться при пентесте - «Новости»
Проблемы эксфильтрации. Как поймать воров или не попасться при пентесте - «Новости»1-01-2022, 00:02. Автор: Майя |
PoC на Python, представляющий собой шелл, который использует каналы Zoom как среду передачи. Управлять ПК, на котором запущен скрипт, возможно как через API, так и непосредственно из клиента. Каналы в Zoom Заметь, этот PoC создан в первую очередь для демонстрации и не учитывает задаваемые Zoom ограничения на количество сообщений и длину одного сообщения. Важная особенность здесь в том, что API-запросы принимают все серверы Zoom. В том числе даже если запрос идет по IP, без имени хоста. Таким образом, если в процессах компании плотно используется Zoom, противодействовать такому методу сложно, не блокируя доступ к серверам Zoom полностью. Это справедливо и если говорить о выгрузке через другие мессенджеры. Если не знать вызываемый метод API, невозможно отфильтровать выгрузку данных от легитимного трафика мессенджера. DNS-туннелированиеИнкапсуляция данных в тело прикладных протоколов — один из самых распространенных методов эксфильтрации данных и построения туннелей. Так как исходящий DNS-трафик разрешен в большинстве корпоративных сетей, его можно использовать как канал связи между сервером атакующего и скомпрометированным хостом. В настоящее время существует множество утилит для создания DNS-туннелей: NSTX, DNSCat2, Iodine, TUNS, Dns2TCP, DeNiSe, DNScapy, Heyoka, OzymanDNS, psudp, squeeza, tcp-over-dns. В 2017 году на конференции ZeroNights санкт‑петербургская группа DC 7812 представила расширение Meterpreter, реализующее транспортный канал для контроля над агентом Meterpreter при помощи DNS-туннеля. Расширение Meterpreter Как ловить?Есть разные методы обнаружения DNS-туннелирования в сети. Все они основаны на анализе содержимого пакетов DNS, а также количества и частоты DNS-запросов. При эксфильтрации данные кодируются и передаются в виде поддоменов третьего уровня. Длина поддомена, как правило, не превышает 30 символов, соответственно, можно установить правила для блокировки запросов, превышающих этот порог. Еще один способ — анализ энтропии доменных имен. Как правило, легитимные URL содержат осмысленные части, в то время как закодированные в Base64 данные имеют более высокую энтропию. Как вариант, можно искать в пакетах записи DNS, которые нехарактерны для легитимного трафика, например CNAME или TXT. Если политика безопасности требует, чтобы все запросы проходили через внутренний сервер DNS, то по нарушениям можно отследить нелегитимный трафик. Однако большинство утилит предназначены для работы даже при пересылке запросов через внутренний DNS. Многие утилиты используют собственные алгоритмы генерации доменных имен, что позволяет обнаруживать туннели по сигнатурам. Один из основных и наиболее простых методов обнаружения — анализ объема DNS-трафика для конкретного клиентского IP-адреса. Если запросов вдруг заметно больше, чем от других хостов, значит, есть подозрение на эксфильтрацию. Как обойти?Для скрытия DNS-туннелирования от средств защиты лучше всего использовать самописные инструменты, так как сигнатуры уже созданных утилит есть у вендоров. Кроме того, лучше всего использовать распространенные типы DNS-записей, такие как A и AAAA. Также можно использовать уникальные алгоритмы генерации доменного имени для передачи закодированной информации, чтобы они не превышали определенной длины и имели небольшую энтропию. Перейти обратно к новости |