Шпигунська кампанія StrongPity, націлена на користувачів Android

Шпигунська кампанія StrongPity, націлена на користувачів Android

Дослідники ESET виявили активну кампанію StrongPity, яка розповсюджує троянську версію програми Android Telegram, представлену як програма Shagle – сервіс відеочату, який не має версії програми.

Дослідники ESET виявили активну кампанію, яку ми віднесли до групи StrongPity APT. Ця кампанія, що діє з листопада 2021 року, розповсюджувала шкідливу програму через веб-сайт, який імітував Shagle – службу випадкового відеочату, яка забезпечує зашифроване спілкування між незнайомими людьми. На відміну від повністю веб-сайту Shagle, який не пропонує офіційного мобільного додатка для доступу до своїх послуг, копіювальний сайт пропонує лише програму для Android для завантаження, а потокове передавання через Інтернет неможливе.

Ключові моменти блогпосту:

  • Лише одна інша кампанія для Android раніше була приписана StrongPity.
  • Це перший раз, коли описані модулі та їх функціональні можливості були задокументовані публічно.
  • Веб-сайт імітатора, що імітує службу Shagle, використовується для розповсюдження мобільного бекдор-додатку StrongPity.
  • Додаток є модифікованою версією програми Telegram з відкритим вихідним кодом, переупакованої за допомогою бекдор-коду StrongPity.
  • Завдяки схожості з попереднім бекдор-кодом StrongPity та програмою, підписаною сертифікатом із попередньої кампанії StrongPity, ми приписуємо цю загрозу групі StrongPity APT.
  • Бекдор StrongPity є модульним, де всі необхідні бінарні модулі зашифровано за допомогою AES і завантажено з його C&C сервера, і має різні функції шпигунства.

Шкідливий додаток насправді є повністю функціональною, але троянізованою версією законного додатка Telegram, але представленого як неіснуючий додаток Shagle. Ми називатимемо це підробленим додатком Shagle, троянізованим додатком Telegram або бекдором StrongPity у решті цього допису в блозі. Продукти ESET виявляють цю загрозу як Android/StrongPity.A.

Цей бекдор StrongPity має різні функції шпигунства: його 11 динамічно активованих модулів відповідають за запис телефонних дзвінків, збір SMS-повідомлень, списки журналів викликів, списки контактів і багато іншого. Ці модулі документуються вперше. Якщо жертва надасть зловмисному додатку StrongPity служби доступності, один із його модулів також матиме доступ до вхідних повідомлень і зможе викрадати зв’язок із 17 додатками, такими як Viber, Skype, Gmail, Messenger, а також Tinder.

Цільова кампанія, ймовірно, дуже вузька, оскільки телеметрія ESET досі не ідентифікує жертв. Під час нашого дослідження проаналізована версія зловмисного програмного забезпечення, доступна на веб-сайті copycat, більше не була активною, і її неможливо було успішно встановити та запустити її бекдор, оскільки StrongPity не отримав власний ідентифікатор API для своєї троянської програми Telegram. Але це може змінитися будь-коли, якщо зловмисник вирішить оновити шкідливу програму.

огляд

Ця кампанія StrongPity зосереджена навколо бекдору Android, доставленого з домену, що містить слово «голландський». Цей веб-сайт імітує законну службу під назвою Shagle at shagle.com. На малюнку 1 ви можете побачити домашні сторінки обох веб-сайтів. Шкідлива програма надається безпосередньо з веб-сайту, що імітує себе, і ніколи не була доступна в магазині Google Play. Це троянська версія законної програми Telegram, представлена ​​так, ніби це програма Shagle, хоча наразі офіційної програми Shagle для Android немає.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Малюнок 1. Порівняння законного веб-сайту ліворуч і імітатора праворуч

Як ви можете бачити на малюнку 2, HTML-код підробленого сайту містить докази того, що його було скопійовано з законного shagle.com сайт 1 листопадаst, 2021, за допомогою автоматизованого інструменту HTTrack. Шкідливий домен було зареєстровано в той же день, тому копіювальний сайт і підроблений додаток Shagle могли бути доступні для завантаження з тієї дати.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Рисунок 2. Журнали, згенеровані інструментом HTTrack, записані в HTML-код підробленого веб-сайту

Віктимологія

У липні 18th2022 р., одне з наших правил YARA на VirusTotal спрацювало, коли шкідлива програма та посилання на веб-сайт імітували shagle.com були завантажені. Водночас нам повідомили про Twitter про той зразок, хоча це було помилково приписується Багамуту. Телеметричні дані ESET досі не ідентифікують жодної жертви, що свідчить про те, що кампанія, ймовірно, мала вузьку спрямованість.

