APT-29 Взлом мобильных устройств с помощью Google Play
https://forumfiles.ru/uploads/001a/a9/20/3/t470376.jpg

Код:
Сегодня речь пойдет о самых популярных приложений типа whatsapp telegram


Данные площадки появились вследствии цензуры и блокировки Google сервисов и/или серверов официальных приложений. Обычно они содержат местные аналоги популярных приложений и их модификации. Такие модификации (как этот иранский телеграм) содержат якобы новые, крутые фичи. В чем опасность таких приложений?


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


Приложения с правительственной слежкой являются вредоносными по определению. Однажды, я изучал вредоносное приложение (результат Virustotal, образец тут, пароль:infected), которое сканировало телефон на наличие телеграм-клонов:

Код:
"com.hanista.mobogram"
  "org.ir.talaeii"
  "ir.hotgram.mobile.android"
  "ir.avageram.com"
  "org.thunderdog.challegram"
  "ir.persianfox.messenger"
  "com.telegram.hame.mohamad"
  "com.luxturtelegram.black"
  "com.talla.tgr"
  "com.mehrdad.blacktelegram"


Данный список говорит о реальной актуальности и популярности таких приложений. Исследованние данного вредоноса, привело меня к статье, в которой рассказывается о клоне телеграма, которое распостранялось через маркет Cafebazaar, Иранским правительством.

Цитата оттуда:

Код:
This looks to be developed to the specifications of the Iranian 
government enabling them to track every bit and byte put forward by users of the app.




Сколько клонов телеграма вы видите?: (Источник)

https://forumfiles.ru/uploads/001a/a9/20/3/t720615.jpg

Обычным пользователям защититься от этого практически невозможно, так как другого выбора нет - официальные источники усиленно блокируются, а свои продвигаются. Исследователи и антивирусные компании со всего мира, после выявления зараженных приложений, оперативно сообщают об этом в Google и они удаляются из Play Market, что очевидно, не распостраняется на стороннии маркеты приложений. Так же на них не распостраняется политика Google, относительно допуска размещаемых приложений.

Некоторые из маркетов очень популярны, как например Tencent My App, с 260 млн. пользователей в месяц (Источник)

https://forumfiles.ru/uploads/001a/a9/20/3/t340926.jpg

Локальные приложения, используемые в рамках одного региона/страны, часто используют одни и те же SDK (набор библиотек) для рекламного трекинга, интеграции соц. сетей и т.д.. Если одна и та же библиотека используется в нескольких приложениях, то с большой вероятностью, некоторые из этих приложений, могут быть установлены у одного пользователя.

Такие библиотеки могут использовать возможности разных приложений, в которые они встроены, для кражи данных пользователя, в обход выданных разрешений. Например, одно приложение имеет доступ к получению IMEI, но не имеет доступа к интернету. Встроенная библиотека знает об этом и поэтому считывает IMEI и сохраняет его на SD карте в скрытой папке.


Та же библиотека встроенная в другое приложение, у которого есть доступ в интернет, но нету доступа к IMEI, считывает его со скрытой папки и отправляет на свой сервер. Данный способ использовался двумя китайскими компаниями Baidu и Salmonads. Подробнее об этом можете прочитать тут.





Фишинг:

Классический фишинг, является основным инструментом международных группировок и спецслужб разных стран. Как это часто бывает, берется обычное приложение мессенджер, в него добавляется функционал для слежения, а потом оно массово рассылается, с пометкой “Посмотри, какое крутое приложение для общения”. Доставка пользователям может осуществляется через соц. сети, спам Whatsapp/Telegram, встроенная реклама на сайтах и т.д..

https://forumfiles.ru/uploads/001a/a9/20/3/t28953.jpg

Источник, стр 19.

Фишинговые ссылки, в виде постов в фейсбуке:

https://forumfiles.ru/uploads/001a/a9/20/3/t547267.jpg

Источник, стр. 22

Код:
Всплывающее окно на одном известном сайте

https://forumfiles.ru/uploads/001a/a9/20/3/t318058.jpg
Источник


Телеграм боты/группы:



Существуют телеграм боты, для скачивания apk файлов. Вместо легитимного приложения, вам могут подсунуть вредоносное. Либо заразить запрашиваемое вами приложение “на лету”. Работает это так - вы вводите команду боту/в группу, что хотите скачать “Instagram”, скрипт на другой стороне скачивает его с Google Play, распаковывает, добавляет вредоносный код, запаковывает обратно и возвращает вам. Как это делается автоматически, я попытаюсь показать на примере в ближайшем будущем.


Сторонние сайты-посредники:

Код:
Пример: apkpure.com, apkmirror.com, apps.evozi.com/apk-downloader/

Существует огромное количество неофициальных сайтов, для скачивания андроид приложений. Некоторые из них предоставляют возможность загрузить свое приложение, которое может быть вредоносным. Пример загрузки на этом сайте:

https://forumfiles.ru/uploads/001a/a9/20/3/t712398.jpg

Один из примеров малвари, которая распостранялась таким образом(Источник):

https://forumfiles.ru/uploads/001a/a9/20/3/t691596.jpg

Примерную статистику, для неофициальных источников, можно найти в Android Security Report 2018 - 1.6 миллиардов заблокированных Google Play Protect установок не из Google Play. Всего установок было гораздо больше.


Некоторые даже пишут статьи, как это хорошо, пользоваться сторонними маркетами. Отдельный целый мир составляют сайты, которые распостраняют приложения без рекламы, взломанные платные приложения бесплатно, приложения с дополнительным функционалом:

