Специалисты «Лаборатории Касперского» рассказали о малвари Rotexy: помеси банкера и локера-вымогателя. В настоящее время Rotexy является одним из наиболее активных мобильных троянов: в период с августа по октябрь 2018 года он осуществил более 70 000 атак на пользователей, преимущественно в России.
Rotexy появился на свет благодаря эволюции SMS-шпиона, впервые замеченного в октябре 2014 года. Тогда он детектировался как Trojan-Spy.AndroidOS.SmsThief, но последующие вредоносы были выделены в отдельное семейство Trojan-Banker.AndroidOS.Rotexy.
Современная версия малвари совмещает в себе функции банковского троянца и вымогателя. Она распространяется под названием AvitoPay.apk (или похожим) и загружается с сайтов, имеющих имена вроде youla9d6h[.]tk, prodam8n9[.]tk, prodamfkz[.]ml, avitoe0ys[.]tk и так далее. Шаблон формирования имен понятен: отсылка к популярным сервисам бесплатных объявлений + случайный набор символов + двухбуквенный домен верхнего уровня.
Исследователи отмечают, что интересной особенностью этого семейства банкеров является использование сразу трех источников команд:
- сервиса GCM (Google Cloud Messaging), который позволяет через серверы; Google передавать на мобильное устройство небольшие сообщения в формате JSON;
- командного сервера злоумышленников (C&C);
- входящих SMS-сообщений.
Хотя Rotexy существует давно, и детальную историю его развития можно найти в докладе специалистов. О новой версии эксперты пишут, что за все годы основные функции малвари и способ ее распространения не изменились: Rotexy распространяется с помощью ссылок в фишинговых SMS-сообщениях, предлагающих установить некое «полезное» приложение. При запуске троян запрашивает права администратора устройства, после чего начинает общение с управляющим сервером.
Банкер и вымогатель
Если пользователь попался на удочку преступников и установил приложение, при первом запуске малварь проверяет, не запущена ли она на эмуляторе, а также смотрит, в какой стране происходит запуск. Если устройство находится не в России или представляет собой эмулятор, приложение показывает «заглушку».
Если же проверка прошла успешно, Rotexy регистрируется в GCM и запускает сервис SuperService, который отслеживает наличие у трояна прав администратора устройства и собственное состояние, перезапускаясь в случае отключения. Наличие прав проверяется раз в секунду, и если они отсутствуют, малварь начинает запрашивать их у пользователя в бесконечном цикле. В случае, если пользователь все же соглашается предоставить приложению желаемые права, на экране показывается еще одна «заглушка», и приложение скрывает свою иконку.
В случае обнаружения попыток отзыва администраторских прав Rotexy начинает циклично выключать экран телефона, мешая пользователю. Если же попытка удается, цикл запросов прав администратора запускается заново.
Если же по какой-либо причине SuperService не выключает экран при попытке отобрать у приложения права администратора устройства, троян попросту пытается запугать пользователя.
Rotexy перехватывает входящие SMS-сообщения и обрабатывает их согласно шаблонам, полученным от управляющего сервера. Также при получении SMS малварь переводит телефон в беззвучный режим и выключает экран, чтобы пользователь не заметил прихода нового сообщения. При необходимости троян также отправляет на заданный номер телефона SMS с информацией, полученной из перехваченного сообщения (необходимость отправки ответа, адрес для отправки ответа и текст ответа указаны в шаблоне перехвата). Если же приложение не получало указаний с правилами обработки входящих SMS, то оно просто сохраняет все SMS в локальную базу данных и отправляет их на сервер.
Помимо общей информации об устройстве отправляет на C&C-сервер список всех запущенных процессов и установленных приложений. Возможно, злоумышленники используют этот список для того, чтобы находить запущенные антивирусные или банковские приложения.
Дальнейшие действия Rotexy будет выполнять после получения соответствующих команд:
- START, STOP, RESTART — запустить, остановить, перезапустить SuperService.
- URL — обновить адрес C&C.
- MESSAGE — отправить SMS на указанный номер с заданным текстом.
- UPDATE_PATTERNS — заново зарегистрироваться в панели.
- UNBLOCK — разблокировать телефон (отозвать у приложения права администратора устройства).
- UPDATE — скачать с сервера APK-файл и установить его; эта команда может быть использована не только для обновления самого приложения, но и для установки любой другой программы на зараженное устройство.
- CONTACTS — разослать текст, полученный с сервера, всем контактам пользователя; скорее всего, таким образом приложение распространяется.
- CONTACTS_PRO — запросить уникальный текст сообщений для контактов из адресной книги.
- PAGE — обратиться к полученному с сервера URL с полем User-Agent, которое было получено либо также с сервера, либо из локальной базы данных.
- ALLMSG — отправить на C&C-сервер все принятые и отправленные пользователем SMS из памяти телефона.
- ALLCONTACTS — отправить на C&C-сервер все контакты из памяти телефона.
- ONLINE — отправить на сервер информацию о текущем состоянии троянца: есть ли у него права администратора устройства, какая HTML-страница показана в данный момент, включен ли экран и т. д.
- NEWMSG — записать в память устройства SMS с текстом и номером отправителя, полученным с сервера.
- CHANGE_GCM_ID — изменить GSM ID.
- BLOCKER_BANKING_START — показать фишинговую HTML-страницу ввода данных банковской карты.
- BLOCKER_EXTORTIONIST_START — показать HTML-страницу вымогателя.
- BLOCKER_UPDATE_START — показать поддельную HTML-страницу обновления.
- BLOCKER_STOP — остановить показ всех HTML-страниц.
При помощи отображения различных HTML-страниц троян может использоваться как банкер или как вымогатель. К примеру, малварь способна показывать жертве поддельную HTML-страницу обновления (update.html), блокирующую экран устройства на длительное время. Или это может быть вымогательская страница (extortionist.html), блокирующая устройство и требующая «заплатить штраф» для разблокировки.
Кроме того, Rotexy может показывать фишинговую страницу для ввода данных банковской карты (bank.html). Такая страница маскируется под легитимную банковскую форму и блокирует экран устройства до ввода всей требуемой информации. Она даже имеет свою виртуальную клавиатуру, которая якобы защищает пользователя от кейлоггеров.
Далее происходит проверка введенных данных, а также последних четырех цифр карты на соответствие тем, что были получены в поступившей с сервера команде. Возможен следующий сценарий: Rotexy согласно шаблонам обработки входящих SMS перехватывает сообщение от банка, в котором содержатся последние четыре цифры номера привязанной к телефону карты. Эти цифры троян отправляет на C&C-сервер, а откуда затем приходит команда на показ поддельного окна ввода данных карты с проверкой этих цифр. Если пользователь вводит не свою данные своей банковской карты, он увидит такое окно:
Таким образом, приложение практически не оставляет жертве возможности ввести данные другой карты или случайные цифры, поскольку происходит проверка и корректности номера карты, и соответствия введенных данных той информации о карте, которая была ранее получена злоумышленниками.
Как разблокировать устройство
В заключение отчета специалисты «Лаборатории Касперского» отмечают, что у них есть и хорошие новости. Оказалось, что у Rotexy не слишком хорошо продуман модуль обработки команд, полученных через SMS. Благодаря этому в некоторых случаях устройство, заблокированное одной из вышеописанных HTML-страниц, можно без труда разблокировать.
Для этого нужно отправить на номер заблокированного устройства SMS с текстом «3458» — это отключит права администратора устройства у трояна. Затем нужно отправить на этот же номер SMS с текстом «stop_blocker» — это отключит показ HTML-страниц, вымогающих деньги и блокирующих экран. После этого Rotexy может заново начать бесконечно запрашивать права администратора устройства — в этом случае нужно перезагрузить устройство в безопасном режиме и удалить малварь.
Впрочем, возможна ситуация, когда этот способ не поможет (если злоумышленники сумеют быстро отреагировать на попытку удаления приложения). В таком случае можно попробовать повторить все вышеописанные действия, предварительно отправив на номер зараженного устройства SMS с текстом «393838» — эта команда изменит адрес C&C-сервера на «://», и устройство больше не будет принимать команды с реального сервера злоумышленников.
Фото: "Лаборатория Касперского"