Недавно в СМИ появилась информация о задержании подозреваемых в распространении вредоносного приложения для Android под названием Mamont. До этого в течение нескольких месяцев продолжалась фишинговая кампания с рассылкой сообщений в Telegram с вредоносным Android-приложением Mamont под видом видео с интригующим сообщением “Это ты на видео?”. Эксперты по безопасности и представители правоохранителей предупреждали ранее в этом году о похожей вредоносной кампании.

Фишинговое сообщение
Фишинговое сообщение

Незадолго до новости о задержании образец Mamont попался экспертам Solar 4RAYS. Наше исследование показало, что как минимум часть сетевой инфраструктуры, связанной с Mamont, остаётся активной. Это может указывать на то, что угроза заражений не ушла. В этой статье опишем, как устроен сам вредонос и его сервер управления (С2).

Механизм работы вредоноса

Если жертва скачает приложение из чата с злоумышленниками и попытается открыть его, то возникнет экран установки. В зависимости от оболочки Android, экран установки может отличаться.

Экран установки
Экран установки

MD5

f0ad38022aea004dcf926ca73db811c5

SHA1

4de6762ad0f10d7f3e76d68b707d5328ceda4f98

SHA256

0730616b2ac5823bb75e5434798e02dd861b399c923c6e917ae2915dde05c765

File name

Video03.04ef.apk

File type

APK

File size

2.80 MB

C2

176.65.134[.]48:3636

После запуска вредоноса вместо ожидаемого видео или фото открывается окно (WebView), отображающее содержимое ссылки, указанной злоумышленниками в конфигурации. По ссылке может находиться статическое изображение, легитимная страница авторизации в веб-версию Telegram или анимация бесконечной загрузки. Смысл такой манипуляции заключается в том, чтобы жертва подумала, что видео, которое прислал злоумышленник, сломалось или не сработало, тем самым создавая иллюзию технической проблемы.

В момент открытия вредонос совершает сразу несколько запросов, в которых отправляет на С2 базовую информацию об устройстве жертвы, в том числе список установленных приложений и сохраненные на устройстве смс.

Начало общения вредоноса с С2
Начало общения вредоноса с С2

Информация отправляется по WebSocket в незашифрованном виде. Первой отправляется конфигурация вредоноса:

    
{
  "action": "init",
  "unique_id": "cafe********-****-****-****-********beef", // шестнадцатеричный id жертвы
  "current_app": {
      "app_name": "Просмотр видео в Telegram",
      "worker": "scammer_username",
      "worker_id": "123456789",
      "webview_url": "https://web.telegram.org/a/",
      "build_type": "HIDDEN SMS 3"
  }
}          
 
Конфигурация вредоноса и unique_id жертвы

Далее приложение отправляет информацию о модели устройства, типе подключения, а также информация об активности экрана - включен ли он.

После этого приложение высылает информацию о сим-карте (номер телефона и оператор), SMS (отправитель, дата, сим-карта, с которой отправлено сообщение; исходящее оно или входящее) и установленных приложениях.

    
{
  "action": "helper",
  "device": {
      "model": "xiaomi *********",
      "android_version": "9",
      "conn_type": "Wi-Fi",
      "screen_on": true
  },
  "sim": [
      {
      "phone_number": "+7**********",
      "operator": "***"
      }
  ],
  "sms": [
      {
      "sender": "+7**********",
      "text": "Hello",
      "date": "*********",
      "type": "Исходящее",
      "sim_slot": 1
      }
          
  ],
  "apps": [
      {
      "icon": "icon",
      "name": "Просмотр видео в Telegram",
      "package": "ru.cvv.core"
      }
  ]
}          
 
Структура с SMS, сим-картами и приложениями жертвы

Выполнение USSD-запросов

В вредоносном приложении реализованы функции отправки USSD-запросов, инициации звонков и отправки SMS. Эта функциональность может лишить пользователя денег на балансе и аккаунтов в соцсетях.

USSD – это сервис общения абонента с оператором через короткие команды. Например, когда пользователь хочет узнать свой баланс и набирает *100#, он совершает USSD запрос к серверу оператора мобильной связи. Кроме запроса баланса, у USSD запросов есть другие функции, которые могут дорого обойтись пользователю, если он не знает о них.

Киберпреступники могут оформить подписку на сервисы оператора или партнёров. Кроме того, мошенники могут получить доступ к мобильному банку жертвы, используя USSD-команды, что позволит им совершать несанкционированные операции по переводу средств. У некоторых операторов сотовой связи такие команды позволяют переводить деньги с баланса жертвы на баланс другого номера или, например, пересылать входящие SMS так, что сама жертва даже не узнает, что ей приходили какие-либо сообщения. Операторы предлагают разные команды USSD, поэтому одни и те же команды могут не подойти для разных операторов.

