Привет, с вами снова отдел реагирования и цифровой криминалистики Angara MTDR. Наш эксперт Александр Гантимуров, руководитель направления обратной разработки Angara MTDR, продолжает исследовать новые версии вредоносных APK-файлов, которые распространяются в социальных сетях и мессенджерах под видом срочной продажи.

Новогодние праздники разработчики Android Mamont провели с пользой — улучшили защиту и усложнили жизнь исследователям. К примеру, новые модификации выявляют песочницы и факт исследования, а удалённые серверы злоумышленников теперь сложнее обнаружить и ещё сложнее заблокировать взаимодействие с ними. Подробно пройдёмся по нововведениям и посмотрим, что у них получилось.

Оглавление

Этой статьёй продолжаем серию публикаций по исследованию вредоносных APK.

Предыдущие публикации
  1. «Evil»-бонус от банка, или как пройти опрос и потерять все деньги — об исследовании «МирСБП».

  2. Шпион в твоём кармане — об исследовании BTMOB RAT.   

  3. Продам всё, что на фото. Недорого — об исследовании предыдущей версии.

Для тех, кому интересно, почему именно Mamont и откуда взялось это название, мы подготовили краткую историческую справку.

Если технические детали не так важны, то можно сразу пройти к советам, как не заражаться и как удалить ВПО с устройства.

Первое появление и возникновение названия

Вредоносные APK семейства Mamont представляют собой приложения для Android, которые используются для кражи финансовых средств и распространяются по России и странам СНГ. У таких APK разные разработчики и нюансы работы, но их объединяет способ доставки и схема работы. Первые упоминания появились в 2019 годy, и с лёгкой руки тогда ещё Group-IB с 2021 года стали называться «Мамонт» из-за схемы распространения и целевой аудитории. В дальнейшем сами злоумышленники подхватили термин Mamont/«Мамонт», и иногда его упоминание можно встретить в отладочных сообщениях вредоносных приложений.

В последние 5 лет большинство вредоносных APK, которые массово рассылаются в РФ, относят к семейству «Мамонт», если в самом приложении нет никаких других названий для идентификации. Отдельно стоят зловредные приложения, которые тоже распространяются по схеме MaaS: CraxsRat, BTMOB RAT, deVixor, Meet Cellik и другие.

Схема распространения

Злоумышленники маскируют APK под фотоархивы («Фото 24шт.apk»), видео в Telegram («Это ты на видео?») или приложения доставки и банков. Распространение происходит через WhatsApp, Telegram и фишинговые сайты с применением социальной инженерии для установки.

После установки Mamont запрашивает разрешения на SMS по умолчанию, разрешение на доступ к Accessibility Service и разрешение на установку других приложений. Приложение скрывается с рабочего экрана устройства и перехватывает SMS и уведомления (включая OTP-коды) с отправкой их на Telegram-бот или удалённый сервер. Дополнительно оно передаёт файлы, скриншоты и аудиозаписи с устройства, а также блокирует удаление и отзыв разрешений.

Такого рода приложения распространяются на коммерческой основе по той же схеме Malware-as-a-Service по закрытым каналам Telegram и хакерским форумам. От злоумышленника требуется подобрать иконку приложения, подготовить картинку и иногда развернуть свой сервер, чтобы сгенерировать новое вредоносное приложение. Дальше — только распространить и убедить пользователя установить приложение.

В 2025 году приложения семейства «Мамонт» заняли первые позиции в рейтинге по заражениям мобильных устройств, по данным «Мегафона», несмотря на примитивную схему распространения. Это достигается за счёт массовости рассылок — всегда найдётся пользователь, который установит и предоставит необходимые разрешения.

Краткое содержание технического исследования

  • Установка происходит в два этапа, при этом вредоносный код спрятан в зашифрованном APK внутри установщика.

  • Приложения содержат примитивную защиту от распаковки.

  • Расшифровка происходит в нативной библиотеке в месте с реквизитами отправки информации об установке.

  • Реквизиты сервера для взаимодействия приложение теперь получает во время работы через промежуточное доменное имя по DoH.

  • В процессе работы приложение проверяет устройство для защиты от песочниц и средств исследования.

