SHA1:
- cd176f314662363af782fc539213db8f1171a664
Многокомпонентный троянец, работающий на смартфонах и планшетах под управлением ОС Android. Он загружается на мобильные устройства и запускается другими вредоносными программами. Android.Loki.16.origin пытается получить root-доступ и установить свои компоненты в системный каталог.
После запуска 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.