Введение
Когда киберпреступники проникают в корпоративную сеть, они часто используют стандартные протоколы доменной инфраструктуры: работают с Kerberos, отправляют DNS-запросы, обращаются к внутренним сервисам и сетевым папкам. Такая активность практически неотличима от обычного сетевого трафика, что затрудняет её выявление классическими средствами защиты от сетевых атак.
Методы атак, такие как Kerberoasting и DNS-туннелирование, давно стали стандартным инструментом злоумышленников. Они позволяют выполнять критические этапы компрометации, оставаясь невидимыми для традиционных систем защиты. Регулярно выявляются новые кампании, использующие оба этих способа атак.
Традиционные системы сетевой защиты работают эффективно, когда атака имеет характерный признак: узнаваемую строку в запросе, известный паттерн вредоносного трафика или код эксплуатации уязвимости. Однако этот подход не подходит для выявления атак, которые маскируются под обычный сетевой трафик в организации.
Вместо поиска явных признаков атак технология определения сетевых аномалий (NAD) проверяет весь трафик на предмет подозрительных признаков, которые отличаются от типичной активности узла. Платформа Kaspersky Anti Targeted Attack (KATA) реализует эту технологию среди других решений «Лаборатории Касперского».
Система изучает параметры сетевых пакетов (DNS, DCE/RPC, Kerberos и другие) и выделяет важные характеристики для выявления необычного поведения. Такой метод позволяет обнаруживать атаки на контроллеры домена, признаки создания туннелей и кража данных, коммуникацию с командными серверами и другие сценарии, указывающие на компрометацию сетевой инфраструктуры.
Технология определения сетевых аномалий не основана на универсальном наборе признаков. Для каждого типа атаки используются отдельные модели обнаружения, учитывающие особенности протокола, типичное поведение узлов и характерные отклонения. В статье рассмотрены два примера — обнаружение Kerberoasting и DNS-туннелирования, чтобы показать, как эти принципы работают в правилах NAD в KATA NDR и почему они более эффективны, чем анализ на основе известных сигнатур.
Обнаружение атаки Kerberoasting в KATA NDR
Почему Kerberoasting сложно обнаружить обычными способами
Атака Kerberoasting основана на нормальной работе протокола Kerberos. Злоумышленник находит учетные записи служб с идентификатором Service Principal Name (SPN), запрашивает для них билет TGS (Ticket-Granting Service) и пытается разгадать пароль методом перебора по словарю. Если пароль простой или редко обновляется, преступник может получить доступ к нему с помощью подбора. Полученные учетные данные затем используются для перемещения по сети.
Сущность Kerberoasting состоит в том, что лицо, имеющее компрометированный аккаунт с ограниченными правами и действительный билет TGT (Ticket-Granting Ticket), может запрашивать билеты TGS с ослабленной защитой для учетных записей служб с SPN. При этом не требуется иметь разрешение на доступ к этой службе.
Получив эти билеты, злоумышленник может расшифровать их локально путем перебора паролей без сетевой активности. Таким образом он извлекает хэш пароля учетной записи служб.
Цель преступника — обнаружить учетную запись служб со слабым паролем, вероятно созданную администраторами вручную. Поэтому он не интересуется системными учетными записями служб (например, CIFS/fileserver.company.local), которые создаются автоматически и имеют очень сложные пароли, неподдающиеся подбору.
Важно отметить, что запросы билетов TGS, которые отправляют злоумышленники, неотличимы от обычных запросов. В каждом домене присутствует большой объем трафика Kerberos. В этом заключается трудность выявления Kerberoasting: законные запросы на получение служебных билетов (TGS-REQ) идентичны запросам от атакующих. Поэтому основной подход к обнаружению состоит в анализе косвенных признаков, а не в поиске характерных паттернов.
Ключевые показатели включают: необычный источник запроса (нестандартный компьютер или пользователь), резкий рост количества запрашиваемых SPN в короткий период, попытки получить служебные билеты для важных или защищённых учетных записей служб, а также нестандартное время и количество запросов по сравнению с историческим поведением пользователя и компьютера.
Большинство этих показателей может определить технология NAD, помогая аналитику сосредоточиться на конкретной гипотезе: кто мог инициировать Kerberoasting, какие учетные записи служб находятся в опасности и почему эта активность необычна для данной сети.
В этой атаке сетевой аномалией является ситуация, когда за короткое время один компьютер, вероятно под одним пользователем, получает множество служебных билетов TGS для разных служб с SPN, которые не являются системными.
Создание правила выявления сетевых аномалий
Правила NAD представлены как SQL-запросы к базе KATA NDR на основе ClickHouse. Ниже показано, как добавить и использовать такое правило.
Чтобы начать работу с правилами NAD, перейдите в раздел интерфейса «Пользовательские правила», подраздел «Обнаружение вторжений». На вкладке «Обнаружение сетевых аномалий» вы можете добавить новое правило.
При создании нового правила можно выбрать нужный шаблон из имеющихся готовых вариантов, поставляемых с обновлениями продукта.
Кроме того, аналитик может отредактировать правило, созданное на основе шаблона (оно будет считаться пользовательским), или написать собственное с нуля, следуя инструкции.
После выбора шаблона аналитик видит описание правила и может изменить или оставить по умолчанию следующие параметры:
- глубина поиска (временной интервал от текущего момента для выполнения SQL-запроса);
- расписание (как часто запускается запрос);
- интервал подавления повторных срабатываний (период времени, в течение которого похожие оповещения объединяются в одно).
Для корректной работы правила рекомендуется перед запуском перейти на вкладку «SQL-запрос» и ознакомиться с переменными, используемыми в правиле (описание каждой переменной появляется при наведении курсора на значок вопроса).
Переменные — это различные наборы данных: IP-адреса, даты, текстовые строки, числовые значения, которые описывают сетевую инфраструктуру: контроллеры доменов, DNS-серверы, временные диапазоны, критичные сегменты и другие элементы. Эта возможность позволяет адаптировать каждое правило к разным сетевым окружениям, учитывая особенности инфраструктуры без изменения самого правила.
На примере правила «Признаки атаки Kerberoasting» можно настроить следующее без изменения SQL-запроса:
- исключить из проверки IP-адрес, с которого отправляются запросы TGS-REQ (можно указать один адрес, маску подсети или список адресов), а также учетную запись клиента (допускается один адрес или список);
- изменить пороговое значение количества уникальных SPN для генерации оповещения.
На этой странице также можно проверить правило перед сохранением.
Когда такое правило срабатывает, создается оповещение типа NDR:NAD. В карточке оповещения аналитик видит основную информацию: IP-адреса, порты и участников сетевого обмена.
Далее можно перейти к связанному событию, где показано подробное описание аномалии и ссылки на затронутые узлы.
При необходимости аналитик может посмотреть и загрузить сетевые сессии, связанные с срабатыванием правила. Их можно открыть из оповещения или события через меню «Показать связи».
В рамках конкретной сессии доступна стандартная информация о участниках, объеме переданных данных и другие детали. На вкладке «Атрибуты» аналитик может просмотреть события, зафиксированные в сессии.
Обнаружение DNS-туннелирования в KATA NDR
Как работает DNS-туннель
DNS-туннелирование — это способ передачи данных или управления вредоносной программой через сетевые экраны путем кодирования информации в запросах и ответах DNS. Вместо обычного разрешения имен заражённый компьютер отправляет данные в поддоменах, а получает ответы через DNS-записи. Такой канал может использоваться для управления вредоносом кодом, обхода сетевых ограничений или кражи данных.
Один из способов создания DNS-туннеля — использование TXT-записей. В этом случае клиент создает DNS-запросы TXT-записей, где правая часть доменного имени (несколько верхних уровней доменной иерархии) остаётся неизменной, а левая часть (самый нижний уровень) используется для передачи закодированных или зашифрованных данных от клиента серверу. Структура доменного имени выглядит так: например, ZFcABQAIBA[.]testlab[.]local, где testlab[.]local — неизменная правая часть, а ZFcABQAIBA — меняющаяся левая часть для передачи данных.
Сервер отправляет команды или сообщения в поле данных TXT-ответа. Благодаря неизменности правой части все запросы от клиента всегда попадают на один C2-сервер, даже если клиент обращается к разным DNS-серверам.
Выявить такую вредоносную деятельность в DNS-трафике без ложных срабатываний довольно трудно. DNS разрешён почти во всех корпоративных сетях, длинные доменные имена встречаются как во внутренних, так и во внешних сетях, а TXT-записи могут использоваться для служебных целей.
Подозрение формируется на основе совокупности признаков: множество длинных и выглядящих случайными поддоменов одного верхнего уровня, высокая частота запросов, большое количество уникальных имён, необычные типы записей и большой объём данных в DNS-сессии.
В результате анализа DNS-трафика для задачи выявления выделены три интересующих поля:
- запрошенное DNS-имя;
- тип DNS-записи;
- поле TXT-данных из ответа.
На примере выше видно, что все эти данные присутствуют в DNS-ответе. На практике в таком туннеле будет передан необычно большой для обычного DNS-трафика объём данных.
Таким образом, сетевой аномалией при DNS-туннелировании является ситуация, когда один компьютер — источник запросов, отправляя данные в меняющейся левой части доменных имён при неизменной правой части, получает в ответах от DNS-сервера TXT-записи с различным содержимым. При этом суммарный объём данных в левой части запрошенного доменного имени и в TXT-данных из ответа должен превышать установленный порог.
Принцип выявления DNS-туннелирования
Для добавления правила выявления описанной аномалии используйте готовый шаблон «DNS-туннелирование через TXT-записи» при создании нового правила. На вкладке «SQL-запрос» отображается список используемых переменных:
- user_DNS_servers — набор адресов внутренних DNS-серверов в организации для корректной работы и снижения ложных срабатываний;
- excl_sip — исключаемые из проверки IP-адреса (один адрес, маска подсети или список);
- traffic_size — пороговое значение объёма данных (в байтах), переданных через туннель.
Правило выявления этой аномалии работает по следующему принципу:
- Из DNS-сессий за период, равный глубине поиска, выбираются сессии, содержащие хотя бы один TXT-ответ. При этом:
- IP-адрес источника сессии не должен быть исключён в переменной excl_sip;
- IP-адрес источника не должен относиться к внутренним DNS-серверам из переменной user_DNS_servers;
- Запрашиваемые клиентом DNS-имена не должны быть исключены в самом правиле.
- Подходящие DNS-сессии разделяются на отдельные строки для каждого запроса или ответа. Отбираются только DNS-ответы, содержащие TXT-данные.
- Из DNS-ответов извлекаются DNS-имена и TXT-данные. Сохраняются только уникальные значения.
- Все строки группируются по IP-адресу источника. Суммируются все уникальные DNS-имена и TXT-данные.
- Если для одного IP-адреса за период поиска объём байтов в уникальных DNS-имёнах и TXT-данных превышает установленный порог — создается оповещение.
- В течение периода, равного интервалу подавления повторных срабатываний, все последующие оповещения от одного IP-адреса объединяются в первое. Это предотвращает создание новых событий и увеличивает счётчик «Всего появлений».
Основная ценность технологии NAD в этом сценарии — снижение ложных срабатываний и ускорение расследования. DNS-туннель редко выглядит как одно явно вредоносное действие. Он оставляет следы поведения: повторяемость, длину, структуру имён, необычные типы записей, множество поддоменов с неизменной основой и отклонение от нормального поведения компьютера. KATA NDR объединяет эти признаки в одно оповещение, представляя аналитику проверяемую гипотезу атаки вместо разрозненных DNS-событий.
Готовые правила выявления сетевых аномалий в KATA NDR
По умолчанию в продукте правила выявления сетевых аномалий не активированы. Их нужно добавлять вручную описанным способом. Это связано с тем, что большинство правил требует ручной настройки через переменные, что позволяет гибко адаптировать правило к конкретной сетевой инфраструктуре.
Аналитик может создавать новые правила тремя способами.
- Добавить правило из готового шаблона и изменить пользовательские переменные. В этом случае правило считается системным.
- Добавить правило из готового шаблона и изменить его SQL-запрос (требуется активировать опцию «Разблокировать все шаблонные значения»), создав собственное правило на основе шаблона. Такое правило становится пользовательским.
- Создать пользовательское правило с нуля, что требует знания основ языка запросов ClickHouse и ознакомления с инструкцией.
На момент публикации продукт поставляется с 59 готовыми шаблонами правил выявления сетевых аномалий (новые шаблоны могут поставляться с обновлениями). Одновременно в продукте может быть активировано до 200 правил.
Готовые правила организованы в 6 категориях:
- Large Data Transfers — контроль аномально больших сетевых сессий по разным протоколам в рабочее время, ночное время и выходные;
- Suspicious Connections — выявление подозрительных соединений, которые могут указывать на опасную деятельность, теневые ИТ-системы, попытки скрытия и другое;
- Domain Attacks — обнаружение классических атак на доменные системы с использованием специальных инструментов;
- Reconnaissance Activity — подозрительная деятельность в доменных протоколах (Kerberos, DCERPC, LDAP, DNS), похожая на разведку в домене;
- Connections to Suspicious Resources — выявление нарушений политик информационной безопасности, потенциальной кражи данных и незаконного доступа в интернет;
- С2 Communication — обнаружение сетевых сессий, характерных для возможного управления вредоносом кодом или туннеля.
Заключение
На примере Kerberoasting и DNS-туннелирования становится ясно, почему современной защите недостаточно только искать известные сигнатуры и признаки компрометации. Обе атаки используют протоколы, которые постоянно работают в корпоративной сети. На уровне отдельных событий они могут выглядеть обычными, но в контексте поведения они выдают компрометацию.
Технология NAD заполняет именно этот пробел. Она помогает увидеть не просто срабатывания на Kerberos или DNS-трафик, а отклонение от обычного поведения: кто инициировал деятельность, как часто она повторялась, какие сервисы или домены затронуты и почему это важно для конкретной сети.
В результате аналитик получает чёткую отправную точку для расследования. Это особенно ценно при выявлении деятельности продвинутых киберпреступников, которые стараются оставаться незамеченными и маскируют свои действия под обычную деятельность. Значимость такой возможности будет расти: чем быстрее развивается атака, тем критичнее выявлять подозрительную деятельность на ранних этапах, прежде чем она приведет к компрометации важных систем или потере данных.