Технический анализ установщика

Образец «Изображения 27шт.apk» непосредственно связан с тем, который описали в предыдущей статье.

Для него используются такие же способ распространения и предлог и даже та же картинка для усыпления бдительности пользователя.

Пример новогодней рассылки вируса, злоумышленники использовали различные названия файлов - «Изображения 27шт.apk», «снимки-17 шт.apk» и т.д.

Картинка по ссылке в приложении
Картинка по ссылке в приложении

По данным Kaspersky KTIP, образец в первый раз обнаружен 2 января, а 6 января приложение было загружено уже на VirusTotal. На момент исследования приложение нормально выявляется антивирусами, но просто как Android.Banker.

На устройстве приложение называется «Изображения 27шт» и устанавливается как пакет com.m511a4fb6b.core0566134c.

Иконка при установке
Иконка при установке

Как показало исследование, злоумышленники изменили схему установки и активации вредоносного кода.

Разрешения

Приложение теперь устанавливается в два этапа. На первом этапе запрашиваются только минимально необходимые разрешения.

Разрешение

Описание

REQUEST_INSTALL_PACKAGES

Установка приложений

FOREGROUND_SERVICE

Возможность фоновой работы

По сравнению с предыдущим образцом подозрительных разрешений существенно меньше: нет запроса на обработку SMS и доступ к сервису Accessibility.

Защита APK

Приложения для Android распространяются в виде файлов с расширением .apk. APK-файлы представляют собой архивы ZIP, в которых хранятся:

  • байткод приложения;

  • манифест с описанием разрешений и инструкцией, как запускать;

  • ресурсы (изображения, строки);

  • цифровая подпись;

  • библиотеки для каждой платформы, которые поддерживаются приложением;

  • дополнительные файлы, необходимые для работы приложения.

Стандартный APK распаковывается при помощи архиватора, который поддерживает ZIP, но не в нашем случае. При попытке распаковки архиватор будет требовать пароль для архива, хотя на устройство приложение нормально установится и будет работать.

Злоумышленник модифицировал записи в архиве и проставил для каждой пометку, что файл внутри зашифрован и требует пароль, хотя файлы внутри архива только сжаты без шифрования. Установщик Android эти флаги проигнорирует, а архиватор — нет.

Пример записи в архиве
Пример записи в архиве

Но для специализированных утилит для исследования Android, эта уловка не представляет проблемы.

Проверка устройства

Сразу после запуска приложение проверяет устройство по списку критериев:

  1. Установленные пакеты и приложения. Проверяется количество приложений и установка технических приложений для разработки.

  2. Наличие прав суперпользователя (root).

  3. Наличие средства динамического исследования (Frida).

  4. Время работы устройства после последней перезагрузки.

  5. Наличие подключения по ADB (Android Debug Bridge).

  6. Факт работы на программной эмуляции устройства (qemu).

В нативной библиотеке проверяется наличие эмулятора, прав суперпользователя и средств динамического исследования (checkNativeRoot, checkNativeEmulator, checkNativeFrida), остальные проверки — в коде приложения на Kotlin. Так как целевая аудитория — простые пользователи, то такие вещи говорят о факте исследования приложения.

Приведём часть кода, которая используется для проверки устройства. Комментарии на русском языке — от разработчика.

