Компания
153,06
рейтинг
11 января в 10:23

Разработка → GlassRAT: анализ трояна из Китая с помощью RSA Security Analytics и RSA ECAT перевод



Специалистами RSA Research была обнаружена троянская программа GlassRAT для удаленного администрирования (Remote Administration Tool — RAT) с «нулевым уровнем обнаружения», подписанная сертификатом, украденным или полученным от популярного китайского разработчика ПО. Эта вредоносная программа могла избегать обнаружения на протяжении несколько лет. Телеметрия и ограниченные отчеты, не выдерживающие никакой критики, свидетельствуют, что целью GlassRAT являлись китайские граждане, связанные с транснациональными корпорациями. Будучи полностью «прозрачным» для большинства антивирусных продуктов, троянец GlassRAT можно обнаружить с помощью детальной экспертизы, а также с помощью конечных инструментов для обнаружения угроз, таких как RSA Security Analytics и/или RSA ECAT. Также представлены доказательства того, что способ организации командной инфраструктуры сети GlassRAT имеет много общего с другими вредоносными кампаниями, которые ранее были направлены на Азиатские организации геополитического и стратегического значения. Более подробно с этой информацией можно ознакомиться тут: http://blogs.rsa.com/peering-into-glassrat/.

Чем на самом деле является GlassRAT?


GlassRAT это троян, обеспечивающий удаленный доступ (RAT). По-видимому, он оставался незамеченным почти 3 года. GlassRAT использует множество личин, и может похвастаться по-своему очень эффективным, вредоносным дизайном. Его дроппер подписан с помощью скомпрометированного сертификата от доверенного и известного издателя (Центр Сертификации, который выпустил этот сертификат, после независимой экспертизы, подтверждающей злонамеренность подписанного им кода, впоследствии его отозвал). Дроппер удаляет себя после успешной реализации своих задач. Будучи установленным, вредоносный DLL-файл, образно говоря, «летает ниже уровня обнаружения радара» антивируса, обеспечивая злоумышленнику доступ к шелл-коду инфицированной жертвы.

GlassRat впервые привлек внимание RSA Research в феврале 2015, когда команда RSA Incident Respons, специализирующаяся на превентивном предотвращении угроз вторжения в большие корпоративные сети, обнаружила вредоносный трафик при расследовании инцидента в многонациональной корпорации, базирующейся в США. Образец DLL был обнаружен при помощи RSA ECAT на ПК китайского гражданина, проживающего в материковой части Китая.

Обычно организаторы атаки просто заменяют такие низкоуровневые средства, как RAT, сразу после обнаружения, не меняя тактику, процедуры, инфраструктуру или даже сами цели атаки. Однако в данном случае факты свидетельствуют об обратном. Цели атаки отличались как по количеству (их стало гораздо больше), так и по характеристикам (геополитические, вместо традиционных коммерческих).

