Android.Loki.16.origin - многокомпонентный троян, заражающий системные библиотеки


Android.Loki.16.origin - многокомпонентный троян, работающий на смартфонах и планшетах под управлением ОС Android, основное назначение которого внедрение в процессы различных приложений, в том числе системных. Троян является новой модификацией вредоноса семейства Android.Loki.

Зловред незаметно загружает и устанавливает другое программное обеспечение на мобильные устройства под управлением ОС Android. Троян заражает смартфоны и планшеты в несколько этапов.

На первом этапе Android.Loki.16.origin загружается на мобильные устройства и запускается другими вредоносными программами. Затем он соединяется с управляющим сервером и передает информацию о зараженном устройстве, которая загружается в формате JSON. Например:

{
"chanel": "25425",
"brand":,
"model":,
"product":,
"android":,
"linux_v":,
"sdk":,
"imei":,
"imsi":,
"abi":"armeabi-v7a",
"country":"US",
"service": "ApiSs.lists",
"vd": "version 201611111348",
"vc": "3",
}

где:

  • "chanel": – целое число;
  • "brand": – наименование производителя устройства;
  • "model": – название модели устройства;
  • "product": – полное название устройства;
  • "android": – версия ОС;
  • "linux_v": – версия ядра Linux;
  • "sdk": – версия SDK системы;
  • "imei": – IMEI-идентификатор;
  • "imsi": – IMSI-идентификатор;
  • "abi": – архитектура платформы;
  • "country": – страна проживания пользователя;
  • "service": – запрос списка эксплойтов, которые необходимо загрузить;
  • "vd": – версия вредоносного приложения, указанная в файле AndroidManifest.xml;
  • "vc": – константа.


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

{
"dmd5": "AEB2053BCA56D736152884095C052328.zip",
"dparam": "tag_test",
"durl": "http://**.***.64.76:10001/?&service=ApiKl.get",
"dtype": 0,
"list": [
{
"xurl":
"http://**.***.64.76:10001/?&service=ApiSs.get&xmd5=C9194C261C5D8E50F7BE098CBBE464AE.zip",
"xmd5": "C9194C261C5D8E50F7BE098CBBE464AE",
"xtype": 0
},
{
"xurl":
"http://**.***0.64.76:10001/?&service=ApiSs.get&xmd5=FEA7150DFACAF4887FEBD56360F7C0B9.zip",
"xmd5": "FEA7150DFACAF4887FEBD56360F7C0B9",
"xtype": 0
}
]
}

где:
"dmd5": – имя архива с вредоносным компонентом Android.Loki.28;
"durl": – ссылка для скачивания Android.Loki.28;
"list": – список эксплойтов, которые необходимо загрузить.


После скачивания и распаковки эксплойтов Android.Loki.16.origin поочередно их выполняет. При этом им передаются следующие параметры:

argv[n]    Значение
0    /data/data/<package_name>/files/sclplu/xcache/<имя_эксплойта>
1    "7e832e21a8178d83"
2    System.currentTimeMillis() / 1000 % 43200
3    /data/data/<package_name>/files/sclplu/xcache (каталог, в котором расположены эксплойты)
4    путь к Android.Loki.28
5    /storage/sdcard/.googlex9/.xamdecoq0962|<google advertizing id>|<android device id>|<MAC-адрес>|<IMEI>|<channel ID
(число из первоначального запроса троянца)>|<dparam (параметр, полученный в ответном сообщении управляющего сервера)>


Далее, перед запуском основного кода, каждый из эксплойтов выполняет следующие действия:

  • проверяет количество аргументов;
  • сравнивает с зашитой в него строкой значение argv[1];
  • удостоверяется, что значение argv[2] находится в определенных пределах.


После этого эксплойт, который успешно получил root-доступ, создает в каталоге /data/data/<package_name>/files/sclplu/xcache файл crsh.sh, в который записывает следующий скрипт и запускает его:

#!/system/bin/sh
<путь к Android.Loki.28> 0e7e68c92b889bed <argv[2]>
/data/data/<package_name>/files/sclplu/xcache <argv[5]>
rm $0


В свою очередь, этот скрипт запускает вредоносный модуль Android.Loki.28.

Запустившись на устройстве жертвы Android.Loki.28 монтирует раздел /system на запись, получая возможность вносить изменения в системные файлы. Затем он извлекает из себя дополнительные вредоносные компоненты Android.Loki.26 и Android.Loki.27 и помещает их в системные каталоги /system/bin/ и /system/lib/ соответственно. После этого вредоносная программа внедряет в одну из системных библиотек зависимость от троянского компонента Android.Loki.27. После модификации библиотеки вредоносный модуль Android.Loki.27 привязывается к ней и запускается каждый раз, когда ее задействует операционная система.

Пример изменений, выполненных вредоносной программой

Android.Loki izmenyaet biblioteki 1Android.Loki izmenyaet biblioteki_2

В свою очередь Android.Loki.27 запускает на исполнение вредоносный модуль Android.Loki.26. Его старт выполняется только из системных процессов, работающих с правами root. Таким образом, Android.Loki.26 получает root-полномочия и может незаметно загружать, устанавливать и удалять приложения. Именно с помощью этого модуля киберпреступники и загружают на Android-устройства не только другие вредоносные программы, но и рекламные модули или безобидное ПО, получая доход от показа назойливой рекламы или накрутки счетчика установок определенных приложений.

Стоит отметить, поскольку вредоносный модуль Android.Loki.27 изменяет системные компоненты, то его удаление приведет к поломке зараженного мобильного устройства. При последующих включениях ОС Android не сможет нормально загрузиться, потому что не найдет в модифицированной библиотеке зависимость, соответствующую трояну. Для восстановления работоспособности системы, устройство придется перепрошить. А поскольку все персональные файлы при этом будут удалены, перед прошивкой рекомендуется создать резервные копии важных данных и по возможности обратиться к специалисту.