РУССКИЙ
РУССКИЙ
ENGLISH
15.08.2017

Секреты Cobalt

Как группа Cobalt преодолевает средства защиты
Веста Матвеева,
главный специалист по компьютерной криминалистике Group-IB
специально для Ассоциации специалистов информационной безопасности BISA.


В июне 2016 года в России была зарегистрирована первая атака с участием группы Cobalt: у крупного банка попытались украсть деньги через банкоматы. Злоумышленники проникли в сеть банка, получили над ней контроль, скомпрометировав учетную запись администратора домена, добрались до сервера управления банкоматами. И вот тут-то служба информационной безопасности банка и обнаружила часть используемых злоумышленниками программ, и подозрительные подключения к серверу, после чего полностью перекрыла доступ в Интернет всему банку. Это оказалось наилучшим решением, ведь, как оказалось в дальнейшем, группа Cobalt устраивает в сети банка контролируемую бот-сеть, работу которой очень сложно отследить и еще сложнее остановить.
Уже на следующий день после атаки специалисты Group-IB приехали в центральный офис банка и начали искать первоисточник атаки, выяснять этапы ее развития, причины и последствия, анализировать вредоносные программы и восстанавливать хронологию событий. Компьютеры, которые были задействованы в атаке, отправили на экспертизу.

Криминалисты Group-IB сразу поняли, что столкнулись с новым подходом к целевым атакам на банки и не ошиблись. Июньский инцидент стал «тестированием» новой технологии атак, которую злоумышленники уже в июле начали применять в странах СНГ, Европы и Азии. Например, тогда из более чем трех десятков банкоматов тайваньского банка First Bank были похищены 2 млн долл. В октябре 2016 г. Group-IB выпустила отчет о деятельности группы Cobalt. Сейчас, спустя год, эта группа продолжает атаковать финансовые организации, о чем клиентов ежемесячно оповещает команда Threat Intelligence Group-IB.

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