приписування

APK, який розповсюджується веб-сайтом Shagle, підписаний тим самим сертифікатом підпису коду (див. Малюнок 3), що й троянський додаток електронного уряду Сирії, виявлений у 2021 році Компанія Trend Micro, який також приписували StrongPity.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Малюнок 3. Цей сертифікат підписав підроблену програму Shagle і троянську програму електронного уряду Сирії

Шкідливий код у підробленому додатку Shagle, який був помічений у попередній мобільній кампанії StrongPity, реалізує простий, але функціональний бекдор. Ми бачили, що цей код використовується лише в кампаніях, проведених StrongPity. На малюнку 4 ви можете побачити деякі додані шкідливі класи, причому багато заплутаних імен навіть однакові в коді обох кампаній.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Малюнок 4. Порівняння назв класів троянізованої програми Syrian e-gov (ліворуч) і троянської програми Telegram (праворуч)

Порівняння бекдор-коду цієї кампанії з троянським додатком електронного уряду Сирії (SHA-1: 5A5910C2C9180382FCF7A939E9909044F0E8918B), він має розширену функціональність, але той самий код використовується для надання подібних функцій. На малюнках 5 і 6 ви можете порівняти код з обох зразків, який відповідає за надсилання повідомлень між компонентами. Ці повідомлення викликають зловмисну ​​поведінку бекдору. Тому ми переконані, що підроблений додаток Shagle пов’язаний із групою StrongPity.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Малюнок 5. Диспетчер повідомлень, відповідальний за запуск зловмисних функціональних можливостей у троянізованій сирійській програмі електронного уряду

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Малюнок 6. Диспетчер повідомлень, відповідальний за запуск шкідливих функцій у підробленому додатку Shagle

Технічний аналіз

Початковий доступ

Як описано в розділі «Огляд» цього допису в блозі, підроблений додаток Shagle розміщувався на веб-сайті Shagle copycat, з якого жертви мали вибрати завантажити та встановити додаток. Не було жодних вивертів, які б свідчили про те, що програма доступна з Google Play, і ми не знаємо, як потенційних жертв заманили на підроблений веб-сайт або іншим чином виявили на ньому.

Набір інструментів

Згідно з описом на веб-сайті copycat, програма є безкоштовною та призначена для знайомства та спілкування з новими людьми. Однак завантажений додаток є програмою Telegram зі зловмисними виправленнями, зокрема Telegram версії 7.5.0 (22467), яка була доступна для завантаження приблизно 25 лютого.th, 2022.

Переупакована версія Telegram використовує ту саму назву пакета, що й законна програма Telegram. Назви пакетів мають бути унікальними ідентифікаторами для кожної програми Android і мають бути унікальними на кожному конкретному пристрої. Це означає, що якщо офіційний додаток Telegram вже встановлено на пристрої потенційної жертви, то цю бекдорну версію встановити неможливо; див. Малюнок 7. Це може означати одну з двох речей: або загрозливий суб’єкт спочатку спілкується з потенційними жертвами та спонукає їх видалити Telegram зі своїх пристроїв, якщо він встановлений, або кампанія зосереджена на країнах, де Telegram рідко використовується для спілкування.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Малюнок 7. Якщо на пристрої вже встановлено офіційну програму Telegram, троянську версію неможливо встановити

Троянська програма Telegram від StrongPity мала б працювати так само, як офіційна версія для зв’язку, використовуючи стандартні API, які добре задокументовані на веб-сайті Telegram, але програма більше не працює, тому ми не можемо перевірити.

Під час нашого дослідження поточна версія зловмисного програмного забезпечення, доступна на веб-сайті copycat, більше не була активною, і її неможливо було успішно встановити та запустити її бекдор. Коли ми спробували зареєструватися за допомогою нашого номера телефону, переупакована програма Telegram не змогла отримати ідентифікатор API із сервера, а отже, не працювала належним чином. Як показано на малюнку 8, програма відобразила API_ID_PUBLISHED_FLOOD помилка

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Рисунок 8. Помилка, що відображається під час реєстрації за номером телефону

За матеріалами Telegram документація про помилки, здається, що StrongPity не отримав власний ідентифікатор API. Натомість він використав зразок ідентифікатора API, включений у відкритий вихідний код Telegram для цілей початкового тестування. Telegram відстежує використання ідентифікатора API та обмежує зразок ідентифікатора API, тому його використання у випущеній програмі призводить до помилки, показаної на малюнку 8. Через помилку неможливо зареєструватися та використовувати програму або активувати її шкідливі функції . Це може означати, що оператори StrongPity не продумали це, або, можливо, було достатньо часу, щоб шпигувати за жертвами між публікацією програми та її дезактивацією Telegram через надмірне використання APP ID. Оскільки на веб-сайті не було доступно жодної нової та робочої версії програми, це може припустити, що StrongPity успішно розгорнув зловмисне програмне забезпечення для бажаних цілей.