if (z2 && z6 && size <= 7 && jElapsedRealtime > 30) {
   arrayList2.add("Ленивая ферма: ADB включен + Мало приложений (" + size + ") на прогретом устройстве");     
   z2 = false;
 }
 if (z2 && !z6 && size <= 7 && jElapsedRealtime >= 30) {
   arrayList2.add("Пустой телефон: Критически мало приложений (" + size + ") при аптайме > 30 мин");
   z2 = false;
 }
 if (z2 && zCheckNativeRoot) {
   if (size <= 12  jElapsedRealtime <= 15) {
     arrayList2.add("Root обнаружен: Недостаточно приложений или аптайма для доверия");
     z2 = false;
   } else {
     sb2.append("⚠️ Примечание: Разрешенный Root (Продвинутый юзер)\n");
   }
 }
 if (z2 && z6) {
   if (size > 12) {
     sb2.append("⚠️ Примечание: Разрешенный ADB (Много приложений)\n");
   } else if (size <= 7  jElapsedRealtime <= 60) {
     arrayList2.add("ADB обнаружен: Недостаточно приложений или аптайма для доверия");
     z2 = false;
   } else {
     sb2.append("⚠️ Примечание: Разрешенный ADB (Разработчик)\n");
   }
 }
 if (z2) {
   sb2.append("\n✅ ВЕРДИКТ: ДОСТУП РАЗРЕШЕН\n");
 } else {
   sb2.append("\n⛔️ ВЕРДИКТ: ЗАБЛОКИРОВАНО\nПричины:\n");
   Iterator it = arrayList2.iterator();
   pg.l(it, "iterator(...)");
   while (it.hasNext()) {
     Object next = it.next();
     pg.l(next, "next(...)");
     sb2.append("• " + ((String) next) + "\n");
   }
 }

Проверка наличия суперпользователя в нативной библиотеке

bool Java_com_example_MetaMask_pigeon_checkNativeRoot()
 {
  char haystack[92]; // [xsp+Ch] [xbp-64h] BYREF
  __int64 v2; // [xsp+68h] [xbp-8h]
 
  v2 = (_QWORD )(_ReadStatusReg(TPIDR_EL0) + 40);
  return !access("/system/app/Superuser.apk", 0)
     ||!access("/sbin/su", 0)
     ||!access("/system/bin/su", 0)
     ||!access("/system/xbin/su", 0)
     ||!access("/data/local/xbin/su", 0)
     ||!access("/data/local/bin/su", 0)
     ||!access("/system/sd/xbin/su", 0)
     ||!access("/system/bin/failsafe/su", 0)
     ||!access("/data/local/su", 0)
     || (int)__system_property_get("ro.build.tags", haystack) >= 1 && strstr(haystack, "test-keys");
 }

Отправка сообщений в Telegram

Если проверка не пройдена, то приложение отправит сообщение в Telegram с информацией об устройстве.

Пример сообщения в Телеграм-бот
Пример сообщения в Телеграм-бот

Токен и идентификатор чата Telegram хранятся в нативной библиотеке в методах getSrvConfigA и getSrvConfigB.

Установка «цыпленка»

После проверки приложение:

  • извлекает и расшифровывает ещё один APK;

  • устанавливает его на устройство;

  • отображает страницу с изображением, которое приведено в начале статьи.

Приложение 2 этапа хранится в зашифрованном виде среди ресурсов (assets).

Для расшифровки используется метод decryptAndSaveChiken из нативной библиотеки. APK временно сохраняется в кеше приложения под именем chiken.apk, того самого «цыплёнка».

// ...
 File file = new File(mainActivity2.getCacheDir(), "chiken.apk");
 AssetManager assets = mainActivity2.getAssets();
 pg.l(assets, "getAssets(...)");
 String absolutePath = file.getAbsolutePath();
 pg.l(absolutePath, "getAbsolutePath(...)");
 boolean zDecryptAndSaveChiken = mainActivity2.decryptAndSaveChiken(assets, "metadata.dat", absolutePath);
 // ...

Дальше переходим к основной части исследования — chiken.apk.

«Цыпленок» (сhiken)

Так разработчики назвали эту стадию работы ВПО — chiken (а не chiCken) или «чикен». Это подтверждается сообщениями об ошибке и названием переменных.

Приложение на устройстве называется «Изображения 27шт» и устанавливается как пакет com.m511a4fb6b.core0566134c. Иконка приложения точно такая же, как у его установщика.