Атаки группы Cobalt всегда осуществляются по одному и тому же шаблону. Общие принципы целевых атак на финансовые организации не меняются c 2013 г., когда группы Anunak, Corkow, Buhtrap, Lurk начали проводить первые атаки на российские банки, – изменяются только инструменты. Этапы атак показаны на рисунке.
Группе Cobalt до сих пор удается проникать в сети крупных финансовых организаций, расположенных по всему миру, а потому имеет смысл остановиться на приемах этой группы, используемых для маскировки в сети и преодоления средств защиты.
Проникновение в сеть
Во всех исследованных нами случаях для проникновения в сеть организации-жертвы использовалась почта. С почтового сервера злоумышленников осуществляется массовая рассылка фишинговых сообщений с вложениями для сотрудников интересующей организации. Темы писем и имена вложений формулируются так, чтобы сотрудники захотели их открыть, например:
Рассылка проводится массово: в одной организации письма поступают, как правило, к 10–40 сотрудникам. При этом, по нашим данным, часть почтовых адресов принадлежит сотрудникам, уже не работающим в организации-жертве, то есть группа Cobalt использует неактуальные списки рассылки. Каждое письмо содержит вложение, которое, вне зависимости от его формата, должно загрузить в оперативную память компьютера «полезную нагрузку» ПО Cobalt Strike (https://www.cobaltstrike.com/). Это ПО и дало название группе Cobalt.

Для того чтобы сделать возможной такую загрузку, злоумышленники опробовали несколько форматов вложений и писем, ведь их первоочередная задача – обойти почтовые фильтры, средства защиты и политики безопасности организации. Первое время в качестве вложения использовались архивы с исполняемыми вложениями .exe и .scr. Пример письма:
Архив защищен паролем для обхода антивирусной проверки, системы безопасности и почтовых фильтров. Однако при использовании политики безопасности, запрещающей пересылку зашифрованных архивов, такое почтовое сообщение может быть заблокировано. Поэтому злоумышленники придумали другую технику: они начали рассылать файлы .doc, содержащие эксплоиты, как правило, для ПО Microsoft Office. Пример письма:
Такая схема подразумевает наличие уязвимой версии ПО, поэтому организации могут себя обезопасить с помощью регулярного своевременного обновления всего используемого ими программного обеспечения. Конечно, остаются уязвимости «нулевого дня», но мы пока не встречались с их использованием в подобных атаках.

Для организаций, своевременно обновляющих свои системы и придерживающихся жестких политик безопасности, придуман еще один способ доставки по почте вредоносного кода – макрос в документах Word. При открытии документа требуется нажать на кнопку «Включить содержимое», разрешающую запуск макроса.
Одной из задач злоумышленников при доставке почтовых сообщений является сокрытие отправителя. В случае простой подмены поля отправителя большинство почтовых серверов блокируют сообщения, поэтому группа Cobalt регистрировала домены, названия которых были схожи с реальными (например, diebold.pw), и настраивала свой почтовый сервер для организации рассылки от имени этих доменов. Пример письма:
Как только вложение запущено и вредоносный код отработал, в память загружается «полезная нагрузка» ПО Cobalt Strike. Это средство используется для проведения тестов на проникновение, а значит, известно и доступно не только кибермошенникам. Данное ПО предоставляет полный комплект функций для управления загруженным модулем, а соответственно, и зараженным компьютером – кейлоггер, снимки экрана, удаленный доступ по VNC, инжекты в процессы, обход системы безопасности UAC, средство mimikatz, используемое с целью компрометации реквизитов доступа для учетных записей ОС Windows, возможность сканирования открытых портов на компьютерах организации и др.
Выполнение в оперативной памяти
Модули ПО Cobalt Strike не хранятся в файловой системе, их исполняемый код можно найти только в оперативной памяти. По умолчанию выполнение кода осуществляется в контексте процесса rundll32.exe, но код может быть инжектирован в любой процесс, например с целью повышения прав и привилегий. Кроме того, По Cobalt Strike дает возможность не выставлять фрагменту памяти, выделенному в контексте другого процесса, атрибуты RWX (Read, Write, Execute), по которым часто выявляется инжектированный код. Наконец, не все антивирусные средства умеют сканировать оперативную память.
Методы закрепления
Специалисты Group-IB участвовали в расследовании большого числа инцидентов, которые связывают с группой Cobalt, и каждый раз использовались разные способы закрепления. Задача закрепления – прописать в автозагрузку путь до исполняемого файла или программный код, запускаемый с помощью командного интерпретатора powershell.exe, для обращения к заданному в коде интернет-ресурсу с целью загрузки и запуска модуля ПО Cobalt Strike. Таким образом, сама «полезная нагрузка» в системе не хранится и каждый раз загружается заново. Дополнительный бонус данного способа закрепления состоит в том, что каждый раз может загружаться разная «полезная нагрузка».

Закрепление осуществляется не на всех зараженных компьютерах, а на нескольких, имеющих доступ в Интернет. В рамках реагирования были зафиксированы следующие способы автозагрузки: через службу, ключи автозагрузки, задачи ОС Windows, с помощью замены легитимных исполняемых файлов ПО, прописанного в автозагрузке, на исполняемый файл злоумышленников. Опасность задач ОС состоит в том, что их запуск может быть отложенным. Даже если сейчас сеть не заражена, через месяц может сработать соответствующая задача, и «полезная нагрузка» попадет на компьютеры организации.
Обход антивирусных средств
Обычно в момент проведения почтовой рассылки эксплоиты и все исполняемые модули антивирусными средствами не детектируются (так происходило со всеми активно работающими группами). Загружаемые модули злоумышленники стараются пересобирать, чтобы обходить сигнатурный анализ антивирусных средств. ПО Cobalt Strike предоставляет возможность использовать для этих целей фреймворк The Artifact Kit и даже модифицировать его под себя, так как он распространяется в исходных текстах.

Кроме того, автозагрузка производится посредством загрузки модуля ПО Cobalt Strike в оперативную память без сохранения в файловой системе. Дополнительными средствами обхода антивирусного ПО являются использование эксплоитов для повышения прав и привилегий, обход UAC, инжектирование кода в доверенные процессы.
Обход сетевых средств защиты
Cobalt Strike позволяет устанавливать два типа модулей – HTTP/HTTPS/DNS-модуль и SMB-модуль. Первый устанавливается в системы, имеющие доступ в Интернет, и обеспечивает взаимодействие с сервером управления с помощью протоколов HTTP/HTTPS/DNS. После открытия почтового сообщения, отправленного злоумышленниками, в систему загружается именно первый тип модулей. Второй тип может устанавливаться в системах, и не имеющих доступа в Интернет, поскольку им можно управлять через другие зараженные компьютеры посредством протокола SMB, который обычно используется внутри локальной сети. Таким образом, SMB-модуль управляется через другие зараженные компьютеры, на которых запущен HTTP/HTTPS/DNS-модуль, устанавливающий соединение с сервером управления.

Для обхода систем обнаружения и предотвращения вторжений, межсетевых экранов и прокси-серверов с сигнатурными правилами, нацеленными на обнаружение запросов определенного вида, модули ПО Cobalt Strike формируют профили взаимодействия по протоколу HTTP: задаются значения служебных заголовков протокола и параметров запросов, данные могут пересылаться как значение поля в заголовках, как значение отправляемого в составе URI параметра, как часть URI, пересылаться в теле HTTP-сообщения. При взаимодействии с сервером управления данные (исполняемые файлы, команды, результаты работы команд) шифруются. Для взаимодействия по протоколу HTTPS могут использоваться профили протокола HTTP с указанием SSL-сертификата. Для передачи данных по протоколу DNS могут использоваться DNS A, AAAA и TXT-записи. При этом можно отдельно задавать интервалы взаимодействия между сервером управления и модулем на зараженном компьютере.

Модуль ПО Cobalt Strike может использовать несколько профилей и переключаться между способами передачи данных по команде с сервера управления без необходимости обновления самого модуля. Адреса серверов управления меняются с момента проникновения злоумышленников в сеть компании до момента хищения денежных средств, что позволяет избежать создания черных списков IP-адресов и доменных имен. Таким образом, внутри организации создается контролируемая бот-сеть с доступом к любому компьютеру, даже не имеющему доступ в Интернет.
Распространение по сети
Для запуска программ злоумышленников, в том числе модулей ПО Cobalt Strike, на других компьютерах сети используются методы, предоставляемые продуктами Microsoft при наличии соответствующих учетных записей:

  • создание службы на другом компьютере для запуска программного кода, запуск службы и ее удаление. В качестве командной строки прописывается программный код, передаваемый на вход командного интерпретатора powershell.exe;
  • подключение к каталогу общего доступа (C$, ADMIN$) на другом компьютере, копирование в него модуля, создание службы и ее запуск для старта модуля, удаление службы, удаление модуля;
  • подключение к другому компьютеру с помощью программы PsExec.exe (программа удаленного доступа входит в набор программ SysInternals компании Microsoft), копирование модуля и его запуск, удаление модуля;
  • подключение к другому компьютеру по протоколу RDP, копирование модуля и его запуск, удаление модуля.
Службы после создания удаляются, а удаленный доступ по протоколу RDP и с помощью PsExec является обычным для администраторов сети, поэтому следы запуска программ, которые впоследствии также удаляются и работают только в оперативной памяти, выявить своевременно сложно. Как правило, помогают журналы ОС и дамп оперативной памяти. Более детальную информацию можно получить при использовании расширенного аудита безопасности и периодическом создании резервных копий этих журналов.
Использование стандартных средств
Сам комплекс Cobalt Strike является общедоступным, и можно загрузить его для изучения и создания правил детектирования в сети. Кроме того, для работы внутри организации группой Cobalt используются такие стандартные средства:

  • удаленное подключение по протоколу RDP (встроенная возможность ОС);
  • удаленное подключение с помощью PsЕxec;
  • удаленное подключение с помощью TeamViewer, что позволяет резервировать возможность удаленного доступа в случае потери контроля над модулями ПО Cobalt Strike;
  • сетевое сканирование с помощью программы SoftPerfect Network Scanner;
  • обеспечение защищенного подключения с помощью программы Plink.
В сети организации можно создать правила обнаружения данных средств. А обращения ПО TeamViewer можно контролировать с помощью правил на межсетевом экране, прокси-сервере и др.
Итак
После заражения одного компьютера в сети организации группа Cobalt начинает изучение используемых в ней программ, поиск серверов критически важной инфраструктуры и компьютеров, с которых к ним осуществляется доступ. Многие финансовые организации тратят большие деньги на информационную безопасность и считают, что их изолированные подсети безопасны. Однако они кем-то управляются, а значит, практически всегда есть доступ в безопасную подсеть из небезопасной – пусть только с одного компьютера, пусть с уникальной учетной записью. Вот именно его и будут искать злоумышленники, которые на практике тратят от двух недель до 1,5 месяцев на получение доступа к критически важной инфраструктуре.

Таким образом, на выявление злоумышленников в сети, в среднем, есть месяц, и это очень много. А поскольку антивирусное ПО в такой деятельности не помощник, спасти может лишь знание того, как, кого и с помощью каких инструментов атакуют кибермошенники. Поэтому нужно своевременно обновлять ПО, изучать отчеты специалистов по Threat Intelligence, предоставляющих индикаторы компрометации, и современные техники взлома.

Эта статья подготовлена для Ассоциации специалистов информационной безопасности BISA