25 млн Android-устройств оказались заражены агентом Смитом

25 млн Android-устройств оказались заражены агентом Смитом

25 млн Android-устройств оказались заражены агентом Смитом

Исследователи зафиксировали новую вредоносную кампанию, атакующую устройства под управлением Android. По оценкам экспертов, около 25 миллионов Android-устройств уже заражены вредоносной программой, получившей имя «Agent Smith».

В ходе этих атак легитимные приложения подменяются злонамеренными копиями, которые отображают пользователю рекламные объявления. Саму программу Agent Smith пострадавшие скачивали из стороннего магазина приложений.

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

Попав на устройство, приложение-приманка расшифровывается и устанавливает в систему «агента Смита».

Вредоносная программа пытается скрыть свое присутствие в системе, для этого в ход идет маскировка под утилиту от Google — например, Google Updater или «com.google.vending». Также приложение скрывает свою иконку от пользователя.

Следующим шагом вредонос проверяет, установлены ли на устройстве приложения из списка. Часть этого списка жестко закодирована в приложении, а другую часть зловред получает от командного сервера C&C.

Если «агент Смит» находит приложение из списка, он извлекает основной APK и добавляет рекламный модуль. После этого легитимная версия приложения подменяется рекламной. Пользователю при этом никаких уведомлений не выводится, то есть он не в курсе происходящего.

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

Жестко закодированный список приложений выглядит следующим образом:

  • com.whatsapp
  • com.lenovo.anyshare.gps
  • com.mxtech.videoplayer.ad
  • com.jio.jioplay.tv
  • com.jio.media.jiobeats
  • com.jiochat.jiochatapp
  • com.jio.join
  • com.good.gamecollection
  • com.opera.mini.native
  • in.startv.hotstar
  • com.meitu.beautyplusme
  • com.domobile.applock
  • com.touchtype.swiftkey
  • com.flipkart.android
  • cn.xender
  • com.eterno
  • com.truecaller

Подробный отчет о деятельности «агента Смита» исследователи компании Check Point опубликовали в блоге.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

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

RSS: Новости на портале Anti-Malware.ru