Riltok — одно из множества семейств мобильных банковских троянцев с классическими для подобных зловредов способами распространения и функциональностью. Изначально предназначенный для «работы» с российской аудиторией, банкер был адаптирован (путем минимальных изменений) для европейского «рынка». Основная часть его жертв (больше 90%) приходится на Россию, на втором месте (4%) Франция. Третье место делят Италия, Украина и Великобритания.
Впервые мы обнаружили представителей этого семейства в марте 2018 года. Как и многие другие банкеры, они маскировались под приложения популярных в России сервисов бесплатных объявлений. Распространялись зловреды c помощью рассылки с зараженных устройств SMS вида «%USERNAME%, куплю по безопасной сделке. youlabuy[.]ru/7*****3» или «%USERNAME%, примите 25 000 на Юле youla-protect[.]ru/4*****7», содержащих ссылку на загрузку троянца. Были замечены также и экземпляры, выдающие себя за клиент популярного сервиса по поиску авиабилетов или магазин приложений для Android.
В конце 2018 года Riltok вышел на международную арену. Способы маскировки и распространения злоумышленники оставили прежними — иконка и название приложения имитируют популярные сервисы бесплатных объявлений.
В ноябре 2018 года появилась версия троянца для английского рынка — Gumtree.apk. SMS со ссылками на банкер имели следующий вид: «%USERNAME%, i send you prepayment gumtree[.]cc/3*****1».
В январе 2019 года появились итальянская (Subito.apk) и французская (Leboncoin.apk) версии. Их рассылки выглядели следующим образом:
- «%USERNAME%, ti ho inviato il soldi sul subito subito-a[.]pw/6*****5» (ит.)
- «% USERNAME%, ti ho inviato il pagamento subitop[.]pw/4*****7» (ит.)
- «%USERNAME%, je vous ai envoyé un prepaiement m-leboncoin[.]top/7*****3» (фр.)
- «%USERNAME%, j’ai fait l’avance (suivi d’un lien): leboncoin-le[.]com/8*****9» (фр.)
Разберем подробнее, как же устроен этот банковский троянец.
Заражение
Пользователь получает SMS с вредоносной ссылкой, ведущей на поддельный сайт, который имитирует популярные сервисы бесплатных объявлений. Там ему предлагают скачать новую версию мобильного приложения, под видом которой и скрывается троянец. Для инсталляции жертве необходимо в настройках устройства разрешить установку приложений из неизвестных источников.
При установке Riltok запрашивает у пользователя разрешение на использование службы специальных возможностей AccessibilityService, показывая поддельное предупреждение:
Если пользователь игнорирует или отклоняет запрос, окно будет открываться снова и снова. После получения прав троянец назначает себя приложением для SMS по умолчанию (самостоятельно нажимая на «YES» с помощью службы AccessibilityService) и пропадает с экрана устройства.
После установки и получения от пользователя необходимых разрешений Riltok начинает общение с C&C.
В более поздних версиях троянец также при старте открывает в браузере фишинговый сайт, имитирующий сервис бесплатных объявлений, чтобы пользователь «авторизовался», введя данные своего аккаунта, а также данные о своей банковской карте. Введенные данные отправляются злоумышленникам.
Общение с C&C
Riltok активно общается с командным сервером. Первым делом он регистрирует зараженное устройство в административной панели, отправляя GET-запрос на относительный адрес gate.php (в поздних версиях — gating.php) с параметрами ID (идентификатор устройства, генерируемый функцией setPsuedoID псевдослучайным образом на основе IMEI устройства) и screen (активно ли устройство, возможные значения: on, off, none):
Затем с помощью POST-запросов на относительный адрес report.php он отправляет данные об устройстве (IMEI, номер телефона, страну, сотового оператора, модель телефона, наличие root-прав, версию ОС), список контактов, список установленных приложений, входящие SMS и прочую информацию. От сервера троянец получает команды (например, на рассылку SMS) и изменения в конфигурации.
Устройство троянца
Имя Riltok семейство получило от названия входящей в APK-файл троянца библиотеки librealtalk-jni.so. В библиотеку вынесены такие операции, как:
- получение адреса командного сервера злоумышленников (C&C);
- получение конфигурационного файла с веб-инжектами от C&C, а также список инжектов по умолчанию;
- проверка наличия имен пакетов приложений, породивших события AccessibilityEvent, в списке известных банковских/антивирусных/прочих популярных приложений;
- назначение себя SMS-приложением по умолчанию;
- получение адреса фишинговой страницы, которая открывается при запуске приложения, и другие.
В конфигурационном файле находится список инжектов для мобильных приложений банков — ссылки на фишинговые страницы, соответствующие используемому пользователем мобильному банковскому приложению. В большинстве западных версий троянца имена пакетов в конфигурационном файле по умолчанию «затерты».
С помощью службы AccessibilityService зловред отслеживает события AccessibilityEvent. В зависимости от того, какое приложение (имя пакета) породило событие, Riltok может:
- открыть поддельный экран Google Play, запрашивающий данные банковской карты;
- открыть поддельный экран или фишинговую страницу в браузере (инжект), имитирующие экран соответствующего мобильного банковского приложения и запрашивающие данные пользователя и банковской карты;
- свернуть приложение (например, антивирусные приложения или настройки безопасности устройства).
Троянец умеет также скрывать уведомления от определенных банковских приложений.
При вводе данных банковской карты в поддельном окне Riltok осуществляет базовые проверки их корректности: срок действия карты, контрольная сумма ее номера, длина CVC, а также наличие номера в списке запрещенных, зашитом в коде троянца:
Функциональность большинства западных версий Riltok на момент написания статьи несколько урезана по сравнению с российской: например, дефолтный конфигурационный файл с инжектами нерабочий, а кроме этого, зловред не содержит встроенных поддельных окон с запросом данных банковской карты.
Заключение
Угрозу лучше предупредить, чем устранить, поэтому не переходите по подозрительным ссылкам из SMS, устанавливайте приложения из официальных источников и проверяйте, какие права вы даете приложениям при установке. Как показал пример Riltok, одинаковые методы заражения злоумышленники могут более или менее успешно применять к жертвам из разных стран.
Продукты «Лаборатории Касперского» детектируют описанную угрозу с вердиктом Trojan-Banker.AndroidOS.Riltok.
IoCs
C&C
- 100.51.100.00
- 108.62.118.131
- 172.81.134.165
- 172.86.120.207
- 185.212.128.152
- 185.212.128.192
- 185.61.000.108
- 185.61.138.108
- 185.61.138.37
- 188.209.52.101
- 5.206.225.57
- alr992.date
- avito-app.pw
- backfround2.pw
- background1.xyz
- blacksolider93.com
- blass9g087.com
- brekelter2.com
- broplar3hf.xyz
- buy-youla.ru
- cd78cg210xy0.com
- copsoiteess.com
- farmatefc93.org
- firstclinsop.com
- holebrhuhh3.com
- holebrhuhh45.com
- karambga3j.net
- le22999a.pw
- leboncoin-bk.top
- leboncoin-buy.pw
- leboncoin-cz.info
- leboncoin-f.pw
- leboncoin-jp.info
- leboncoin-kp.top
- leboncoin-ny.info
- leboncoin-ql.top
- leboncoin-tr.info
- myyoula.ru
- sell-avito.ru
- sell-youla.ru
- sentel8ju67.com
- subito-li.pw
- subitop.pw
- web-gumtree.com
- whitehousejosh.com
- whitekalgoy3.com
- youlaprotect.ru
Примеры зловредов
- 0497b6000a7a23e9e9b97472bc2d3799caf49cbbea1627ad4d87ae6e0b7e2a98
- 417fc112cd0610cc8c402742b0baab0a086b5c4164230009e11d34fdeee7d3fa
- 54594edbe9055517da2836199600f682dee07e6b405c6fe4b476627e8d184bfe
- 6e995d68c724f121d43ec2ff59bc4e536192360afa3beaec5646f01094f0b745
- bbc268ca63eeb27e424fec1b3976bab550da304de18e29faff94d9057b1fa25a
- dc3dd9d75120934333496d0a4100252b419ee8fcdab5d74cf343bcb0306c9811
- e3f77ff093f322e139940b33994c5a57ae010b66668668dc4945142a81bcc049
- ebd0a8043434edac261cb25b94f417188a5c0d62b5dd4033f156b890d150a4c5
- f51a27163cb0ddd08caa29d865b9f238848118ba2589626af711330481b352df
Мобильный троянец Riltok: банкер мирового масштаба