При помощи приложения злоумышленник может выполнять следующие действия:

  • показ произвольной веб-страницы пользователю;

  • запись видео, снимок с экрана устройства;

  • запись видео, снимок с любой из камер телефона;

  • запись аудио с микрофона;

  • загрузка файлов на устройство;

  • отправка файлов на удалённый сервер;

  • отправка SMS, USSD, рассылка SMS по списку адресов;

  • получение SMS и сбор ранее доставленных на устройство;

  • сбор журнала звонков;

  • сбор контактов на устройстве, добавление контакта;

  • сбор информации об устройстве и системе Android;

  • отслеживание «положения» и состояния устройства (в кармане, на столе экраном вниз и т.п.);

По команде злоумышленника приложение может полностью отключить вредоносную активность и очистить данные, которые загрузило ранее.

Разрешения

Приложение запрашивает уже гораздо больше разрешений на работу:

Разрешение

Описание

SEND_SMS

Отправка SMS

READ_PHONE_STATE

Чтение состояние телефона (в том числе IMEI)

READ_SMS

Чтение SMS

RECEIVE_MMS

Получение MMS

RECEIVE_SMS

Получение SMS

READ_CONTACTS

Чтение контактов

RECORD_AUDIO

Запись звука с микрофона

KILL_BACKGROUND_PROCESSES

Завершение других процессов

FOREGROUND_SERVICE_MICROPHONE

Работа с микрофоном в фоне

ANSWER_PHONE_CALLS

Поднятие трубки вместо пользователя

FOREGROUND_SERVICE_CAMERA

Работа с камерой в фоне

Проверка устройства

Последовательность проверок повторяет ту, которую мы видели в установщике. Здесь все проверки осуществляются без нативной библиотеки — только на Kotlin.

Приложение отправит сообщение через Telegram-бота, если устройство не пройдёт проверку. Токен и номер чата для отправки хранятся в нативной библиотеке.

Пример сообщения в Телеграм-бот
Пример сообщения в Телеграм-бот

Проверка приложений

Перед получением команд образец проверяет список приложений:

  • ru.sberbankmobile — «СберБанк»;

  • com.idamob.tinkoff.android — «T-Банк»;

  • ru.rostel — приложение «Госуслуги»;

  • ru.nspk.mirpay — приложение НСПК «MirPay»;

  • ru.yandex.searchplugin — «Яндекс Старт»;

  • ru.oneme.app — мессенджер MAX;

  • ru.ozon.app.android — приложение Ozon;

  • com.vkontakte.android — VK;

  • com.wildberries.ru — Wildberries;

  • ru.yandex.yandexmaps — «Яндекс Карты».

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

Сервер для команд

Приложение получает команды и отправляет результаты в формате JSON на удалённый сервер (C2). Для взаимодействия используется websocket и библиотека OkHttp.

Реквизиты удалённого сервера не хранятся на устройстве — приложение получает доменное имя при помощи специального DNS-запроса к промежуточному домену.

Имя промежуточного домена driver-store.online хранится в зашифрованном виде в коде приложения вместе со списком URL, через которые отправляются запросы DNS-over-HTTPs:

Приложение пытается обратиться последовательно к каждому из них с DNS-запросом типа TXT для доменного имени driver-store.online. В поле data будет храниться искомое доменное имя сервера для команд в зашифрованном виде.

Например, для https://dns.alidns.com/resolve?name=driver-store.online&type=TXT:

{
  "Status": 0,
  "TC": false,
  "RD": true,
  "RA": true,
  "AD": false,
  "CD": false,
  "Question": {
   "name": "driver-store.online.",
   "type": 16
  },
  "Answer": [
   {
    "name": "driver-store.online.",
    "TTL": 227,
    "type": 16,
    "data": "\"NQ4LEAQdHB4KD0sDBhkLWFA=\""
   }
  ]
 }


После расшифровки получаем soedenenka.online.

Для шифрования используется Base64 и XOR с ключом Fantasypanelhub651241.