RSA Research искали возможные сходства с другими, описанными ранее вредоносными программами и способами их работы. Было найдено некоторое сходство кода с другими зловредами, такими как Taidoor (http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp_the_taidoor_campaign.pdf)
и Taleret (https://www.fireeye.com/blog/threat-research/2013/09/evasive-tactics-taidoor-3.html), но самое интересное совпадение обнаружилось в системе управления инфраструктурой, используемой при атаках на организации геополитического значения (об этом ниже ниже), которые были зафиксированы несколько лет назад.

Анализ GlassRAT при помощи RSA Security Analytics и RSA ECAT



Схема заражения GlassRAT




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



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



Дроппер GlassRAT


Существовало два образца вредоносного установщика GlassRAT, известные как «дропперы». Согласно результатам анализа, представленным на сайте VirusTotal, 57 различных антивирусов при обычной проверке не способны были обнаружить оба этих дроппера.



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

Дропперы GlassRAT использовали фирменную иконку Adobe Flash Player и назывались «flash.exe», когда впервые были загружены на VirusTotal — 17 сентября 2015 года.



Двойной клик на троянце вызывает запуск дроппера. Как только ECAT обнаружило, что это потенциально вредоносный файл, он был автоматически загружен в ECAT ConsoleServer для дальнейшего расследования. Через ECAT Modules view, мы видим следующее:

ECAT обнаруживает дроппер и повышает уровень опасности InstantIOC (Indicator of Compromise Score), учитывая подпись кода отозванным сертификатом.



Кроме того, ECAT использует модуль отслеживания сессии для идентификации и установки связей с другими потенциально подозрительными файлами или машинами в вашей среде, которые устанавливали соединения и осуществляли другие подозрительные действия:

  • SVCHOST.exe запускает flash.exe
  • flash.exe запускает применительно к updatef.dll событие “Write to Exectuable”



В ходе установки трояна, дроппер самоуничтожается при помощи встроенной команды:

“cmd.exe /c erase /F "%s",”

После обнаружения нового вредоносного файла updatef.dll, мы начали его анализировать. Как видно из списка файлов, отсортированных по ECAT Risk Score, дроппер имеет два различных процесса, используемых при установке в пользовательском и привилегированном режимах:



Эти два разных DLL-файла сразу были отмечены как подозрительные и загружены на сервер после обнаружения ECAT-агентом, и получили оценку риска по 1024 балла каждый.

Механизм непривилегированной персистентности GlassRAT


HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Image path: c:\programdata\updatef.dll


Примечание: файл DLL самом деле пишется в корень C:\ProgramData, но в связи с переходом на Windows Vista и более поздние версии Windows, в разделе реестра Autoruns будет отображаться путь C:\ProgramData\Application Data\.

Так выглядит непривилегированная персистентность GlassRAT при просмотре через Autoruns tool:



При ручном запуске UAC, по клику правой кнопкой мыши отображаются метаданные, связанные с дроппером:



Примечание: Название программы, указанное в диалоговом окне Контроля Учетных Записей (UAC), совпадает с названием настоящего приложения “500 million-user”, разработанного владельцем сертификата.

Механизм привилегированной персистентности GlassRAT


Персистентность троянца GlassRAT обеспечивается благодаря установке в качестве службы «RasAuto» (Remote Access Manager), которая в Windows обычно отключена по умолчанию.

HKLM\System\CurrentControlSet\Services
RasAuto image path: c:\programdata\application data\updatef.dll


Механизм персистентности GlassRAT при установке с администраторскими привилегиями:



С помощью ECAT module investigation можно мгновенно определить updatef.dll как автозагрузчик, присвоить соответствующий уровень риска, и обнаружить файл и запись в реестре:



Опознав в updatef.dll вредоносный файл, мы решили лучше изучить его характеристики: что он из себя представляет, что делает, каковы его отличительные черты и т.д. Для этого воспользовались модулем InstantIOC (IIOCs).



YARA — инструмент для помощи исследователям в идентификации и классификации вредоносных семплов. Сообщение YARA IIOC о заражении было инициировано отдельным YARA-правилом, созданным для GlassRAT, о чем указано под свойствами модуля.



После того, как дроппер и связанные с ним инфицированные DLL-файлы были идентифицированы и выполнены, мы исходили из предположения, что троянец загружается с помощью svchost.exe как сервис RasAuto, а при установке в непривилегированном режиме rundll32.exe запускает updatef.dll.

Через мониторинг сетевого трафика ECAT мы выявили подозрительные соединения с qx.rausers.com через порты 53, 80 и 443. В данном случае ECAT смог определить, что это был модуль rundll32.exe, который осуществлял оповещение (а не просто установку связи с svchost.exe).



Кроме того, ECAT IIOC пометил rundll32.exe, сообщая о потенциальной подаче сигнала, подозрительном доступе к сети и фактическом DNS-трафике от этого процесса.



Сетевой анализ командного центра GlassRAT с помощью ECAT Security Analytics


Структуры управления GlassRAT были несколько схожи с командными центрами, обнаруженными в 2012 году в других вредоносных кампаниях, целью которых были правительства и военные организации в Тихоокеанском регионе. Кроме того, статической анализ нескольких DLL-файлов GlassRAT выявил запутанность конфигурации хоста командного центра во всех обнаруженных образцах.

003/064/50/60 : 112.175.x.x
chur/gnsxntrdd/odu : bits.foryousee.net
012/31/084/353 : 103.20.x.x
py/s`trdsr/bnl : qx.rausers.com
ly/s`trdsr/bnl : mx.rausers.com
yy/s`trdsr/bnl : xx.rausers.com

Хендшейк между атакующим и жертвой был обнаружен с помощью Security Analytics и нового отдельного парсера Glass RAT Trojan parser, доступного “из коробки” посредством RSA Live. При обнаружении сетевого трафика параметру glass_rat_c2_handshale_beacon было присвоено новое мета-значение “Risk: Suspicious”.

Также о хендшейке свидетельствуют подключения к сокету прямого доступа, помеченные как “unknown service over http port" и "unknown service over ssl port" с мета-значением «Risk: Informational» с мета-значением.





В ходе выполнения хендшейка между зараженным узлом и командным сервером было переслано и обнаружено RSA Security Analytics жестко запрограммированное значение 0x cb ff 5d c9 ad 3f 5b a1 54 13 fe fb 05 c6 22. Определение трафика и IP-адресов места назначения (dst.ip):



При взаимодействии с командной оболочкой Windows (но не по части сигнализирования), вы также можете использовать следующее правило приложения:

service = 0 && tcp.dstport = 80 && risk.warning = ‘windows command shell’

Можно засечь вредоносную активность благодаря сообщениям в консоли (risk.warning: ‘windows command shell’ с использованием неизвестного протокола (service=0) и популярного порта (tcp.dstport = 80)). Но тут возможны ложноположительные срабатывания.
Автор: @Rigasproutes RSA Threat Analysis
EMC²
рейтинг 153,06

Комментарии (0)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка