Исследование

GravityRAT: возвращение шпиона

В 2018 году исследователи CiscoTalos опубликовали разбор шпиона GravityRAT, использовавшегося в целевых атаках на вооруженные силы Индии. Индийский центр реагирования на инциденты информационной безопасности (CERT-IN) впервые обнаружил этого троянца в 2017 году. Авторство семейства приписывают пакистанским хакерским группировкам. По нашим данным, кампания идет по крайней мере с 2015 года и ранее была нацелена на компьютеры на базе ОС Windows. Однако с 2018 года она претерпела изменения и в списке ее жертв появились устройства на Android.

Вредоносный гид

В 2019 году на VirusTotal мы наткнулись на любопытного Android-шпиона и, разобрав его, нашли связь между ним и GravityRAT. Злоумышленники добавили шпионский модуль в Android-приложение для путешественников по Индии Travel Mate, исходный код которого выложен на Github.

Чистое приложение Travel Mate на Google Play

Злоумышленники взяли версию приложения, опубликованную на Github в октябре 2018 года, добавили в нее вредоносный код и поменяли название на Travel Mate Pro.

Вредоносное приложение запрашивает разрешения при запуске

В манифесте троянца зарегистрированы службы (Services) и приемник (Receiver), которых нет в приложении на Github

Список классов троянца

Функции шпиона вполне стандартны: он отправляет на командный сервер данные об устройстве, список контактов, адрес электронной почты, логи звонков и SMS. Кроме этого, в памяти устройства и на подключаемых носителях троянец ищет файлы с расширениями .jpg, .jpeg, .log, .png, .txt, .pdf, .xml, .doc, .xls, .xlsx, .ppt, .pptx, .docx, .opus и также отправляет их на C&C.

Зловред не был похож на типичного Android-шпиона — в качестве приманки выбрано довольно специфичное приложение, а вредоносный код не основан на коде известных шпионских приложений, как это часто бывает. Поэтому мы решили поискать связи с уже известными APT-семействами.

Адреса C&C, зашитые в код троянца

Самое простое — проверить адреса C&C, которые использовал троянец:

  • nortonupdates[.]online:64443
  • nortonupdates[.]online:64443

Оказалось, что n3.nortonupdates[.]online:64443 использовался другим зловредом для загрузки данных о найденных на компьютере файлах (.doc, .ppt, .pdf, .xls, .docx, .pptx, .xlsx) вместе со сведениями о зараженной машине. Благодаря нашему Threat Intelligence мы нашли его — это оказался вредоносный PowerShell-скрипт Enigma.ps1, выполняющий код на C#.

PowerShell-скрипт запускался VBS-скриптом:

 

 

 

Далее мы обнаружили очень похожий шаблон VBS-скрипта без прописанных путей под именем iV.dll:

Он находился внутри PyInstaller-контейнера enigma.exe, подписанного E-CreaLimited 05.09.2019. Инсталлятор загружался с сайта enigma.net[.]in под видом приложения для безопасного обмена файлами, которое поможет защититься от троянцев-шифровальщиков:

Помимо VBS-шаблона, в контейнере находились шаблоны XML для планировщика заданий Windows под именами aeS.dll, rsA.dll, eA.dll, eS.dll:

 

 

А в основной программе в шаблоны прописывались необходимые пути и имена, а также добавлялось задание по расписанию:

Программа общалась с сервером по адресу download.enigma.net[.]in/90954349.php (обратите внимание, что 90954349A — это начало MD5-хэша слова «enigma»). Простой графический интерфейс, а также логика по шифрованию и обмену файлами в ней действительно были:

Версия для macOS обладает схожим набором функций и добавляет задание в cron:

Аналогичной enigma.exe функциональностью обладает приложение Titanium (titaniumx.co[.]in), подписанное 14.04.2019 PlanoLogicLtd (сертификат отозван ‎08.09.2019).

Среди полезной нагрузки Enigma и Titanium нашлись следующие троянцы-шпионы:

  • Wpd.exe, подписан 17.09.2018 PlanoLogicLtd, сертификат отозван
  • Taskhostex.exe, подписан 18.02.2020 TheravadaSolutionsLtd
  • WCNsvc.exe, подписан 17.09.2018 PlanoLogicLtd, сертификат отозван
  • SMTPHost.exe, подписан 21.12.2018 PlanoLogicLtd, сертификат отозван
  • CSRP.exe

Их C&C:

  • windowsupdates[.]eu:46769
  • windowsupdates[.]eu:46769
  • mozillaupdates[.]com:46769
  • mozillaupdates[.]com:46769
  • mozillaupdates[.]us

Мы обратили внимание на порт 46769, с которым работают перечисленные троянцы. Такой же порт использовало семейство GravityRAT. Дальнейший поиск по nortonupdates[.]online привел нас к PE-файлу Xray.exe:

Эта версия собирала данные и отправляла их на n1.nortonupdates[.]online и n2.nortonupdates[.]online.

Домены n*.nortonupdates[.]online резолвились в IP-адрес 213.152.161[.]219. Мы проверили в нашей базе PassiveDNS, какие домены можно было найти по этому адресу ранее, и обнаружили подозрительно выглядящий u01.msoftserver[.]eu. Поиск по нему привел нас к приложению ZW.exe, написанному на Python и упакованному с помощью того же PyInstaller (подписано 10.04.2019 PlanoLogicLtd, сертификат отозван ‎08.09.2019).

Адреса C&C, к которым обращался ZW.exe, расшифровываются алгоритмом AES из файла Extras\SystemEventBrokerSettings.dat:

  • msoftserver[.]eu:64443
  • msoftserver[.]eu:64443
  • msoftserver[.]eu:64443
  • msoftserver[.]eu:64443

Общение с сервером происходит по относительному адресу «/ZULU_SERVER.php».

Шпион получает от сервера команды, среди которых:

  • получение информации о системе,
  • поиск и загрузка на сервер файлов с расширениями .doc, .docx, .ppt, .pptx, .xls, .xlsx, .pdf, .odt, .odp, .ods на компьютере и съемных дисках,
  • получение списка запущенных процессов,
  • перехват ввода с клавиатуры,
  • получение снимков экрана,
  • выполнение произвольных shell-команд,
  • запись аудио (в данной версии не реализована),
  • скан портов.

Код предусматривает работу на нескольких платформах:

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

С помощью Threat Intelligence мы обнаружили обновленные варианты зловреда с похожей функциональностью —RW.exe и TW.exe. Они были подписаны TheravadaSolutionsLtd 01.10.2019 и 20.02.2020 соответственно, сертификаты действительны на момент публикации.

Программа RW.exe обращалась к C&C по относительному адресу «/ROMEO/5d907853.php», а TW.exe — «/TANGO/e252a516.php», так что можно предположить, что первая буква в названии исполняемого файла обозначает версию командного сервера.

С&C этого экземпляра:

  • hxxps://sake.mozillaupdates[.]us
  • hxxps://gyzu.mozillaupdates[.]us
  • hxxps://chuki.mozillaupdates[.]us
  • hxxps://zen.mozillaupdates[.]us
  • hxxps://ud01.microsoftupdate[.]in
  • hxxps://ud02.microsoftupdate[.]in
  • hxxps://ud03.microsoftupdate[.]in
  • hxxps://ud04.microsoftupdate[.]in

Прочие версии GravityRAT

lolomycin&Co

В одном из старых вариантов GravityRAT — Whisper — помимо строки lolomycin2017, чье байтовое представление использовалось в качестве соли в AES-шифровании в компоненте lsass.exe, в компоненте whisper.exe также встретилась строка lolomycin&Co в качестве пароля для распаковки загруженных ZIP-архивов с полезной нагрузкой:

По этой строке мы нашли обновленные версии GravityRAT на .NET в приложениях:

  • WeShare
  • TrustX
  • Click2Chat
  • Bollywood

Новые версии GravityRAT

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

Версии на .NET

  • Sharify
  • MelodyMate (подписан «E-Crea Limited» 05.11.2019)

Версия на Python

GoZap

 

Еще один PyInstaller-контейнер. Примечателен тем, что в коде явно указаны уже знакомые нам имена возможной полезной нагрузки:

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

 

Payload Name Path Task Name
ZW %APPDATA%\Programs WinUpdate
SMTPHost %APPDATA%\WinUpdates Disksynchronization
WCNsvc %APPDATA%\System Windows_startup_update
CSRP %APPDATA%\Applications Antivirus_Update
Windows-Portable-Devices %APPDATA%\SystemUpdates System_Update

Версии на фреймворке Electron

Следующие версии — мультиплатформенные для Windows и macOS на фреймворке Electron. Логика прежняя: троянец проверяет, не запущен ли он на виртуальной машине, собирает информацию о компьютере, загружает с сервера полезную нагрузку и добавляет задание по расписанию.

  • StrongBox (подписан E-Crea Limited 20.11.2019)
  • TeraSpace (подписан E-Crea Limited 20.11.2019)
  • OrangeVault
  • CvStyler (подписан E-Crea Limited 20.02.2020)

Версии на Android

Версия SavitaBhabi существует для Windows и Android.

Версия для Windows написана на .NET. Функции стандартные: троянец проверяет, не запущен ли он на виртуальной машине и установлено ли на компьютере защитное ПО, передает на сервер информацию о компьютере и получает в ответ команды. Для запуска полезной нагрузки использует планировщик заданий Windows. Общение с сервером происходит POST-запросами на hxxps://download.savitabhabi.co[.]in/A5739ED5.php.

Второй файл, скачивающийся с того же сайта, — Android-приложение Savitabhabi.apk, представляющее собой комиксы для взрослых с внедренным шпионским модулем. На этот раз, в отличие от версии Travel Mate Pro, злоумышленники подошли к задаче более основательно и, похоже, написали приложение самостоятельно.

Вредоносное приложение запрашивает подозрительные разрешения при запуске

Вредоносные функции этого Android-приложения идентичны Travel Mate Pro, адреса C&C и код (за исключением незначительных деталей) также совпадают:

Список классов троянца

Заключение

В 2019 году The Times of India опубликовала статью о методах, используемых злоумышленниками для распространения GravityRAT в 2015–2018 годах. С жертвами связывались с поддельного аккаунта в Facebook и просили установить вредоносное приложение под видом защищенного мессенджера для продолжения беседы. Около 100 заражений пришлись на лиц из оборонных ведомств, полиции и других организаций.

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

Главное изменение в новой кампании GravityRAT — мультиплатформенность: наряду с Windows, появились версии под Android и macOS. Злоумышленники также стали использовать цифровые подписи, чтобы повысить легитимность приложений.

IoCs

MD5

Travel Mate Pro — df6e86d804af7084c569aa809b2e2134
iV.dll — c92a03ba864ff10b8e1ff7f97dc49f68
enigma.exe — b6af1494766fd8d808753c931381a945
Titanium — 7bd970995a1689b0c0333b54dffb49b6
Wpd.exe — 0c26eb2a6672ec9cd5eb76772542eb72
Taskhostex.exe — 0c103e5d536fbd945d9eddeae4d46c94
WCNsvc.exe — cceca8bca9874569e398d5dc8716123c
SMTPHost.exe— 7bbf0e96c8893805c32aeffaa998ede4
CSRP.exe — e73b4b2138a67008836cb986ba5cee2f
Chat2Hire.exe — 9d48e9bff90ddcae6952b6539724a8a3
AppUpdater.exe — 285e6ae12e1c13df3c5d33be2721f5cd
Xray.exe — 1f484cdf77ac662f982287fba6ed050d
ZW.exe —c39ed8c194ccf63aab1db28a4f4a38b9
RW.exe — 78506a097d96c630b505bd3d8fa92363
TW.exe — 86c865a0f04b1570d8417187c9e23b74
Whisper — 31f64aa248e7be0be97a34587ec50f67
WeShare—e202b3bbb88b1d32dd034e6c307ceb99
TrustX — 9f6c832fd8ee8d8a78b4c8a75dcbf257
Click2Chat —defcd751054227bc2dd3070e368b697d
Bollywood — c0df894f72fd560c94089f17d45c0d88
Sharify­— 2b6e5eefc7c14905c5e8371e82648830
MelodyMate — ee06cfa7dfb6d986eef8e07fb1e95015
GoZap — 6689ecf015e036ccf142415dd5e42385
StrongBox — 3033a1206fcabd439b0d93499d0b57da (Windows), f1e79d4c264238ab9ccd4091d1a248c4 (Mac)
TeraSpace — ee3f0db517f0bb30080a042d3482ceee (Windows), 30026aff23b83a69ebfe5b06c3e5e3fd (Mac)
OrangeVault — f8da7aaefce3134970d542b0e4e34f7b (Windows), 574bd60ab492828fada43e88498e8bd2 (Mac)
CvStyler — df1bf7d30a502e6388e2566ada4fe9c8
SavitaBhabi — 092e4e29e784341785c8ed95023fb5ac (Windows), c7b8e65e5d04d5ffbc43ed7639a42a5f (Android)

URLs

daily.windowsupdates[.]eu
nightly.windowsupdates[.]eu
dailybuild.mozillaupdates[.]com
nightlybuild.mozillaupdates[.]com
u01.msoftserver[.]eu
u02.msoftserver[.]eu
u03.msoftserver[.]eu
u04.msoftserver[.]eu
n1.nortonupdates[.]online
n2.nortonupdates[.]online
n3.nortonupdates[.]online
n4.nortonupdates[.]online
sake.mozillaupdates[.]us
gyzu.mozillaupdates[.]us
chuki.mozillaupdates[.]us
zen.mozillaupdates[.]us
ud01.microsoftupdate[.]in
ud02.microsoftupdate[.]in
ud03.microsoftupdate[.]in
ud04.microsoftupdate[.]in
chat2hire[.]net
wesharex[.]net
click2chat[.]org
x-trust[.]net
bollywoods[.]co[.]in
enigma[.]net[.]in
titaniumx[.]co[.]in
sharify[.]co[.]in
strongbox[.]in
teraspace[.]co[.]in
gozap[.]co[.]in
orangevault[.]net
savitabhabi[.]co[.]in
melodymate[.]co[.]in
cvstyler[.]co[.]in

GravityRAT: возвращение шпиона

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике