Специалисты «Доктор Веб» сообщают, что новый бэкдор заразил почти 1 300 000 ТВ-приставок на базе Android в 197 странах мира. Этот вредонос помещает свои компоненты в системную область и по команде злоумышленников способен скрытно загружать и устанавливать стороннее ПО.
География распространения малвари охватывает почти 200 стран. Больше всего компрометаций было выявлено в Бразилии, Марокко, Пакистане, Саудовской Аравии, России, Аргентине, Эквадоре, Тунисе, Малайзии, Алжире и Индонезии.
Исследователи пишут, что эта кампания была обнаружена в августе текущего года, когда в «Доктор Веб» обратились несколько пользователей. Антивирусные решения компании зафиксировали на их устройствах изменения в системной файловой области. Это произошло со следующими моделями приставок:
Модель ТВ-приставки | Заявленная версия прошивки |
R4 | Android 7.1.2; R4 Build/NHG47K |
TV BOX | Android 12.1; TV BOX Build/NHG47K |
KJ-SMART4KVIP | Android 10.1; KJ-SMART4KVIP Build/NHG47K |
Во всех случаях признаки заражения оказались схожими. Так, на одной из затронутых приставок были изменены объекты install-recovery.sh и daemonsu. Кроме того, в файловой системе появилось четыре новых файла:
- /system/xbin/vo1d
- /system/xbin/wd
- /system/bin/debuggerd
- /system/bin/debuggerd_real
Файлы vo1d и wd — это компоненты выявленной малвари, которую компания отслеживает как Android.Vo1d.
«Авторы трояна, вероятно, пытались замаскировать один из его компонентов под системную программу /system/bin/vold, назвав его схожим именем “vo1d” (подменив строчную букву “l” цифрой “1”). По имени этого файла вредоносная программа и получила свое наименование. При этом такое написание созвучно со словом “void” (англ. “пустота”)», — пишут исследователи.
Файл install-recovery.sh — это скрипт, который присутствует на большинстве Android-устройств. Он запускается при старте ОС и содержит данные для автозапуска указанных в нем элементов. Если у какой-либо вредоносной программы есть root-доступ и возможность записи в системный каталог /system, она может закрепиться на инфицированном устройстве, добавив себя в этот скрипт (либо создав его в случае отсутствия в системе). Vo1d прописал в нем автозапуск компонента wd.
Файл daemonsu так же присутствует на многих Android-устройствах с root-доступом. Он запускается системой при загрузке и отвечает за предоставление root-привилегий пользователю. В этом файле вредонос тоже прописал себя, также настроив автозапуск модуля wd.
Файл debuggerd – это демон, который обычно применяется для создания отчетов об ошибках. Но при заражении ТВ-приставки этот файл был подменен скриптом, запускающим компонент wd.
В свою очередь, файл debuggerd_real является копией скрипта, которым подменяли настоящий файл debuggerd. Исследователи считают, что по задумке авторов малвари исходный debuggerd должен был быть перемещен в debuggerd_real для сохранения работоспособности. Однако из-за того, что заражение, вероятно, происходило дважды, малварь переместила уже подмененный файл (то есть скрипт). В результате на устройстве оказывалось два скрипта от вредоноса и ни одного настоящего файла debuggerd.
У других обратившихся за помощью пользователей на зараженных устройствах был несколько иной список файлов:
- daemonsu (аналог файла vo1d — Android.Vo1d.1);
- wd (Vo1d.3);
- debuggerd (аналогичен описанному выше скрипту);
- debuggerd_real (оригинальный файл утилиты debuggerd);
- install-recovery.sh (скрипт, обеспечивающий загрузку указанных в нем объектов).
Изучение всех этих файлов показало, что для закрепления Vo1d в системе его создатели использовали как минимум три различных метода — модификацию файлов install-recovery.sh и daemonsu, а также подмену debuggerd. Вероятно, они рассчитывали, что в инфицируемой системе будет присутствовать хотя бы один из целевых файлов, поскольку манипуляция даже с одним из них обеспечила бы успешный автозапуск малвари при последующих перезагрузках устройства.
Отмечается, что основная функциональность Vo1d скрыта в его компонентах vo1d (Android.Vo1d.1) и wd (Android.Vo1d.3), которые работают в связке. Так, модуль Android.Vo1d.1 отвечает за запуск Android.Vo1d.3 и контролирует его активность, при необходимости перезапуская процесс.
Также по команде управляющего сервера он может скачивать и запускать исполняемые файлы. В свою очередь, модуль Android.Vo1d.3 устанавливает на устройство и запускает зашифрованный в его теле демон (Android.Vo1d.5), который тоже способен скачивать и запускать исполняемые файлы. Кроме того, он отслеживает появление APK-файлов приложений в заданных каталогах и устанавливает их.
Эксперты предполагают, что злоумышленники могли выбрать своей целью именно ТВ-приставки, потому что такие устройства часто работают на базе устаревших версий Android, в которых не исправлены уязвимости, и для которых уже не выходят обновления.
Например, приставки ряда пострадавших работали под управлением Android 7.1, хотя для некоторых из них в конфигурации были указаны версии намного новее — Android 10 и Android 12. Отмечается, что подобное поведение, увы, не редкость: производители бюджетных устройств часто используют старые версии ОС и выдают их за более актуальные, чтобы повысить привлекательность своих продуктов в глазах потенциальных покупателей.
Кроме того, сами пользователи ошибочно воспринимают ТВ-приставки как более защищенные устройства по сравнению со смартфонами. Из-за этого люди реже устанавливают на них защитное ПО и могут сталкиваться с малварью при загрузке сторонних приложений или при установке неофициальных прошивок.
В настоящее время источник заражения приставок бэкдором Vo1d остается неизвестным. Считается, что одним из возможных векторов могла быть атака промежуточной вредоносной программы, которая эксплуатирует уязвимости ОС для получения root-прав. Другая теория гласит, что дело может быть в использовании неофициальных версий прошивок с root-доступом.