SHA1-хеш:ccf8624ac3236068bf15a46d3f1335ac7b43992d
Известные модификации:
- Android.Triada.548.origin (SHA1 77ede5d5ed2c06fe7596666869d3455f86756254)
- Android.Triada.554.origin (SHA1 f888a0d26e6f80ed14a06abb7c721280011c735e)
Описание
Троянская программа, работающая на устройствах под управлением ОС Android. Представляет собой вредоносный модуль, загружаемый в память трояном Android.Triada.4912, а также другими вредоносными приложениями семейства Android.Triada. Ее основные функции — загрузка и запуск дополнительных модулей, а также демонстрация веб-сайтов.
Принцип действия
Android.Triada.566.origin загружается в память базовым компонентом, для этого используется главный троянский класс com.bb.s2x2e.go.AAA, имя которого указано в начале файла, содержащего модуль:
Основными методами, доступными для вызова базовым модулем, являются initMe и time.
Метод initMe(Context, String, View.OnClickListener)
При вызове метод выполняет следующие действия:
- скачивает или запускает вредоносные модули из сохраненной локально конфигурации;
- удаляет локальные файлы трояна, конфигурацию и настройки, если это указано в его настройках;
- загружает удаленную конфигурацию с сервера hxxps://wcf[.]seven1029[.]com, если отсутствует сохраненная действительная конфигурация;
- после успешной загрузки локальной или удаленной конфигурации View.OnClickListener, переданный при инициализации, получает событие onClick(null);
- регистрирует широковещательный приемник на системные события, вызывающий метод time из основного троянского класса. К отслеживаемым событиям относятся включение, выключение или разблокировка экрана, изменение конфигурации сети, начало зарядки аккумулятора и т. д.
Метод time(Context, String, boolean)
При вызове метод выполняет следующие действия:
- открывает ссылки в браузере (в зависимости от настроек и значения последнего аргумента);
- скачивает или запускает вредоносные модули, указанные в сохраненной локально конфигурации;
- загружает удаленный файл конфигурации с сервера hxxps://wcf[.]seven1029[.]com.
Детали работы
Соединение с C&C-сервером hxxps://wcf[.]seven1029[.]com для получения конфигурации и загрузки модулей Android.Triada.566.origin открывает следующим образом: (HttpsURLConnection)url.openConnection(Proxy.NO_PROXY). В результате оно открывается, игнорируя настройки прокси. Предположительно это делается для того, чтобы разработчикам при тестировании ими затронутых приложений было сложнее заметить подозрительную сетевую активность, вызванную действиями трояна.
Пример обмена трояном информацией с C&C-сервером:
POST /BBService.svc/wewrdcazxpkl HTTP/1.1
accept: */*
Connection: Keep-Alive
Encrypt-Type: 1
Compress-Type: 1
Req-Windy-Fire: false
Content-Type: application/json;charset=utf-8
Content-Length: 610
User-Agent: Dalvik/2.1.0 (Linux; U; Android X.X.X; XXX Build/XX.X.X.X.XXX)
Host: wcf.seven1029.com
Accept-Encoding: gzip
{"input":"H4sIAAAAAAAAAG2SUW+...EibjlwCAAA="}HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/8.5
ENCRYPT: 1
COMPRESS: 1
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, XX Apr 2021 XX:XX:XX GMT
Connection: close
Content-Length: 1464
"H4sIAAAAAAAEABW...9FBQAA"
Данные в поле input и ответ сервера закодированы Base64 и сжаты gzip. Пример данных, отправляемых на сервер при запросе:
{
"pn":"com.apkpure.aegon",
"gd":"dbaa3d76-0dc9-4afd-b061-917aa78d748f",
"channel":"2021-3-22-ssk015-ym2",
"version":"sdk_3",
"ua":"Mozilla\/5.0 (Linux; Android XX.X.X; XXX Build\/XX.X.X.X.XXX; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/89.0.4389.105 Mobile Safari\/537.36",
"simCountryIso":"",
"simOperator":"",
"networkOperator":"",
"networkType":"0",
"networkCountryIso":"",
"sysVer":"XX.X.X",
"buildTag":"release-keys",
"root":"true",
"ipInfo":"var returnCitySN = {\"cip\": \"XX.XX.XX.XX\", \"cid\": \"RU\", \"cname\": \"RUSSIAN FEDERATION\"};",
"randomtime":"XXXXXXXXXXX",
"canChange":false
}
Раскодированный ответ сервера выглядит следующим образом:
{
"header":{
"status":0,
"enc_key":"67186522482"
},
"body":"BvvZtjWq...dRj6JESI="
}
Поле body закодировано Base64 и зашифровано шифром desede/CBC/PKCS5Padding, ключ для его дешифровки расположен в поле enc_key.
Примеры дешифрованной конфигурации (поле body) представлены ниже.
Пример № 1:
{
"rTime":14400000,
"clickTime":3000,
"closeTime":15000,
"count":6,
"sTime":1200000,
"hLinks":[
"{hxxps://game[.]shinegame[.]top/horo/jiao6/index[.]html?gameChannelId=1516"}
],
"hLinkCounts":[
1
],
"nSenses":[
],
"Ainfo":{
"A":"1",
"B":99999999,
"C":14,
"D":29,
"E":"1",
"F":"1",
"G":null,
"H":"1",
"I":1,
"J":"1.0.0",
"K":false,
"ids":[
"1_1"
]
},
"wifCtr":true,
"chanEanble":true,
"operFb":false,
"fbapk":{
"url":null,
"md5":null
},
"biLinks":[
],
"randomtime":"XXXXXXXX",
"dy":{
"url":"{hxxps://foodin[.]site/UploadFiles/16d8e39f-723f-4f38-b1a2-486192408787[.]apk"},
"md5":"0bab4bf5b87c9218674c70cd404d691f"
},
"changApp":null,
"changWeb":null,
"adif":[
null
]
}
Пример № 2:
{
"rTime":21600000,
"clickTime":3000,
"closeTime":15000,
"count":6,
"sTime":600000,
"hLinks":[
"{hxxps://game[.]yeahgame[.]top/search/1513/index[.]html?gameChannelId=1513"},
"{hxxps://www[.]toouds[.]top/newGame/index[.]html?gameChannelId=1514"},
"{hxxps://game[.]shinegame[.]top/horo/jiao6/index[.]html?gameChannelId=1516"}
],
"hLinkCounts":[
1,
1,
1
],
"nSenses":[
{
"Id":1536,
"key1":"2021-2-2-xj-biying",
"key2":"2021-2-2-xj-biying",
"key3":"biying",
"enable":1
},
{
"Id":1538,
"key1":"v12_ym2",
"key2":"v12_ym2",
"key3":"v12",
"enable":1
},
{
"Id":1539,
"key1":"v17_ym2",
"key2":"v17_ym2",
"key3":"godzilla",
"enable":1
}
],
"Ainfo":{
"A":"1",
"B":99999999,
"C":14,
"D":29,
"E":"1",
"F":"1",
"G":null,
"H":"1",
"I":1,
"J":"1.0.0",
"K":false,
"ids":[
"1_1"
]
},
"wifCtr":false,
"chanEanble":false,
"operFb":false,
"fbapk":{
"url":null,
"md5":null
},
"biLinks":null,
"randomtime":"XXXXXXXXXX",
"dy":{
"url":"{hxxps://foodin[.]site/UploadFiles/20210408011826[.]apk"},
"md5":"f4f206651de1fdc3ace73cfcf32d54fc"
},
"changApp":null,
"changWeb":null,
"adif":null
}
При этом ссылки, полученные в поле hLinks, открываются в браузере, а по ссылкам, полученным в поле dy, загружаются другие вредоносные модули.
У всех модулей, загружаемых Android.Triada.566.origin, должен иметься класс com.bb.cc.main.Main с методом init(Context, String) , который используется как точка входа при загрузке модуля в память. Этому методу передается загруженная с C&C-сервера конфигурация, которая поступает в расшифрованном виде.
При вызове метода initMe троян регистрирует широковещательный приемник на получение следующих системных событий:
android.intent.action.SCREEN_OFF
android.intent.action.SCREEN_ON
android.intent.action.USER_PRESENT
android.intent.action.BATTERY_OKAY
android.intent.action.PACKAGE_ADDED
android.intent.action.INPUT_METHOD_CHANGED
android.intent.action.BATTERY_CHANGED
android.intent.action.ACTION_POWER_CONNECTED
android.net.conn.CONNECTIVITY_CHANGE
При получении этих событий, если есть подключение к сети, запускается метод time из главного троянского класса com.bb.s2x2e.go.AAA. При вызове этого метода указывается, открывать ли заданный в команде веб-сайт в браузере. При наступлении события разблокировки устройства (android.intent.action.USER_PRESENT) указывается, что необходимо открыть заданную ссылку, при остальных событиях — нет. Кроме того, метод time также может вызываться базовым модулем трояна.