Сегодня заполучить зловреда на свой смартфон можно даже в том случае, если устанавливать приложения только из официального магазина Google. О том, что происходит за пределами этой площадки можно легко представить: двойники популярных приложений, минимальный (или вообще отсутствующий) аудит безопасности и т.д. Впрочем, сторонние «маркеты» — не единственный источник вредоносного ПО, на вооружении злоумышленников стоит SMS-спам, рекламные рассылки и другие способы. Среди этого множества угроз, мы обнаружили весьма интересный экземпляр – Trojan.AndroidOS.Loapi. Благодаря сложной модульной архитектуре он может добывать криптовалюту, заваливать пользователя рекламой, осуществлять DDoS-атаки и многое другое. Ранее такие «мастера на все руки» нам не встречались.
Распространение и заражение
Экземпляры семейства Loapi распространяются с помощью рекламных кампаний, скачивание зловреда осуществляется путем перенаправления пользователя на сайты злоумышленников. Мы обнаружили более 20 подобных ресурсов, доменные имена многих из них отсылают к популярных антивирусным решениям и даже одному очень известному порносайту. И это неспроста: обнаруженные нами версии троянца маскируются под мобильные защитные решения и приложения «для взрослых»:
После установки и запуска троянец запрашивает права администратора устройства. В случае отказа троянец повторно выводит окно запроса – и так до тех пор, пока пользователь не согласится. Trojan.AndroidOS.Loapi также интересуется правами root, но никак их не использует – возможно, это задел для будущих модулей.
После успешного получения привилегий администратора, в зависимости от того, под какое приложение маскируется зловред, он либо скрывает свою иконку, либо имитирует деятельность антивируса.
На этом завершается видимая пользователю часть деятельности троянца.
Самозащита
Loapi активно сопротивляется отзыву прав администратора устройства. В случае попытки пользователя отобрать у него эти права, зловред заблокирует экран устройства и закроет окно снятия прав администратора устройств, выполнив следующий код:
Помимо этой (в общем-то, стандартной) техники защиты мы нашли интересную особенность: мобильный троянец может получать с командного сервера список опасных для себя приложений и в случае обнаружения их на смартфоне отображать предупреждение об обнаружении вредоносного ПО, предлагая удалить его:
Предупреждение «зациклено» — если пользователь откажется от предложения, оно возникнет снова и будет появляться до тех пор, пока не будет сделан «правильный» выбор.
Архитектура зловреда
Сначала Loapi декодирует файл из папки «assets» с помощью Base64 и расшифровывает его «XOR-ом» с использованием хэша подписи приложения в качестве ключа. Результат этих операций — DEX-файл с полезной нагрузкой, загружающийся с помощью ClassLoader.
Затем зловред отправляет на основной командный сервер (api-profit[.]com) информацию об устройстве в JSON-формате:
В ответ поступает команда следующего вида:
Переменная «installs» отвечает за запуск и загрузку перечисленных модулей, «removes» — за их удаление, «domains» содержит основной список адресов командных серверов, а «reservedDoamins» — резервный. Переменная «hic» отвечает за сокрытие значка приложения от пользователя, а «dangerousPackages» может содержать список приложений, запуск и установка которых будут пресекаться троянцем.
После выполнения команд Loapi приступает к загрузке и инициализации модулей, содержащих его вредоносные инструменты. Рассмотрим подробнее модули зловреда, которые нам удалось получить с сервера киберпреступников.
Рекламный модуль
Модуль используется для агрессивного показа рекламы на устройстве. Также может применяться для скрытой накрутки сайтов и аккаунтов в социальных сетях.
Возможности:</p style=»»>
- Показ видеорекламы и баннеров;
- Открытие URL;
- Создание ярлыков на устройстве;
- Отображение оповещений;
- Открытие страниц в социальных сетях (в т.ч. Facebook, Instagram, «ВКонтакте»);
- Загрузка и установка других приложений.
Пример задания на показ рекламы:
В рамках этого задания происходит скрытый запрос с заданным User-Agent и Referrer на страницу hxxps://ronesio.xyz/advert/api/interim, которая в свою очередь производит перенаправление на страницу с рекламой.
SMS-модуль
Этот модуль используется для выполнения различных операций с текстовыми сообщениями. Периодически обращается к C&C-серверу за актуальными настройками и командами. В его ведении:</p style=»»>
- Пересылка входящих SMS (по маскам) злоумышленникам;
- Ответ на входящие сообщения по заданным маскам (получает от C&C-сервера);
- Отправка SMS (номер телефона и текст сообщения получает от C&C-сервера);
- Удаление входящих и отправленных SMS (по маскам, получаемых от C&C-сервера);
- Получение от командного сервера URL страницы и JavaScript-кода для выполнения на ней.
Веб-краулер
Служит для скрытого исполнения JavaScript-кода на страницах WAP-биллинга и оформления на пользователя платных подписок. При этом зловред может обойти механизм подтверждения подписки: SMS-модуль скроет сообщение от пользователя, ответит на него нужным образом и затем удалит все «улики».
Также модуль может использоваться для прокликивания веб-страниц. Ниже приведен пример такого задания, полученного с сервера злоумышленников:
Во время исследования зловред обратился к более чем 28 000 уникальным адресам только на одном устройстве.
Прокси
Создает прокси-сервер, который позволяет злоумышленникам выполнять HTTP запросы от имени устройства. Подобные действия могут производиться в том числе и для организации DDoS-атак. Также модуль имеет возможность изменять способ подключения устройства к сети (мобильные сеть или Wi-Fi).
Майнер-модуль
Этот модуль использует Android-реализацию minerd для майнинга Monero (XMR). Запуск осуществляется с помощью следующего кода:
Код использует следующие параметры:</p style=»»>
- this.url – адрес майнинг-пула (stratum+tcp://xmr.pool.minergate.com:45560);
- this.user — имя пользователя, случайно выбранное значение из следующего списка: lukasjeromemi@gmail.com, jjopajopaa@gmail.com, grishaobskyy@mail.ru, kimzheng@yandex.ru, hirt.brown@gmx.de, swiftjobs@rambler.ru, highboot1@mail333.com, jahram.abdi@yandex.com, goodearglen@inbox.ru, girlfool@bk.ru;
- this.password — константное значение «qwe».
Старые связи
В ходе исследования зловреда у нас появилось подозрение, что он связан с другим троянцем — Trojan.AndroidOS.Podec. Мы провели небольшое расследование и собрали аргументы в пользу этой гипотезы:
-
- Совпадение IP адресов C&C серверов.
Сейчас адрес активного C&C Loapi резолвится с помощью DNS в 5.101.40.6 и 5.101.40.7. Но если посмотреть на историю, то можно увидеть и другие IP адреса, на которые в разное время указывал этот URL:Нас интересует адрес 91.202.62.38; если посмотреть историю его DNS-записей, увидим следующую картину:
На IP-адрес, который весной 2017 года использовался владельцами Loapi, в 2015 году «указывало» множество доменных имен, использовавшихся в Podec (например, obiparujudyritow[.]biz, в сэмпле 0AF37F5F07BBF85AFC9D3502C45B81F2);
- Совпадающие уникальные поля на стадии начального сбора информации.
Оба троянца при старте собирают похожую по структуре и составу информацию и отправляют ее в формате JSON на сервер злоумышленников. В обоих случаях, в JSON-объектах присутствуют поля «Param1», «Param2» и «PseudoId». Согласно проведенному нами исследованию, подобное использование полей есть только в Podec и Loapi; - Похожая обфускация;
- Похожие способы определения наличия на устройстве SU;
- Похожая функциональность: оба троянца подписывают своих жертв на платные WAP-сервисы.
- Совпадение IP адресов C&C серверов.
Ни один из этих аргументов не является неоспоримым доказательством гипотезы, но тем не менее, высока вероятность, что атаки Podec и Loapi — дело рук одной той же группы злоумышленников.
Заключение
Троянец Loapi является интересным представителем Android-зловредов. Авторы воплотили в нем практически все возможные функции мобильного зловреда: жертву можно подписать на платные услуги, отправлять от ее имени сообщения, использовать ее смартфон для генерации трафика и майнинга криптовалюты. Для полноты картины не хватает лишь возможности шпионить за пользователем, но благодаря модульной архитектуре троянца этот «недостаток» достаточно легко исправить.
P.S.
Во время исследования троянца мы лишились одного из тестовых устройств: модуль генерации трафика и майнер так «нагрузили» смартфон, что через два дня от перегрева вздулся аккумулятор:
C&C
ronesio.xyz (рекламный модуль)
api-profit.com:5210 (SMS-модуль и модуль-майнер)
mnfioew.info (веб-краулер)
mp-app.info (прокси-модуль)
Доменные имена
Список ресурсов, с которых происходит скачивание зловреда:
Domain | IP |
a2017-security.com | 91.202.62.45 |
alert.com—securitynotice.us | 104.18.47.240,104.18.46.240 |
alibabadownload.org | 91.202.62.45 |
antivirus-out.net | 91.202.62.45 |
antivirus360.ru | 91.202.62.45,31.31.204.59,95.213.165.247, 194.58.56.226,194.58.56.50 |
clean-application.com | 91.202.62.45 |
defenderdevicebiz.biz | 104.27.178.88,104.27.179.88 |
fixdevice.biz | 104.18.45.199,104.18.44.199 |
highspeard.eu | 91.202.62.45 |
hoxdownload.eu | 91.202.62.45 |
lilybrook.ru | 104.24.113.21,104.24.112.21 |
nootracks.eu | 91.202.62.45 |
noxrow.eu | 91.202.62.45 |
s4.pornolub.xyz | 91.202.62.45 |
sidsidebottom.com | 9.56.163.55,104.27.128.72 |
titangelx.com | 104.27.171.112,104.27.170.112 |
trust.com-mobilehealth.biz | 04.27.157.60,104.27.156.60 |
trust.com-securitynotice.biz | 104.31.68.110,104.31.69.110 |
violetataylor.ru | 104.31.88.236,104.31.89.236 |
lookaside.fbsbx.com | 31.13.95.12,31.13.75.12 |
И швец, и жнец, и на дуде игрец