У результаті підроблений додаток Shagle, доступний на підробленому веб-сайті на момент нашого дослідження, більше не був активним. Однак це може змінитися будь-коли, якщо зловмисники вирішать оновити шкідливу програму.

Компоненти та дозволи, необхідні для коду бекдору StrongPity, додаються до програми Telegram AndroidManifest.xml файл. Як видно на малюнку 9, це дозволяє легко побачити, які дозволи потрібні для шкідливого програмного забезпечення.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Малюнок 9. AndroidManifest.xml із виділеними компонентами та дозволами бекдору StrongPity

З маніфесту Android ми бачимо, що шкідливі класи додано в org.telegram.messenger пакет відображатиметься як частина оригінальної програми.

Початкова шкідлива функція запускається одним із трьох широкомовних приймачів, які виконуються після визначених дій – BOOT_COMPLETED, НИЗЬКИЙ ЗАРЯД БАТАРЕЇабо USER_PRESENT. Після першого запуску він динамічно реєструє додаткові приймачі трансляції для моніторингу SCREEN_ON, SCREEN_OFF та CONNECTIVITY_CHANGE події. Підроблений додаток Shagle потім використовує IPC (міжпроцесний зв’язок) для зв’язку між своїми компонентами, щоб запускати різні дії. Він зв’язується з C&C-сервером за допомогою HTTPS, щоб надіслати основну інформацію про скомпрометований пристрій і отримує файл, зашифрований AES, що містить 11 двійкових модулів, які динамічно виконуватимуться батьківською програмою; див. Малюнок 10. Як показано на Малюнку 11, ці модулі зберігаються у внутрішній пам’яті програми, /data/user/0/org.telegram.messenger/files/.li/.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Рисунок 10. Бекдор StrongPity отримує зашифрований файл, який містить виконувані модулі

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Рисунок 11. Модулі, отримані з сервера, збережені у внутрішній пам’яті бекдора StrongPity

Кожен модуль відповідає за різні функції. Список імен модулів зберігається в локальних спільних налаштуваннях у sharedconfig.xml файл; дивіться малюнок 12.

Модулі динамічно запускаються батьківською програмою, коли це необхідно. Кожен модуль має власну назву модуля та відповідає за різні функції, такі як:

  • libarm.jar (модуль cm) – запис телефонних розмов
  • libmpeg4.jar (nt module) – збирає текст вхідних сповіщень від 17 програм
  • local.jar (модуль fm/fp) – збирає список файлів (дерево файлів) на пристрої
  • phone.jar (ms module) – неправомірно використовує служби доступності, щоб стежити за програмами обміну повідомленнями, викрадаючи ім’я контакта, повідомлення чату та дату
  • ресурси.jar (sm module) – збирає SMS-повідомлення, що зберігаються на пристрої
  • services.jar (модуль lo) – отримує місцезнаходження пристрою
  • systemui.jar (sy модуль) – збирає інформацію про пристрій і систему
  • timer.jar (модуль ia) – збирає список встановлених програм
  • toolkit.jar (модуль cn) – збирає список контактів
  • watchkit.jar (ac module) – збирає список облікових записів пристрою
  • wearkit.jar (модуль cl) – збирає список журналів викликів
Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Рисунок 12. Список модулів, які використовуються бекдором StrongPity

Усі отримані дані зберігаються у відкритому вигляді /data/user/0/org.telegram.messenger/databases/outdata, перед тим як бути зашифрованим за допомогою AES і надісланим на сервер C&C, як ви можете бачити на малюнку 13.

Шпигунська кампанія StrongPity, націлена на користувачів Android PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Рисунок 13. Зашифровані дані користувача, які передаються на сервер C&C

Цей бекдор StrongPity має розширені функції шпигунства порівняно з першою версією StrongPity, виявленою для мобільних пристроїв. Він може попросити жертву активувати служби доступності та отримати доступ до сповіщень; див. Малюнок 14. Якщо жертва ввімкне їх, зловмисне програмне забезпечення шпигуватиме за вхідними сповіщеннями та зловживатиме службами доступності, щоб отримати доступ до чату з інших програм.

Рисунок 14. Запити зловмисного програмного забезпечення від жертви, доступ до сповіщень і служби доступності

