Для туннельного фреймворка ICMP-Ghost созданы правила детектирования каналов управления

information security

В открытом доступе появился фреймворк ICMP-Ghost, предназначенный для скрытого управления заражёнными устройствами. Проект написан на ассемблере для архитектуры x64. Его автор утверждает, что инструмент способен обходить средства защиты конечных точек, а также сетевые системы обнаружения и предотвращения вторжений (IDS/IPS). По заявлению разработчика, фреймворк отличается низким потреблением памяти и высокой производительностью. При этом, несмотря на название, он поддерживает два канала связи: на базе ICMP-эхо-запросов и DNS-запросов. Исходный код размещён в открытом репозитории, поэтому воспользоваться им может любой желающий.

Описание

Канал на основе ICMP маскируется под обычные эхо-запросы и эхо-ответы. В каждом пакете помимо управляющих данных размещается временная метка, служебный заполнитель и зашифрованный блок информации. Данные шифруются с использованием ключа, который меняется для каждого следующего байта, что затрудняет прямое извлечение содержимого. Для защиты от подмены используется асимметричная аутентификация. Она основана на математической связи между идентификатором и порядковым номером пакета. Если сумма значений не совпадает с заданным числом, пакет не принимается. Благодаря этому клиент и сервер распознают только собственные сообщения. Заполнитель внутри пакета имитирует стандартное заполнение, встречающееся в ICMP-трафике операционных систем семейства Linux.

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

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

На основе выявленных признаков подготовлен набор правил для платформы Yara-X, предназначенной для поиска вредоносных проявлений в сетевых данных. Правила разделены на три группы: для ICMP-запросов, для ICMP-ответов и для DNS-запросов. В каждой группе учитываются не только внешние характеристики пакетов, но и внутренние связи между полями. Такой подход позволяет сократить количество ложных срабатываний. В случае DNS-канала отдельно проверяется длина имени, символьный состав и отсутствие признаков стандартного ответа. При необходимости правила можно адаптировать под любой порт, поскольку структура UDP-пакетов, используемых фреймворком, остаётся стабильной. Готовые правила доступны в открытом репозитории и подходят для анализа записанного трафика.

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

Дополнительно была проведена проверка с помощью встроенного модуля анализа ICMP-трафика. Он изучает поведенческие характеристики потока: частоту следования пакетов, их размер, последовательность номеров и соотношение запросов с ответами. На тестовых данных модуль зафиксировал несколько подозрительных признаков. В частности, пакеты оказались аномально крупными, частота отправки превышала обычные значения, а один из потоков начинался с ответного пакета. Эти отклонения характерны для туннельных протоколов, которые вписывают большие объёмы данных в служебные сообщения. Поведенческий анализ тем самым дополняет сигнатурный поиск.

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

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

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

Индикаторы компрометации

Комментарии: 0