8просмотров
10.1%от подписчиков
29 марта 2026 г.
Score: 9
MAX без оболочки: Что мы нашли в его APK
https://www.news2.ru/story/722099/ 9 сен 2025. Недавно появившейся мессенджер "Макс", наделал много шума. Он является достаточно спорным приложением и мне пришла в голову мысль изучить приложение и посмотреть, а настолько ли опасно оно, как о нем говорят. Как можно познакомиться с приложением ближе, чем через его код? Тем более, что для исследования android-приложений нам не понадобятся сложные инструменты на подобии IDA или Ghidra, как это бывает с анализом исполняемых файлов. Для анализа я использовал стандартный, для подобной задачи, набор инструментов: JADX, APKtool, VSCode ну и конечно же Android Studio, куда без него в анализе APK файлов. Но, прежде чем лезть под капот "Макса" я установил его на эмулятор устройства и посмотрел его функционал и требуемые им разрешения. После того, как я ввел номер телефона и подтвердил его, "Макс" попросил доступ к моим контактам (Рисунок 1). Достаточно стандартное поведение для мессенджера, позволяет находить контакты из списка, зарегистрированных в "Максе" После этого, "Макс" снова запросил доступ к контактам (рисунок 2). Заполнив сведения о контакте, а именно имя пользователя, я решил выполнить звонок, и мессенджер сразу запросил разрешение для записи аудио (рисунок 3). Пощупал остальной функционал, были запрошены доступ к камере, демонстрации и записи экрана (демонстрация экрана в звонке есть, а вот функционала записи я не увидел). На первый взгляд, "Макс" представляет из себя обычный мессенджер со стандартными для такого приложения набором функций и разрешений. Но всё ли так на самом деле. Давайте разбираться, пора посмотреть под капот этого приложения. Итак, я "разобрал" приложение и приступил к его анализу. Как исследователей, нас в первую очередь интересует файл AndroidManifest. AndroidManifest.xml - один из самых важных и интересных для исследователя файлов. Он содержит много информации, по которой можно составить представление о приложении, и даже сформировать поверхность атаки. В архиве он представлен в закодированном виде. Итак, что же интересного я нашел? А нашлось достаточно много. Ниже я приведу список опасных разрешений, с кодом из файла, и в некоторых местах буду вставлять свои комментарии. · REQUEST_INSTALL_PACKAGES - может устанавливать другие приложения · SYSTEM_ALERT_WINDOW - может показывать окна поверх других приложений RECEIVE_BOOT_COMPLETED - автозапуск при старте системы DISABLE_KEYGUARD - отключение блокировки экрана USE_FULL_SCREEN_INTENT - полноэкранные уведомления Доступ к личным данным: READ_CONTACTS, WRITE_CONTACTS - полный доступ к контактам ACCESS_FINE_LOCATION - точная геолокация. Постоянное отслеживание точного местоположения пользователя в реальном времени. CAMERA - доступ к камере RECORD_AUDIO - запись аудио READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE - доступ к файловой системе READ_PHONE_NUMBERS - доступ к телефонным номерам GET_ACCOUNTS, AUTHENTICATE_ACCOUNTS, MANAGE_ACCOUNTS, USE_CREDENTIALS - полный доступ к аккаунтам. Может получить список всех аккаунтов (Google, соцсети, почта) на устройстве и манипулировать ими. USE_FINGERPRINT - доступ к биометрии Сетевые разрешения: INTERNET - полный доступ в интернет ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE - мониторинг сети Bluetooth разрешения - полный контроль Bluetooth CHANGE_WIFI_STATE - изменение состояния Wi-Fi. Могут мешать работе сети, перехватывать трафик. Подозрительные сервисы Сервис для звонков с доступом к камере и микрофону Сервис медиа-проекции (может записывать экран) Опасные компоненты LinkInterceptorActivity с возможностью перехвата deeplinks: android:exported="true" (Критическая уязвимость). Эта активность может быть запущена извне - другим приложением на устройстве или даже из браузера по специальной ссылке. android:excludeFromRecents="true" (Тактика скрытности). После того как пользователь завершит работу с этой активностью, она не появится в списке последних приложений (который вызывается кнопкой "Н