Перехват SMS-сообщений

Когда на телефон жертвы приходит SMS, Mamont копирует его содержимое в структуру и отправляет его на сервер злоумышленников. Оригинал сообщения при этом сохраняется в памяти устройства. Перехватывая SMS, злоумышленники могут получить контроль над мессенджерами, сбросить пароль и получить коды подтверждения банковских операций.


    
{
  "action": "incoming",
  "sender": "+7**********",
  "body": "Hello",
  "subscription_id": 1
}          
 
Структура перехваченного сообщения

Совершение звонков и отправка SMS

Mamont по команде с С2 может отправлять SMS-сообщения и совершать звонки без ведома пользователя, что может привести к неожиданным расходам на счете за мобильную связь. Звонки могут быть направлены на дорогостоящие платные номера, а сообщения — на платные SMS-сервисы, которые управляются киберпреступниками.

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

Командный протокол

Всего приложение по указанию с С2 может выполнять 8 различных команд, приходящих через Websocket в виде JSON. Название команды передается через поле action, в других полях может передаваться номер или текст сообщения.

  • send_call – инициирует вызов или выполняет USSD-команду, в качестве аргументов принимает два значения - number и sim_slot;
  • send_sms – отправляет SMS c указанным содержимым (message) по указанном номеру (number);
  • retransmission – отправляет со всех сим-карт жертвы на указанный номер (number) сообщение вида "unique_id;;worker_username;;worker_id";
  • get_message_history – получить историю SMS;
  • get_app_list – получить список приложений;
  • get_perm_list – получить список разрешений;
  • get_calls_history – получить историю звонков;
  • get_sim_list – получить информацию о симкартах.
Код обработчика входящих команд
Код обработчика входящих команд

Сетевая инфраструктура

Для управления вредоносом злоумышленники используют самописные С2 с панелью управления. Вход в панель управления сопровождается анимацией с надписью WEB-RAT – вероятно, указывающей на “внутреннее” название вредоноса.

Вход в панель управления С2
Вход в панель управления С2

Примечательно, что операторы управляющих серверов, которые мы обнаружили уже после объявления о задержании, в какой-то момент изменили внешний вид формы авторизации в С2 панель, убрав анимацию со знаками доллара.

На вкладке /docs мы обнаружили FastAPI панели управления.

10 первых API-методов панели управления из 25
10 первых API-методов панели управления из 25

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

/get_messages/{unique_id}
/get_perm/{unique_id}
/get_calls/{unique_id}
/get_info/{unique_id}
/get_apps/{unique_id}
/check_online/{unique_id}

Метод /retransmission возвращает ответ с номером телефона.

    
{
  "retransmission_number": "+7**********"
}
      
  

Исходя из названия, можно предположить, что этот путь возвращает номер для переадресации SMS или звонков.

Также в API имеются методы получения и установки настроек панели (GET и POST запросы на /settings соответственно). Доступные настройки мы собрали в таблице ниже:

Параметр панели

Описание

notifications_enabled

Включение уведомлений

token

Возможно, токен Telegram бота

main_channel_id

Возможно, id чата в Telegram

main_slider

Неизвестно

workers_slider

Неизвестно

retransmission_enabled

Возможно, включение переадресации

retransmission_number

Телефонный номер переадресации

forward_messages_enabled

Возможно, включение пересылки сообщений

forward_token

Возможно, токен Telegram бота для пересылки сообщений

forward_chat_id

Возможно, id чата в Telegram, куда пересылать сообщения

API настройки панели

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

Параметр сборки

Описание

app_name

Имя приложения

worker

Никнейм злоумышленника

worker_id

ID злоумышленника

webview_url

Отображаемая ссылка при открытии

server_url

Управляющий сервер

perm_desc

Текст при отклонении разрешения

icon

Иконка приложения

API создания сборки приложения

На одном из управляющих серверов мы нашли доступный без логина автоматический билдер вредоносных APK. Вероятно, это ошибка операторов или компромисс ради удобства злоумышленников – через такой билдер можно автоматизированно создавать новые сборки вредоноса и отправлять их жертвам. Злоумышленник может указать название, информацию о своём нике и ID, управляющий сервер и WebView-ссылку, которую отобразит приложение, если открыть его.

Форма генерации вредоносного приложения
Форма генерации вредоносного приложения

Что делать если вы установили приложение?

