Нещодавно дослідники з команди Check Point Research (CPR) попередили користувачів про все ще наявну небезпеку шкідливого програмного забезпечення Sharkbot, знайденого цього року в Google Play. Хоча про знахідку було негайно повідомлено Google і шкідливе ПЗ було видалено, команда каже, що знайшли нові шкідливі програми Sharkbot.
Що таке шкідливе програмне забезпечення Sharkbot?
Sharkbot — це програма-стілер в Android, яка видає себе за антивірусне ПЗ в Google Play. Це зловмисне програмне забезпечення краде банківську інформацію та облікові дані, одночасно впроваджуючи геозони та інші методи ухилення, що в якомусь аспекті на фоні інших виділяє його. Також цікавий аспект, на який вказують фахівці з кібербезпеки — алгоритм генерації домену (DGA) — рідко використовується серед шкідливих програм Android.
На пристрої жертви зловмисне програмне забезпечення створює вікна, які імітують справжні форми введення облікових даних, заманюючи жертв ввести свої облікові дані.
Потім зламані дані надсилаються на шкідливий сервер. Sharkbot використовує свою функцію геозонування для націлювання лише на конкретних жертв, за винятком користувачів з України, Білорусі, Румунії, Росії, Індії та Китаю. Крім того, він не працюватиме, якщо виконується в пісочниці.
У магазині Google Play команда CheckPoint Research (CPR) загалом виявила шість різних програм, які поширювали шкідливе програмне забезпечення. Згідно з інформацією, отриманою з www.appbrain.com, ці програми на момент виявлення вже були завантажені та встановлені приблизно 15 тисяч разів.
Трьох облікових записів розробників звинувачують у поширенні зловмисного програмного забезпечення: Bingo Like Inc, Adelmio Pagnotto та Zbynek Adamcik. Під час ретельної перевірки спеціалістів з кібербезпеки стало відомо, що два із згаданих акаунтів були активні вже восени 2021 року.
Деякі з програм, які, ймовірно, належали цим обліковим записам, було видалено з Google Play, але вони все ще існують на неофіційних сайтах. Фахівці з кібербезпеки пояснюють, що це може означати, що розробники Sharkbot намагаються залишатися якомога непоміченими, продовжуючи здійснювати шкідливу діяльність.
Технічний аналіз Sharkbot
Команди
Говорячи про основну функціональність шкідливого програмного забезпечення, Sharkbot працює з традиційними інструментами як для шкідливого ПЗ на Android. Фахівці з кібербезпеки знайшли 27 версій бота.
Загалом Sharkbot може реалізувати 22 команди. За допомогою сервера командування та керування (CnC) на зламаному пристрої хакери можуть виконувати різні типи шкідливих дій.
Можуть виконуватися такі команди:
- removeApp
Насправді це не команда, а поле команди updateConfig. Під час виконання цієї команди сервер створює великий список програм, які слід видалити з пристрою жертви. Наразі список містить 680 назв додатків.
- autoReply
Те саме, це не фактична команда, а поле в команді updateConfig. Під час цієї команди сервер надсилає повідомлення, що імітує відповідь на події push.
- Swipe
Ця команда імітує рух користувача по екрану пристрою. Фахівці з кібербезпеки припускають, що це було зроблено, щоб дати можливість хакерам відкрити якусь програму або пристрій.
- APP_STOP_VIEW
Тут CnC створює назви пакетів, а потім служба доступності не дозволяє користувачам отримати доступ до названих програм.
- sendPush
Команда показує користувачеві push-повідомлення з призначеним текстом.
- iWantA11
Вмикає службу доступності для Sharkbot.
- getDoze
Вимикає оптимізацію акумулятора для пакета Sharkbot.
- змінитиSmsAdmin
Збирає назви старих і використовуваних на даний момент програм SMS за замовчуванням для шкідливого ЧПУ.
- збір контактів
Збирає та надсилає вкрадені контакти на шкідливі сервери.
- видалити додаток
Ця команда видаляє названу програму в пакеті.
- smsSend
Дія перевіряє, чи надано дозвіл на надсилання SMS. Якщо дозвіл надано, зловмисне програмне забезпечення може читати та надсилати SMS.
Є також деякі другорядні команди, що відповідають переважно за внутрішню роботу Sharkbot.
Мережа
Немає такої кількості шкідливих програм, які можуть працювати без зв’язку з сервером CnC. Шкідливе ПЗ як Sharkbot – це ті, кому потрібен зв’язок із CnC-сервером. І ось тут випливає один цікавий факт про цю шкідливу програму.
Коли в суб’єктів загрози заблокували всі свої сервери, вони можуть використовувати алгоритм генерації домену, який майже ніколи не використовується в шкідливих програмах Android, але Sharkbot є винятком.
DGA — це алгоритм, при якому зловмисний клієнт і зловмисник змінюють сервер CnC без будь-якого зв’язку. За допомогою цього алгоритму важче заблокувати сервери оператора шкідливого ПЗ.
DGA складатиметься з двох частин: фактичного алгоритму та констант, які використовує цей алгоритм. Константи називаються сідсами DGA.
- Протокол і нок-пакет
Обмін на сервері CnC відбувається через HTTP із запитом POST на шляху /. І запити, і відповіді шифруються за допомогою RC4.
Час від часу в чітко встановлений проміжок бот надсилатиме нок-пакет на сервер. За замовчуванням пакет надсилатиметься кожні 30 секунд. Період часу можна змінити за допомогою команди updateTimeKnock.
Інфраструктура
Під час публікації звіту команда Check Point Research (CPR) виявила 8 IP-адрес, які в різний час використовували оператори Sharkbot.
Дослідники припускають, що насправді є один реальний сервер, а інші — просто реле. Пік активності шкідливого ПЗ зрісло у березні; Фахівці з кібербезпеки пов’язали цей факт з тодішнім активним використанням дроппера Sharkbot в Google Play.
Згідно зі статистикою на основі розташування, основні цілі були у Сполученому Королівстві та Італії.
Дропери
Спочатку зловмисне програмне забезпечення завантажується та встановлюється під виглядом антивірусної програми. Потрапивши на машину жертви, Sharkbot виявляє емулятори, і якщо такий знайдений, він припиняє роботу.
У разі виявлення емулятора зв’язок з ЧПУ не відбудеться. Але зловмисне програмне забезпечення взагалі не працюватиме, якщо місцевістю є Україна, Білорусь, Росія, Румунія, Індія та Китай.
Та частина програми, яка контролюється сервером CnC, розуміє 3 команди:
- Завантаження та встановлення файлу APK із наданої URL-адреси;
- Зберігання поля автовідповіді в локальному сеансі;
- Перезапуск локальної сесії.
Усі вони запитуватимуть однаковий набір дозволів.
Згодом вони зареєструють службу, щоб отримати доступ до Подій доступності.
Висновки
У швидкому темпі сучасного життя іноді можна пропустити червоний прапорець — ознака шкідливого програмного забезпечення в магазині додатків. На останок дослідницька група CheckPoint дала короткі поради щодо того, як уникнути шкідливих програм, особливо таких, як ця, маскована під антивірусне ПЗ:
- Негайно повідомляйте про всі підозрілі програми, які ви зустрічаєте в магазині;
- Уникайте завантаження програми від нового видавця, натомість спробуйте знайти аналогічний у надійного видавця;
- Встановлюйте програми лише від перевірених і відомих видавців.
Незважаючи на те, що Google негайно видалив шкідливі програми, вони вже були завантажені 15 000 тисяч разів. Шкода завдана. Цей факт ще раз показує, що при прийнятті рішення про те, чи завантажувати програму чи ні, потрібно також покладатися на свою поінформованість.