У вас произошел инцидент кибербезопасности? Телефон круглосуточной горячей линии: 8 (800) 100-2355.
Если авторизоваться не получается, то попробуйте восстановить пароль. Если у вас нет аккаунта на сайте, то вы можете зарегистрироваться.
Если авторизоваться не получается, то попробуйте восстановить пароль. Если у вас нет аккаунта на сайте, то вы можете зарегистрироваться.
Если авторизоваться не получается, то попробуйте восстановить пароль. Если у вас нет аккаунта на сайте, то вы можете зарегистрироваться.

Nodersok - cпособы обнаружения вредоносной активности после заражения

4 декабря 2019

В первой части статьи мы рассматривали, каким образом можно обнаружить вредоносное ПО типа Nodersok в момент его проникновения в сеть. Однако стоит понимать, что данный этап достаточно скоротечен и высока вероятность его пропустить. Даже в случае, если у Вас есть центр мониторинга с обслуживанием 24/7, возможны ситуации, при которых с источника пропадут необходимые для анализа логи, или неверно сработают правила корреляции, или, самое простое, аналитик неверно интерпретирует событие, пометив его как ложноположительное. В этой части статьи мы рассмотрим, что происходит с системой после того, как Nodersok попадает на один из ПК.

После того как пройдет второй этап и зашифрованные файлы попадут на ПК, они будут декодированы и запустят новый JS‑скрипт, который в свою очередь запустит сценарий PowerShell. В результате его работы произойдет окончательное закрепление вредоносной программы в системе.

Помимо побочных действий, будут выполнены следующие характерные для вредоносной программы действия:

  1. Отключение средств защиты в ОС (в нашем случае Windows Defender).
  2. Установка node.exe.
  3. Установка и настройка драйвера WinDiver.

Связка WinDiver и node.js формируют своеобразный Socks-proxy с поддержкой протокола SOCS4A (в данном конкретном случае). При этом используются дистрибутивы, полученные из официальных источников.

На данном этапе нам может помочь только профилирование устройств, а также введение определенных стандартов, таких как:

  1. Использование внутреннего репозитория приложений.
  2. Использование единой управляемой системы обновлений.
  3. Использование сегментов сети, отведенных под тестирование и разработку, а также выделенного сегмента с продуктивными серверами.

Рассмотрим более подробно каждый из этих методов.

1. Использование внутреннего репозитория приложений

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

2. Использование единой управляемой системы обновлений

В рамках своей работы мы неоднократно сталкиваемся с ситуацией, при которой серверы управления или распространения вредоносного программного обеспечения располагаются на одном адресе с «легальными» серверами обновлений. При этом довольно затруднительно отделить «легальный» трафик от «нелегального», и попытка это сделать скорее всего приведет к замедлению работы сети. Однако современные системы позволяют производить централизованную установку и обновление программного обеспечения. Эти задачи могут взять на себя как продукты от компании Microsoft, так и продукты других компаний: например, Центр безопасности от компании «Лаборатория Касперского» (Kaspersky Security Center). В данном случае не столько важен продукт, сколько важен принцип. Данная мера позволит вовремя обратить внимание на появление трафика, идущего вразрез с установленными регламентами.

3. Использование сегментов сети, отведенных под тестирование и разработку, а также выделенного сегмента с продуктивными серверами

Осуществление четкого структурирования и сегментации сети по выполняемым задачам – это один из самых сложных методов для обнаружения вредоносного ПО. Почему такие меры необходимы? На данном этапе и в дальнейшем мы сможем выявлять лишь запуск служб, при этом сами службы будут выглядеть полностью «чистыми». С точки зрения работы системы подозрений возникать не будет, вплоть до того, что у нас при этом могут быть запущены и корректно работать средства защиты (например, антивирусное программное обеспечение). Именно по этой причине необходима подобная сегментация, которая к слову не приведет к серьезным финансовым издержкам, но поможет выявить работу вредоносных программ вроде Nodersok. В момент очередной инвентаризации мы сможем однозначно сказать, присутствуют ли на указанном ПК серверные и административные утилиты, не рекомендованные к использованию. При обнаружении таких утилит необходимо будет выяснить причины их появления. Сложность же данной меры обусловлена необходимостью тщательного планирования дизайна сети, осуществляемого с учетом интересов всех участников, а не только удобства сетевых администраторов (как это часто и бывает). При этом выбранной структуры необходимо придерживаться, а вносимые изменения должны четко фиксироваться и документироваться.

Одним из этапов обнаружения вредоносного ПО может служить отслеживание изменения статусов критичных служб, таких как инсталляция, запуск и остановка, на ПК из пользовательского сегмента (события Windows System Events ID 7040, 7045, 7036 и Sysmon Event ID 5). Подобные действия должны вызывать вопросы и инициировать исследования обозначенных ПК.

Дополнительным индикатором угрозы является особый тип трехстороннего рукопожатия, наблюдаемый при работе конкретной версии. Согласно исследованиям, WinDiver настроен на пакеты, сформированные определенным образом, при этом не используется как таковая установленная сессия. Активность такого рода можно отследить при помощи двух правил:

alert tcp any any -> any any (msg: "Detect Nodersok request";classtype:trojan-activity ; flag: S; content:"|02 04|"; ofsset:-20; content:"|01 03 03|"; DISTANCE:2;within:3; content:"|04 02 08 0A|"; DISTANCE:1;within:4  flowbits: set, Nodersok_handsheik; flowbits:noalert; sid:40001;rev:1)

alert tcp any any -> any any (msg: "Detect Nodersok respoce";classtype:trojan-activity ; flag: S; content:"|02 04|"; ofsset:-24; content:"|01 03 03|"; DISTANCE:2;within:9; content:"|01 01 08 0A|";within:4; DISTANCE:1;content:"|04 02 00 00|"; DISTANCE:8;within:4;  flowbits: isset, Nodersok_handsheik; sid:40002;rev:1)

Данный индикатор говорит об уже произошедшем заражении. Однако не стоит слишком на него полагаться, так как подобные действия, хотя и очень характерны для вредоносного ПО, могут быть легко изменены.

Дополнительно стоит отметить, что всё взаимодействие идет с адресами и доменами, ранее не помеченными как вредоносные. Ряд скриптов размещались на CloudFront (возможны и другие облачные сервисы), домены и адреса всё время менялись. Исследователи не смогли определить адреса взаимодействия, однозначно указывающие на заражение. Таким образом, видно, что в данном случае бессмысленно опираться на какие-либо «белые списки».

В завершение я бы снова хотел обратить внимание на то, что наша команда старается учитывать не только конкретные действия различных вредоносных программ. Мы в своей работе предпочитаем прежде всего выявлять аномалии, не характерные для обычной, повседневной работы пользователей. Подобный подход дает преимущество в обнаружении вредоносных программ, которые ранее не были описаны, либо семплы которых могут быть легко изменены (как в исследуемом Nodersok). Конечно это ведет и к необходимости дополнительной работы с нашими партнерами, но мы придерживаемся принципа «Опасайся действий, которые ты не контролируешь», и, если администратор контролируемой нами системы не может объяснить происходящее у него в системе, мы рекомендуем изолировать указанные ПК и либо передать их нам для дальнейшего исследования, либо полностью удалить операционную систему на данном ПК и установить заново (с использованием «чистых копий»), в случае если нет заинтересованности в продолжении исследования.