https://forumfiles.ru/uploads/001a/a9/20/3/t202012.jpg
https://forumfiles.ru/uploads/001a/a9/20/3/t607545.jpg



Google play:

Официальный источник имеет защиту от подозрительных приложений, под названием Google Play Protect, которая использует машинное обучение для определения степени вредоносности.


Но такая защита не в состоянии точно понять, какое приложение вредоносное, а какое нет, так как для этого требуется полная ручная проверка. Чем отличается шпионское приложение, которое мониторит все ваши передвижения, от приложения для бега? Исследователи постоянно находят сотнями зараженные приложения, опубликованные в Google Play.

https://forumfiles.ru/uploads/001a/a9/20/3/t917188.jpg

Обычно вредоносное приложение называет себя google play services или схожим образом, и ставит похожую иконку. Это вводит в заблуждение пользователей. Почему гугл плей не проверяет иконку на схожесть со своими официальными приложениями - непонятно. Однажды в телеграме, я поставил аватарку с бумажным самолетиком и меня заблокировали. Еще один способ, используемый вредоносными приложениями, это замена букв (“L” на “I”, “g” на “q”), для создания, похожего на официальное приложение, имени:
https://forumfiles.ru/uploads/001a/a9/20/3/t761395.jpg
Источник.




Другие способы инфицирования:

https://forumfiles.ru/uploads/001a/a9/20/3/t430946.jpg

1. В сервисах ремонта телефонов
2. При пересечении границы
3. Подключение к незнакомому компьютеру по USB, с включенным режимом отладки.
4. Получение злоумышленником доступа к вашему гугл аккаунту, и установки приложения на телефон через Google Play.
5. Предустановленные приложения
6. По решению суда и без. Полицией или спецслужбами
7. Watering hole attack
8. Вы пришли в гости к другу, а его телевизор заразил ваш телефон

Код:
The particular version appearing on Fire TV devices installs itself as an app called 
“Test” with the package name “com.google.time.timer”. Once it infects an Android device, 
it begins to use the device’s resources to mine cryptocurrencies and attempts to spread itself to other Android devices on the same network.




Что такое Man-In-The-Disk?

Общественность обратила внимание на данный вектор атаки, послеэтой статьи. Советую, для начала, ее прочитать.

Код:
 Для тех кто прочитал, добавлю от себя - модификация общих файлов других приложений, 
так же может привести к эксплуатации уязвимостей в библиотеках, которые используют эти файлы.


Кто не прочитал, расскажу в кратце. Для начала, определимся с понятиями. В андроиде, память для приложений, разделяется на Internal Storage и External Storage. Internal storage - это внутренняя память приложения, доступная только ему и никому больше. Абсолютно каждому приложению на телефоне соответствует отдельный пользователь и отдельная папка с правами только для этого пользователя. Это отличный защитный механизм. External storage - основная память телефона, доступная всем приложениям (сюда же относится SD карта). Зачем она нужна? Возьмем приложение фоторедактор. После редактирования, вы должны сохранить фото, чтобы оно было доступно из галереи. Естественно, что если вы положите его в internal storage, то никому, кроме вашего приложения оно доступно не будет. Или бразуер, который скачивает все файлы в общую папку Downloads.


У каждого андроид приложения есть свой набор разрешений, которые оно запрашивает. Но с ними все не так хорошо. Среди них есть такие, на которые люди охотно закрывают глаза и не относятся серъезно. Среди них - READ_EXTERNAL_STORAGE. Оно позволяет приложению получать доступ к основной памяти телефона, а значит и ко всем данным других приложений. Никто ведь не удивиться, если приложение “блокнот” запросит данное разрешение. Ему может быть необходимо хранить там настройки и кэш. Манипуляция данными других приложений в external storage и есть атака Man-In-The-Disk. Другое, почти дефолтное, разрешение - INTERNET. Как видно из названия, оно позволяет приложению иметь доступ в сеть. Самое печальное, что пользователю не показывается специальное окно с просьбой дать это разрешение. Вы просто прописываете его в своем приложении и вам его дают.


Я скачал топ-15 казахстанских приложений и написал скрипт, который выводит статистику запрашиваемых разрешений.
Как видите, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE и INTERNET очень популярны.




Список протестированных приложений:

Код:
2-GIS, AliExpress, Chocofood, Chrome, InDriver, Instagram, 
Kaspi, Kolesa, Krisha, Telegram, VK, WhatsApp, Yandex Music, Yandex Taxi ,Zakon KZ

https://forumfiles.ru/uploads/001a/a9/20/3/t498813.jpg

Если вы пользуетесь Whatsapp, то все ваши сообщения хранятся в папке, доступной всем приложениям.

https://forumfiles.ru/uploads/001a/a9/20/3/t820362.jpg

Грубо говоря, любое приложение на вашем телефоне может их скачать и отправить себе на сервер. А далее расшифровать с помощью любого доступного скрипта в сети. А если поставить whatsapp на рутованый телефон, то все ваши переписки хранятся в открытом виде. Видимо whatsapp не считает нужным даже использовать шифрование, на таком “порченом” телефоне. Так же, в external storage, whatsapp хранит SSLSessionCache (File-based cache of established SSL sessions). В будущем, попытаюсь исследовать, как можно использовать эти файлы, полученные с чужого телефона.

https://forumfiles.ru/uploads/001a/a9/20/3/t394320.jpg

Телеграм и Инстаграм хранят в общей памяти закешированные изображения.
Практически все просматриваемые вами фото, и те которые вы пересылаете друг другу, доступны любому приложению у вас на телефоне.

https://forumfiles.ru/uploads/001a/a9/20/3/t659099.jpg