Работа APK после его запуска осуществляется в скрытом режиме – то есть на рабочих столах устройства не будет иконки приложения. Поэтому лучше всего удалить его с помощью надёжного мобильного антивируса. Если такой возможности нет, то вредоносное приложение можно удалить через меню “О приложении” в настройках устройства. Вот список названий, которые используют злоумышленники:

  • Просмотр видео в Telegram
  • Просмотр фото в Telegram
  • Доксграм
  • Изобpaженuе14.09.21
  • Video.19368
  • Архив Фото

Имя приложения может быть таким же или похожим на перечисленные выше. Проверить имя можно в том же меню “О приложении”.

Меню удаления приложения
Меню удаления приложения

Чтобы проверить переадресацию на вашем телефоне используйте команды:

  • *#21# - проверить переадресацию;
  • ##21# - отменить переадресацию.

Если не получилось, то обратитесь в салон вашего мобильного оператора. Важно также убедиться, что вы не подписаны на регулярные отчисления из-за подписки на какие-то сервисы.

Как распознать вредоносное приложение?

Не открывайте подозрительные файлы от незнакомых контактов.

Проверяйте расширение файла: APK-файлы (расширение .apk) никогда не используются для фотографий или видео. Настоящие медиафайлы имеют расширения .jpg, .png, .mp4 и др.

Важно: Даже если сообщение пришло от доверенного контакта, не игнорируйте предупреждения о расширении файла. Вредоносные программы могут автоматически рассылать зараженные APK всем контактам жертвы.

Заключение

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

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

На момент публикации данной статьи нам известно минимум о четырёх работающих серверах киберпреступников, связанных с ВПО Mamont. Активность управляющих серверов демонстрирует, что вредоносная кампания может продолжаться.

IOC

Files

MD5

a0e68c56ed4a7e121311eb1f28b53720
bb73f922d03f0d6d9ddba26bf817bf01
4b23eaf5dada138f9017197d49fa611f
f0ad38022aea004dcf926ca73db811c5

SHA1

6af0ad25795a0d32a270ff9b91bda6762cc63448
5c82f6abd848f51f2316b4e0fd838689b8756c7f
fd8e23f30172c3ea6d58823d148baf15e6fb0dda
4de6762ad0f10d7f3e76d68b707d5328ceda4f98

SHA256

ca38ddd9f08afa82e08c74825710daac21a1087dca9cc28169a676382a36e6c0
ee154ea2dd04390cecf9cf7c61ce1ba54d241ad77d7f16d2d3a8e4ac030241c4
3b365389d4cbc265ba7b78116307452019d3fedbfb407e6af384570611c37ef6
0730616b2ac5823bb75e5434798e02dd861b399c923c6e917ae2915dde05c765

Сетевые индикаторы

IP

176.65.134[.]48 - в данный момент не активен
195.62.48[.]207 - в данный момент не активен
176.65.142[.]164
176.65.142[.]185
176.65.142[.]147
176.65.142[.]229

Domains

mamontvirus[.]net - в данный момент не активен
1.mamontvirus[.]net - в данный момент не активен
2.mamontvirus[.]net - в данный момент не активен
cleo.mamontvirus[.]net
pidorasi.mamontvirus[.]net
legit.mamontvirus[.]net
legitteam[.]net

Приложение 1. JSON API C2

Ссылка на json-файл с FastAPI данными.

Приложение 2. API-методы веб-панели Mamont

Всего в FastAPI описано 25 методов: из них 18 GET и 7 POST методов.

API-метод

Тип запроса

Описание

Служебные

/

GET

-

/login

GET

Страница логина

/login

POST

Логин

/logout

GET

Сброс сессии

/health

GET

Статус сайта

Настройки панели

/settings

GET

Панель настроек

/settings

POST

Установить настройки

/retransmission

GET

Возможно, номер для переадресации

Builder

/builder

GET

Создание сборки приложения UI

/builder_hide

POST

Создание сборки приложения

Получение информации о жертве

/popup/{unique_id}

GET

Неизвестно

/apps/{unique_id}

GET

Приложения на смартфоне

/edit/{unique_id}

GET

Неизвестно

/check_online/{unique_id}

GET

Проверить онлайн жертвы

/calls/{unique_id}

GET

Журнал звонков

/perm/{unique_id}

GET

Разрешения на телефоне жертвы

/get_messages/{unique_id}

GET

Получить SMS

/get_perms/{unique_id}

GET

Получить разрешения на телефоне жертвы

/get_calls/{unique_id}

GET

Получить Журнал звонков

/get_info/{unique_id}

GET

Неизвестно

/get_apps/{unique_id}

GET

Получить список приложений

Взаимодействие с жертвой

/send_sms/{unique_id}

POST

Отправить SMS

/send_call/{unique_id}

POST

USSD запрос/звонок

/send_note/{unique_id}

POST

Неизвестно

/set_emoji/{unique_id}

POST

Неизвестно