Кибербезопасность - Введение в DNS-туннелирование

Опубликовано: 29 Декабря, 2021

DNS (система доменных имен) - это служба интерпретации имени хоста в IP-адрес. Это протокол прикладного уровня для обмена сообщениями между пользователями и серверами. Каждый хост распознается по IP-адресу, но вспомнить номера очень сложно для отдельных лиц, и, кроме того, IP-адреса впоследствии не являются статическими. Таким образом, DNS используется для изменения доменного имени сайтов на их числовые IP-адреса.

Что такое DNS-туннелирование?

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

Почему DNS-туннелирование является проблемой?

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

  1. Использование DNS-туннелирования может дать злоумышленникам постоянно доступный обратный канал для эксфильтрации полученной информации. Это зависит от использования DNS в качестве скрытого канала корреспонденции, чтобы обойти брандмауэр.
  2. Хакеры туннелируют различные типы протоколов, такие как SSH или HTTP, с DNS, в этот момент тайно передают украденную информацию или пропускают IP-трафик.
  3. DNS-туннель может использоваться как полный канал контроллера для уже использованного внутреннего хоста. Это позволяет хакерам тайно перемещать записи из организации, загружать новый код в существующее вредоносное ПО или иметь полный удаленный доступ к серверам и т. Д.
  4. DNS-туннели также можно использовать для обхода перехватывающих порталов, чтобы не платить за услуги Wi-Fi.
  5. DNS-туннелирование использует протокол DNS для туннелирования вредоносных программ и другой информации через модель клиент-сервер.

Как работает DNS-туннелирование?

  1. Хакер подключает домен, например hello.com. Этот сервер доменных имен ориентирован на систему злоумышленника, где внедряется вредоносная программа туннелирования. Хакер использует вредоносное ПО на компьютере, который часто находится за брандмауэром организации.
  2. Поскольку запросам DNS разрешено постоянно проходить через брандмауэр, атакованному компьютеру разрешается отправлять запрос в распознаватель DNS. DNS-преобразователь - это сервер, который передает запросы на IP-адреса корневым и высокоуровневым доменам-серверам.
  3. Преобразователь DNS направляет запрос на командный сервер агрессора, где вводится программа туннелирования. В настоящее время установлено соединение между атакованным лицом и хакером через преобразователь DNS.
  4. Этот отрывок можно использовать для кражи информации или для различных вредоносных целей. Поскольку между жертвой и хакером нет прямой связи, усложняет отслеживание компьютера хакера.

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

Согласно исследованиям, более 80% вредоносных программ используют DNS, чтобы отличить командно-управляющий (C2) сервер для сбора информации и распространения вредоносных программ. В связи с этим злоумышленники расширяют использование алгоритмов генерации доменов (DGA), чтобы значительно усложнить выявление и предотвращение этих опасностей. Затем группы безопасности ощущают давление, чтобы разрешить предсказуемую страховку от большого количества новых злонамеренных доменов, и остаются перед передовыми стратегиями, такими как туннелирование DNS.

Распространенные случаи злоупотреблений

  1. Кража информации: злоумышленники крадут конфиденциальную информацию через DNS. Это абсолютно не самый эффективный подход к получению информации с компьютера пострадавшего - со всеми дополнительными накладными расходами и кодированием - но он может работать.
  2. Управление и контроль (C2): хакеры используют соглашение DNS для отправки базовых приказов трояну удаленного доступа (RAT).
  3. Туннелирование IP-поверх-DNS: существуют утилиты, которые актуализировали стек IP-адресов в соответствии с соглашением о реакции на запросы DNS. Это упростило бы перемещение информации с помощью стандартных коммуникационных программ, таких как FTP, Netcat, ssh и т. Д.