В таком подходе для получения C2 учитывается сразу несколько факторов для обеспечения устойчивости канала получения команд и отправки результатов:

  • Доменное имя C2 легко поменять, поэтому его нужно постоянно отслеживать, чтобы блокировать.

  • DNS-запросы идут в зашифрованном виде к легитимным DNS-серверам — их не заблокируешь просто так.

  • Доменное имя driver-store.online управляется через Cloudflare и находится вне российской юрисдикции — его сложно заблокировать и разделегировать.

  • Доменное имя soedenenka.online тоже прячется за Cloudflare — IP-адрес управляющего сервера скрыт, его трудно заблокировать.

  • Для усложнения анализа трафика к каждому запросу добавляется поле random — оно меняет длину запроса и лучше маскирует его среди легитимного трафика.

Примечательно, что ни driver-store.online, ни soedenenka.online нигде не выявлялись как вредоносные на момент исследования.

Индикаторы компрометации

Значение

Описание

hXXps[:]//ibb[.]co/MxnMtnGV

URL изображения для привлечения пользователей

66d7064c66f59c5678fa27c677abb887

MD5 установщика

driver-store[.]online;

Доменное имя для DNS-запросов

soedenenka[.]online.

Доменное имя для получения команд

Изображения 27шт.apk

Название файла установщика

Изображения 27шт

Название приложения на устройстве

com.p54815dae4.appcf87c041

Название пакета приложения установщика

com.m511a4fb6b.core0566134c

Название пакета вредоносной нагрузки

Рекомендации по защите

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

В современных версиях Android гораздо сложнее установить приложение просто так, из неизвестного источника — система выдаёт сразу несколько предупреждений, но упорный пользователь всегда сможет это сделать. Особенно если злоумышленник подробно обоснует, зачем это надо, объяснит, как это сделать, и будет торопить пользователя.

Поэтому просвещать пользователей о такого рода угрозах — очень верная стратегия, но которую надо проводить постоянно. В комментариях были хорошие варианты для старшего поколения от пользователя @Viktor-T

Базовые рекомендации по защите всегда примерно одинаковы:

  1. Отключить автозагрузку файлов в Telegram, осторожно открывать ссылки и проверять формат файлов перед открытием.

  2. Не устанавливать приложения из неизвестных источников.

  3. Установить на устройство антивирусное ПО и периодически делать полную проверку.

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

  1. Для проверки файлов можно воспользоваться Telegram-ботом «Доктор Веб» или приложением от VirusTotal, но они имеют ограничение на размер проверяемого файла.

  2. Две SIM-карты и устройства. SIM-карту для получения одноразовых кодов от банков и «Госуслуг» использовать на отдельном устройстве, где нет лишних приложений, — оно может быть даже кнопочным. В таком случае потерять деньги существенно сложнее, но большинству пользователей неудобно иметь два телефона. Кроме того, надо не забывать периодически пополнять и использовать вторую SIM-карту, чтобы её не заблокировали.

  3. Родительский контроль на устройстве. В этом случае установить просто так новое приложение будет значительно сложнее без проблем для обновлений.

  4. Для установки приложений использовать специального пользователя, а у основного пользователя такую возможность ограничить.

  5. Там где это возможно, использовать TOTP. Инструкция для подключения TOTP на портале Госуслуг.

Инструкция по удалению

Здесь рассмотрим базовый алгоритм удаления, применимый для всех подобных угроз. Хоть этот образец не противодействует удалению и отзыву разрешений, нам на исследование попадали и более упорные.

  1. Включаем режим полёта — при этом отключаются интернет, SMS и звонки.

  2. Перезагружаем телефон в безопасный режим (Safe mode). В зависимости от модели устройства последовательность действий может меняться, но обычно нажимаем кнопку включения, ждём появления логотипа и зажимаем клавишу уменьшения звука. В этом режиме все сторонние приложения будут отключены.

  3. Проверяем приложения для администрирования устройства. Настройки — Защита и конфиденциальность — Дополнительные параметры — Администратор устройства. В зависимости от прошивки путь может быть другой, лучше воспользоваться поиском по слову «Администратор» или по сочетанию Device admin.

  4. Проверяем разрешения на доступ к Accessibility Service (специальные возможности). Настройки > Специальные возможности > Установленные службы. Или ищем в настройках по словам Accessibility, «специальные возможности». В норме там не должно быть никаких приложений, особенно неизвестных.

  5. Проверяем разрешения на установку приложений. Настройки — Приложения — Специальный доступ — Установка неизвестных приложений. Обычно там выданы разрешения только Google Play и RuStore.

  6. Проверяем остальные разрешения — доступ к SMS, камере и местоположению. Настройки — Защита и конфиденциальность — Настройки конфиденциальности — Управление разрешениями.

  7. Удаляем подозрительные приложения, которые мы нашли на предыдущих этапах. Отзыв разрешений может провоцировать приложение постоянно выдавать уведомление, что его надо включить и «донастроить», поэтому сразу удаляем источник проблем.

  8. Перезагружаемся.