Маючи доступ до сповіщень, зловмисне програмне забезпечення може читати отримані сповіщення, що надходять від 17 цільових програм. Ось список назв їхніх пакетів:

  • Месенджер (com.facebook.orca)
  • messenger lite (com.facebook.mlite)
  • Viber – Безпечні чати та дзвінки (com.viber.voip)
  • Skype (com.skype.raider)
  • ЛІНІЯ: Дзвінки та повідомлення (jp.naver.line.android)
  • Kik — додаток для обміну повідомленнями та чату (kik.android)
  • танго-пряма трансляція та відеочат (com.sgiggle.production)
  • Hangouts (com.google.android.talk)
  • Telegram (org.telegram.messenger)
  • WeChat (com.tencent.mm)
  • Snapchat (com.snapchat.android)
  • Tinder (com.tinder)
  • Новини та вміст Hike (com.bsb.hike)
  • інстаграм (com.instagram.android)
  • Twitter (com.twitter.android)
  • Gmail (com.google.android.gm)
  • imo-Міжнародні дзвінки та чат (com.imo.android.imoim)

Якщо пристрій уже рутовано, зловмисне програмне забезпечення мовчки намагається надати дозволи WRITE_SETTINGS, WRITE_SECURE_SETTINGS, REBOOT, MOUNT_FORMAT_FILESYSTEMS, MODIFY_PHONE_STATE, PACKAGE_USAGE_STATS, READ_PRIVILEGED_PHONE_STATE, щоб увімкнути служби доступності та надати доступ до сповіщень. Потім бекдор StrongPity намагається вимкнути програму SecurityLogAgent (com.samsung.android.securitylogagent), яка є офіційною системною програмою, яка допомагає захистити безпеку пристроїв Samsung і вимикає всі сповіщення програми, що надходять від самого шкідливого програмного забезпечення, яке може відображатися жертві в майбутньому у разі помилок програми, збоїв або попереджень. Сам бекдор StrongPity не намагається рутувати пристрій.

Алгоритм AES використовує режим CBC і жорстко закодовані ключі для розшифровки завантажених модулів:

  • Ключ AES – ааанічого неможливогобб
  • AES IV – ааанічого не можна

Висновок

Мобільна кампанія, керована групою StrongPity APT, імітувала законну службу для розповсюдження свого бекдору Android. StrongPity перепакував офіційний додаток Telegram, щоб включити варіант бекдор-коду групи.

Цей шкідливий код, його функції, назви класів і сертифікат, який використовується для підпису файлу APK, такі ж, як і в попередній кампанії; тому ми з великою впевненістю вважаємо, що ця операція належить групі StrongPity.

Під час нашого дослідження зразок, доступний на веб-сайті copycat, був вимкнений через API_ID_PUBLISHED_FLOOD помилка, яка призводить до того, що шкідливий код не запускається, а потенційні жертви, можливо, видаляють непрацюючу програму зі своїх пристроїв.

Аналіз коду показує, що бекдор є модульним і додаткові бінарні модулі завантажуються з C&C сервера. Це означає, що кількість і тип використовуваних модулів можна змінити в будь-який час відповідно до запитів кампанії, коли ними керує група StrongPity.

Згідно з нашим аналізом, це, здається, друга версія зловмисного програмного забезпечення для Android від StrongPity; порівняно з першою версією, він також неправильно використовує служби доступності та доступ до сповіщень, зберігає зібрані дані в локальній базі даних, намагається виконати su команди, а для збору більшості даних використовуються завантажені модулі.

IoCs

Файли

SHA-1 Файл Назва виявлення ESET Опис
50F79C7DFABECF04522AEB2AC987A800AB5EC6D7 video.apk Android/StrongPity.A Бекдор StrongPity (легітимна програма Android Telegram, перепакована зі шкідливим кодом).
77D6FE30DAC41E1C90BDFAE3F1CFE7091513FB91 libarm.jar Android/StrongPity.A Мобільний модуль StrongPity, що відповідає за запис телефонних розмов.
5A15F516D5C58B23E19D6A39325B4B5C5590BDE0 libmpeg4.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за збір тексту отриманих повідомлень.
D44818C061269930E50868445A3418A0780903FE local.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за збір списку файлів на пристрої.
F1A14070D5D50D5A9952F9A0B4F7CA7FED2199EE phone.jar Android/StrongPity.A Мобільний модуль StrongPity відповідає за зловживання службами доступності для шпигування за іншими програмами.
3BFAD08B9AC63AF5ECF9AA59265ED24D0C76D91E ресурси.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за збір SMS-повідомлень, що зберігаються на пристрої.
5127E75A8FAF1A92D5BD0029AF21548AFA06C1B7 services.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за визначення місцезнаходження пристрою.
BD40DF3AD0CE0E91ACCA9488A2FE5FEEFE6648A0 systemui.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за збір інформації про пристрій і систему.
ED02E16F0D57E4AD2D58F95E88356C17D6396658 timer.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за збір списку встановлених програм.
F754874A76E3B75A5A5C7FE849DDAE318946973B toolkit.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за збір списку контактів.
E46B76CADBD7261FE750DBB9B0A82F262AFEB298 watchkit.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за збір списку облікових записів пристрою.
D9A71B13D3061BE12EE4905647DDC2F1189F00DE wearkit.jar Android/StrongPity.A Мобільний модуль StrongPity, який відповідає за збір списку журналів викликів.