Обнаружение DNS-туннелирования

  1. Анализ полезной нагрузки: в этом случае специалисты по кибербезопасности рассматривают причудливую информацию, отправляемую туда и сюда: необычно выглядящие имена хостов, тип записи DNS, который используется не так часто, и необычные наборы символов, которые могут быть обнаружены с помощью реальных стратегий. . Этот метод может помочь нам в обнаружении определенных утилит DNS-туннелирования.
  2. Анализ трафика: Защитники смотрят на количество запросов к DNS и противопоставляют его нормальному использованию. Злоумышленники, выполняющие туннелирование DNS, направят в DNS исключительно большой трафик. В принципе, это гораздо более примечательно, чем обычное DNS-общение. Эта стратегия выполняет поиск некоторых конкретных атрибутов, которые помогают в процессе обнаружения, например, нет. имен хостов для каждого домена, географического положения, истории домена и т. д.
  3. Утилиты мониторинга DNS: также доступны некоторые утилиты для мониторинга DNS, такие как dnsHunter, повторная сборка DNS и т. Д.

Общие наборы инструментов DNS-туннелирования

  1. Йод: с его помощью можно легко туннелировать информацию IPv4 через DNS-сервер. Он создает организационный интерфейс для каждого из клиентов и связывает их вместе, как если бы у них была аналогичная организация. Этот элемент интересен для Iodine, поскольку различные инструменты туннелирования DNS сосредоточены на туннелировании явных портов, а не всего трафика IPv4. Это позволяет компьютерам пинговать друг друга, управлять всеми портами UDP / TCP и всеми различными соглашениями, которые воплощены в заголовке IP. Этот инструмент является встроенным в ОС Kali, но в других случаях и клиент, и сервер могут быть настроены с помощью устройства TUN / TAP. Возможности этого инструмента включают самооптимизацию, высокую производительность, портативность, аутентификацию. Но есть и некоторые проблемы, которые включают туннелирование только трафика IPv4, отсутствие шифрования туннелируемых данных, требования драйверов.
  2. DNSCat2: Этот инструментарий разделен на два сегмента: клиент и сервер. Сервер запрограммирован на языке C, а клиент - на Ruby. Сервер обширен и может поддерживать ассоциации с многочисленными клиентами, что делает его незаменимым работником C&C. Он должен запускаться первым, перед любым из клиентов. Некоторые из его функций включают шифрование, сеансы, подобные Metasploit, туннели для пересылки TCP и т. Д. Но проблемы, с которыми мы можем столкнуться с помощью этого инструментария, включают низкую производительность, ограниченные сеансы, ограничения туннелирования.
  3. Хейока: это инструмент, обычно используемый для эксфильтрации с поддержкой отклоняющих DNS-запросов для создания двунаправленного соединения. этот инструмент больше не подвергается динамическому совершенствованию и, как указывают его создатели, работает до 60% быстрее, чем другие доступные наборы инструментов. Этот инструмент обычно значительно усложняет идентификацию брандмауэром и обнаружение машины, которая выполняет туннелирование. Итак, сейчас он работает только в Windows. Некоторые из его функций включают высокопроизводительные комплексные атаки, независимые от интерпретаторов или компиляторов. Но проблемы, с которыми мы можем столкнуться, включают нестабильность, исполняемую только в ОС Windows, отсутствие шифрования и т. Д.
  4. Доступно гораздо больше, например OzymanDNS и т. Д.

Меры предосторожности при DNS-туннелировании

  1. Всегда используйте инструмент, который может легко отличить как предварительно настроенные наборы инструментов, так и разные методы.
  2. Станции бойкота известны кражей информации
  3. Включите брандмауэр DNS, который ищет DNS-туннелирование.
  4. Автоматический мониторинг, который можно сделать с помощью аналитики в реальном времени.
  5. Предпочтительно, чтобы защита DNS обеспечивалась автономными решениями.
  6. Включите в игру те инструменты, которые могут легко обнаруживать различные вредоносные запросы и эффективно их устранять.

Заключение

DNS не является основным протоколом, который можно использовать для туннелирования. Например, вредоносное ПО Command and Control (C2) часто использует HTTP как метод сокрытия корреспонденции. Точно так же и с DNS-туннелированием злоумышленники скрывают свою информацию, однако в этой ситуации создается впечатление, что трафик браузера идет далеко за пределы сайта (ограниченный хакерами). Он может общаться под радаром наблюдения за мониторингом, который не чувствителен к этой опасности злоупотребления HTTP в закулисных целях.

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