Троянская программа, заражающая мобильные устройства под управлением ОС Android. Применяется злоумышленниками для кражи конфиденциальной информации пользователей, хищения денежных средств с их банковских счетов, а также со счета мобильного телефона. Может распространяться под видом системного обновления.
После установки на целевое мобильное устройство Android.BankBot.34.origin размещает на главном экране операционной системы ярлык, имеющий значок одного из популярных приложений. Данный ярлык в дальнейшем удаляется, если троянец запускается непосредственно владельцем зараженного мобильного устройства. В случае если пользователь не запустит вредоносную программу самостоятельно, этот ярлык сохраняется. Троянец способен автоматически начать свою работу, загрузившись вместе с операционной системой (для этого используется контроль стандартного системного события android.intent.action.BOOT_COMPLETED).
После запуска Android.BankBot.34.origin запрашивает у пользователя доступ к функциям администратора мобильного устройства.
Похищение конфиденциальной информации пользователей
Троянец отслеживает активность пользователя и ожидает запуска последним следующих приложений:
- Google Play (com.android.vending);
- Google Play Music (com.google.android.music);
- WhatsApp (com.whatsapp);
- Viber (com.viber.voip);
- Instagram (com.instagram.android);
- Skype (com.skype.raider);
- «ВКонтакте» (com.vkontakte.android);
- «Одноклассники» (ru.ok.android);
- Facebook (com.facebook.katana);
- Gmail (com.google.android.gm);
- Twitter (com.twitter.android).
Как только будет запущена одна из этих программ, Android.BankBot.34.origin отобразит поверх ее интерфейса собственное окно, имитирующее запрос ввода конфиденциальной информации (логин и пароль, номер телефона или сведения о кредитной карте). Полученные таким образом данные в формате JSON (JavaScript Object Notation) передаются троянцем на управляющий сервер. Например, передаваемые сведения о кредитной карте выглядят следующим образом:
JSONObject v3 = new JSONObject();
v3.put("type", "card information");
JSONObject v1 = new JSONObject();
v1.put("number", card.getNumber());
v1.put("month", card.getMonth());
v1.put("year", card.getYear());
v1.put("cvc", card.getCvc());
v3.put("card", v1);
JSONObject v0 = new JSONObject();
v0.put("first name", address.getFirstName());
v0.put("last name", address.getLastName());
v0.put("street address", address.getStreetAddress());
v0.put("city", address.getCity());
v0.put("country", address.getCountry());
v0.put("zip code", address.getZip());
v0.put("phone", address.getPhone());
v3.put("billing address", v0);
JSONObject v2 = new JSONObject();
v2.put("vbv password", info.getVbvPass());
v3.put("additional information", v2);
v3.put("code", v5.getString("APP_ID", "-1"));
Связь с управляющим сервером и выполнение поступающих команд
Для передачи похищенной информации злоумышленникам, а также для получения от них команд Android.BankBot.34.origin соединяется с управляющим сервером, расположенным в анонимной сети Tor на псевдодомене http://[xxxxxxxxx]wxnoyew.onion/. Возможность работы троянца с анонимным протоколом связи обеспечивается благодаря использованию в коде Android.BankBot.34.origin фрагментов легитимного приложения org.torproject.android. В случае если основной сервер недоступен, троянец использует запасной управляющий сервер, который расположен по адресу http://[xxxxx]panel.ru/send.php.
Во время первого сеанса связи с удаленным центром троянец выполняет регистрацию зараженного мобильного устройства, передавая основные сведения о нем (IMEI-идентификатор, название модели, телефонный номер, версия операционной системы и т.п.):
JSONObject v1 = new JSONObject();
try {
v1.put("type", "device info");
v1.put("phone number", Utils.getPhoneNumber(context));
v1.put("country", Utils.getCountry(context));
v1.put("imei", Utils.getIMEI(context));
v1.put("model", Utils.getModel());
v1.put("sms", new JSONArray(Utils.readMessagesFromDeviceDB(context)));
v1.put("operator", Utils.getOperator(context));
v1.put("os", Utils.getOS());
v1.put("client number", "10");
Получив от сервера необходимую команду, Android.BankBot.34.origin может выполнить следующее действия:
- начать или остановить перехват входящих и исходящих СМС;
- выполнить USSD-запрос;
- внести в черный список определенный номер, сообщения с которого будут скрываться от пользователя (по умолчанию в списке содержатся сервисные номера ряда телефонных операторов, системы мобильного банкинга известного российского банка, а также популярной платежной платформы);
- очистить список блокируемых номеров;
- передать на сервер информацию об установленных на устройстве приложениях;
- выполнить отправку СМС-сообщения;
- передать на сервер идентификатор вредоносной программы;
- отобразить на экране диалоговое окно или сообщение в соответствии с полученными с управляющего сервера параметрами (например, в команде может задаваться текст, предназначенный для демонстрации на экране, количество полей для ввода данных и т. п.).