мережу

IP Provider Вперше побачили ПОДРОБИЦІ
141.255.161[.]185 NameCheap 2022-07-28 intagrefedcircuitchip[.]com C&C
185.12.46[.]138 Свинина 2020-04-21 networksoftwaresegment[.]com C&C

Методи MITER ATT & CK

Ця таблиця була побудована за допомогою версія 12 рамки MITER ATT & CK.

Тактика ID ІМ'Я Опис
Наполегливість T1398 Сценарії ініціалізації завантаження або входу Бекдор StrongPity отримує BOOT_COMPLETED намір трансляції для активації під час запуску пристрою.
T1624.001 Виконання, викликане подією: широкомовні приймачі Функція бекдору StrongPity запускається, якщо відбувається одна з цих подій: НИЗЬКИЙ ЗАРЯД БАТАРЕЇ, USER_PRESENT, SCREEN_ON, SCREEN_OFFабо CONNECTIVITY_CHANGE.
Ухилення від захисту T1407 Завантажте новий код під час виконання Бекдор StrongPity може завантажувати та запускати додаткові бінарні модулі.
T1406 Заплутані файли або інформація Бекдор StrongPity використовує шифрування AES для обфускації завантажених модулів і приховування рядків у своєму APK.
T1628.002 Приховати артефакти: ухилення користувача Бекдор StrongPity може вимкнути всі сповіщення програми, що надходять від самого шкідливого ПЗ, щоб приховати його присутність.
T1629.003 Порушити захист: вимкнути або змінити інструменти Якщо бекдор StrongPity має root, він вимикає SecurityLogAgent (com.samsung.android.securitylogagent), якщо є.
Відкриття T1420 Виявлення файлів і каталогів Бекдор StrongPity може перераховувати доступні файли на зовнішній пам’яті.
T1418 Відкриття програмного забезпечення Бекдор StrongPity може отримати список встановлених програм.
T1422 Виявлення конфігурації мережі Бекдор StrongPity може отримати IMEI, IMSI, IP-адресу, номер телефону та країну.
T1426 Виявлення системної інформації Бекдор StrongPity може отримати інформацію про пристрій, включаючи тип підключення до Інтернету, серійний номер SIM-карти, ідентифікатор пристрою та загальну інформацію про систему.
COLLECTION T1417.001 Захоплення введення: Keylogging Бекдор StrongPity реєструє натискання клавіш у повідомленнях чату та дані дзвінків із цільових програм.
T1517 Повідомлення доступу Бекдор StrongPity може збирати сповіщення від 17 цільових програм.
T1532 Архів зібраних даних Бекдор StrongPity шифрує викрадені дані за допомогою AES.
T1430 Відстеження місцезнаходження Бекдор StrongPity відстежує місцезнаходження пристрою.
T1429 Зйомка звуку Бекдор StrongPity може записувати телефонні дзвінки.
T1513 Screen Capture Бекдор StrongPity може записувати екран пристрою за допомогою MediaProjectionManager API.
T1636.002 Захищені дані користувача: журнали викликів Бекдор StrongPity може видобувати журнали викликів.
T1636.003 Захищені дані користувача: список контактів Бекдор StrongPity може витягувати список контактів пристрою.
T1636.004 Захищені дані користувача: SMS-повідомлення Бекдор StrongPity може видобувати SMS-повідомлення.
Управління та контроль T1437.001 Протокол прикладного рівня: веб -протоколи Бекдор StrongPity використовує HTTPS для зв’язку зі своїм C&C сервером.
T1521.001 Зашифрований канал: Симетрична криптографія Бекдор StrongPity використовує AES для шифрування свого зв’язку.
ексфільтраціі T1646 Ексфільтрація по каналу С2 Бекдор StrongPity викрадає дані за допомогою HTTPS.

Часова мітка:

Більше від Ми живемо безпеки