Эксперты Cyble обнаружили в дикой природе новую Android-угрозу — банковского трояна, находящегося на ранней стадии разработки. Вредонос с кодовым именем Chameleon маскируется под разные легитимные приложения, а для кражи данных использует в основном оверлеи и кейлоггинг.
Проведенный в Cyble анализ не выявил признаков родства новобранца с каким-либо известным троянским семейством. Вредонос с января активно раздается с взломанных сайтов, хостинга Bitbucket и через вложения в чатах Discord.
Чтобы скрыть свои намерения, Chameleon использует иконки популярных программ: ChatGPT, Google Chrome, Bitcoin-кошелька, клиента Налоговой службы Австралии, банковского приложения IKO, широко используемого в Польше.
Эксперты проанализировали новейший образец зловреда, замаскированный под Android-клиент австралийской криптобиржи CoinSpot (уровень детектирования 30/65 на 14 апреля). Его C2-сервер находится в США, а набор функций обеспечивает следующие возможности:
- кейлоггинг;
- оверлейные атаки;
- сбор СМС;
- кража куки;
- кража ключа разблокировки экрана;
- отключение Google Play Protect;
- противодействие запуску в эмуляторе;
- предотвращение деинсталляции;
- самоудаление.
При запуске троян прежде всего проводит антиотладочные и антиэмуляционные проверки, а также ищет признаки рутинга. Обнаружив угрозу раскрытия, он завершает свой процесс.
Считав данные устройства, Chameleon, как и многие другие Android-банкеры, просит жертву активировать Accessibility Service. Получив доступ, он использует спецвозможности для автоматического получения разрешений, отключения защиты Google Play, блокировки деинсталляции и т. п.
Параллельно троян в фоновом режиме отправляет на C2 основную информацию о зараженном устройстве, такую как версия, модель, наличие статуса root, страна, местоположение. После этого зловред загружает в WebView легитимную страницу CoinSpot и скрытно ворует куки.
Мониторинг и захват клавиатурного ввода обеспечивают функции editLog() и writeLog(). Результаты сохраняются в базе данных, а затем отсылаются на командный сервер. Оверлеи для целевых банковских приложений загружаются с C2 и сохраняются локально. При совершении инъекции фишинговая страница открывается в WebView.
Доступ к Accessibility Service также позволяет Chameleon украсть ключ к устройству. Вначале зловред определяет тип замка — пароль, пин-код, свайп, а затем сохраняет введенные идентификаторы в своей базе данных.
Для кражи входящих СМС банкер регистрирует экземпляр класса BroadcastReceiver. Улов передается на C2, чтобы оператор смог получить одноразовые пароли для обхода двухфакторной аутентификации (2FA).
Для автоматической деинсталляции и предотвращения попыток удаления вредонос использует переменные предпочтения (общие для всех семплов), такие как is_chameleon, app_chameleon, app_chameleon_name. Это и подсказало аналитикам название для новой Android-угрозы.
Создатели Chameleon также предусмотрели возможность загрузки дополнительного пейлоада, с сохранением в виде jar-файла и последующим запуском на исполнение. Эта функциональность пока не используется.