Если у вас есть дополнения к рекомендациям, то рады будем увидеть их в комментариях к статье.

Выводы

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

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

Данный образец сложнее исследовать и блокировать, чем прошлые. Тем не менее, ему ещё далеко до BTMOB, о котором мы писали ранее.

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

To be continued...

UPD. Добавили рекомендацию по TOTP

Комментарии (19)


  1. emeritus
    05.02.2026 06:44

    Для любителей YARA — правило для выявления таких образцов

    Yara
    rule malware_android_Mamont_Obnal {
    meta:
        description = "[ MALW ] Detected Android Mamont by strings"
        author = "Gantimurov/Angara MTDR"
        date = "2026-02-02"
        tlp = "WHITE"
        hash = "66d7064c66f59c5678fa27c677abb887"
    
    strings:
    
            $s1 = "checkNativeRoot" ascii wide
            $s2 = "checkNativeEmulator" ascii wide
            $s3 = "checkNativeFrida" ascii wide
            $s4 = "/system/sd/xbin/su" ascii wide
    
            $c1 = "getSrvConfigA" ascii wide
            $c2 = "getSrvConfigB" ascii wide
            $c3 = "getSrvEndpoint" ascii wide
    
            $f1 = "assets/metadata_dog.dat" ascii wide
            $f2 = "lib/arm64-v8a/libmetamask_loader.so5" ascii wide
    
    condition:
        uint32be(0) == 0x504B0304 and  // Android APK
            any of ($f*) or (3 of ($s*) and any of ($c*))
    }


  1. ITDiver77
    05.02.2026 06:44

    Angara security, рекомендуя для Госуслуг использовать отдельный телефон для получения одноразовых смс, Вы упускаете ключевой момент, что в целом коды по смс не есть безопасны. Есть TOTP, госуслуги в него умеют.


    1. emeritus
      05.02.2026 06:44

      TOTP — отличная рекомендация для Госуслуг, спасибо. Только не все банки поддерживают TOTP
      Вообще использовать отдельный телефон для всего критически важного — банки, госуслуги, один из возможных способов защиты. Со своими плюсами и недостатками.
      Такой способ рекомендовал Кевин Митник в своей книге «Искусство быть невидимым».


      1. chnav
        05.02.2026 06:44

        У меня настоящая "двухфакторная авторизация" получилась естественным образом без всяких Митников. Основная симка МТС жива с начала нулевых - ещё та, красная, полноразмерная, только 2G. Так и повелось, что она стоит в старом кнопочном телефоне, на неё изначально были завязаны все чувствительные сервисы. А смартфоные номера светятся для всяких маркетплейсов и прочих регистраций. Со временем осознал всю прелесть разнесения симок в "разные корзины".


      1. RulenBagdasis
        05.02.2026 06:44

        TOTP — отличная рекомендация для Госуслуг, спасибо. Только не все банки поддерживают TOTP

        Так надо чтобы регулятор выдал волшебный пендель.

        Вообще использовать отдельный телефон для всего критически важного — банки, госуслуги, один из возможных способов защиты

        Для этого не нужен телефон, нужен аппаратный 2FA ключ с USB+NFC:

        • он дешевле телефона

        • он меньше телефона, легко вешается на ключи

        • их можно иметь несколько, резервный хранить в сейфе

        • его невозможно передать мошенникам по телефону, в отличие от кода, который пришёл на ваш второй телефон или даже был сгенерирован TOTP

        • этим ключом нельзя сбросить пароль, как кодом из смс, т.е. это реальный второй фактор, а не профанация

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


        1. emeritus
          05.02.2026 06:44

          Так надо чтобы регулятор выдал волшебный пендель.

          И мы будем авторизовываться через мессенджер MAX)

          А если серьезно, то токен — очень хороший вариант, но не везде применимый.


          1. RulenBagdasis
            05.02.2026 06:44

            И мы будем авторизовываться через мессенджер MAX)

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

            А если серьезно, то токен — очень хороший вариант, но не везде применимый.

            Согласен, серебряной пули не существует. Но он должен быть доступен опционально по желанию клиента. Можно, например, предложить zero liability тем клиентам банков, которые позаботились о безопасности и решили использовать токен.


        1. emeritus
          05.02.2026 06:44

          Посоветуете модель аппаратного 2FA ключа с USB+NFC, который стоит не дорого и можно без проблем купить?


          1. RulenBagdasis
            05.02.2026 06:44

            Я YubiKey использую уже года 2, нареканий нет.


            1. Wesha
              05.02.2026 06:44

              Я YubiKey использую уже года 2, нареканий нет.

              Будут!


              1. RulenBagdasis
                05.02.2026 06:44

                Спасибо за предупреждение, товарищ! Я подготовлюсь.


                1. Wesha
                  05.02.2026 06:44

                  Предупреждён — значит вооружён!


      1. AlexanderS
        05.02.2026 06:44

        Только не все банки поддерживают TOTP

        "Не все" это буквально раз, два и... всё. Год назад в топ-10 ни одного банка не было с поддержкой TOTP. Уверен что и сейчас нет. А вот дизайн они каждый год готовы менять с удовольствием.


        1. emeritus
          05.02.2026 06:44

          Так становится еще хуже. Если раньше для входа через веб требовался логин+пароль+код из смс, то теперь очень часто только логин+код. А логин совпадает с номером телефона) И всё.


          1. Popadanec
            05.02.2026 06:44

            Ну так по запросам трудящихся. Они не могут запоминать эти логины и пароли или постоянно их забывают. Предел для большинства запомнить четырёхзначный пин код.

            Плюс это же надо вводить многа букав и цифр. Сложно и долго. У родителей к примеру оба смартфона со сканером отпечатка пальцев, но я не смог их заставить перейти на него на постоянку. Это же надо периодически пароль вводить, чтобы не забыть его(и всё равно регулярно забывать, а бумажку терять). В результате телефон никак не защищён при краже. А т.к. пароля нет, NFC не настроить. Что в некотором роде даже хорошо, т.к. не настроить оплату по нему.


  1. veg2022
    05.02.2026 06:44

    Мне вот что интересно: Google выпустил обновления для PackageManager (вероятно, еще в 2023 году), чтобы проверять этот флаг и отказываться устанавливать APK с "зашифрованными" файлами без пароля. Инструменты анализа тоже были обновлены: Apktool (начиная с каких-то версий) игнорирует этот флаг. Google Play Protect и другие сканеры теперь учитывают эту уловку.

    Как этот APK мог отработать в 2026-м году? Можете уточнить, general purpose bit flag меняют в local file header или central directory?


    1. emeritus
      05.02.2026 06:44

      Вообще "защита" тут конечно громко сказано. Наоборот, любой сканер должен обратить внимание на такую странность. Но имеем, что имеем, и я обратил на это внимание.

      На Android 14 спокойно установился. Но дальше не прошёл проверку самим вредоносом - ему не понравился набор ПО.

      Интересно с какой версии Android добавили такую проверку. Есть ссылка на такую новость?

      Всё равно надо учесть, что по статистике последние версии Android (15 и 16) не более чем 40% пользователей.



    1. emeritus
      05.02.2026 06:44

      Можете уточнить, general purpose bit flag меняют в local file header или central directory?

      В record каждого файла и в dirEntry.



    1. JediPhilosopher
      05.02.2026 06:44

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