Эксперты компании ESET рассказали об уязвимости нулевого дня в Telegram для Android, получившей название EvilVideo. Проблема позволяла злоумышленникам отправлять пользователям вредоносные APK-файлы, замаскированные под видеофайлы.
По данным исследователей, хакер под ником Ancryno начал продавать эксплоит для этой 0-day проблемы еще 6 июня 2024 года. В своем сообщении на хак-форуме XSS он писал, что баг присутствует в Telegram для Android версии 10.14.4 и старше.
Хотя исходно злоумышленник утверждал, что эксплоит относится к типу one-click (то есть срабатывает за один клик и требует минимального взаимодействия с человеком), на самом деле для выполнения вредоносной полезной нагрузки на устройстве жертвы требовался ряд шагов и определенные настройки, что заметно снижало риск успешной атаки.
Специалисты ESET смогли обнаружить проблему после того, как в публичном Telegram-канале была опубликована PoC-демонстрация уязвимости, что позволило им получить вредоносную полезную нагрузку.
Согласно отчету компании, эксплоит действительно работает только в Telegram версии 10.14.4 и старше. Аналитик ESET Лукаш Стефанко (Lukas Stefanko) уведомил о проблеме разработчиков Telegram 26 июня и еще раз 4 июля 2024 года. Вскоре после этого представители Telegram ответили, что изучают сообщение исследователей, а затем исправили уязвимость в версии 10.14.5, вышедшей 11 июля 2024 года.
Хотя неизвестно, использовалась ли эта проблема в реальных атаках, ESET обнаружила по адресу infinityhackscharan.ddns[.]net управляющий сервер, который использовался упомянутой выше полезной нагрузкой. Кроме того, по информации издания Bleeping Computer, на VirusTotal удалось найти два вредоносных APK-файла (1, 2), использующих этот управляющий сервер. Обнаруженные приложения выдавали себя за Avast Antivirus или xHamster Premium Mod.
Уязвимость EvilVideo позволяла злоумышленникам создавать специальные файлы APK, которые при отправке другим пользователям Telegram выглядели как встроенные видео.
Исследователи полагают, что эксплоит использовал API Telegram для создания сообщения на программном уровне, которое выглядело как 30-секундное видео. Так как по умолчанию Telegram для Android автоматически загружает медиафайлы, пользователи получали полезную нагрузку на свое устройство, сразу после того как открывали беседу. Если же у пользователя была отключена автоматическая загрузка, ему нужно было кликнуть на превью, чтобы инициировать загрузку файла.
Когда пользователь пытался воспроизвести фальшивое видео, Telegram сообщал, что не может открыть ролик и предлагал использовать внешний плеер, что могло побудить жертву нажать на кнопку «Открыть» и выполнить полезную нагрузку.
Впрочем, на следующем этапе требовался дополнительный шаг, серьезно снижавший эффективность таких атак: жертва должна была вручную разрешить установку приложений из неизвестных источников в настройках, чтобы вредоносный APK смог установиться на устройство.
Специалисты ESET отмечают, что протестировали эксплоит в веб-клиенте Telegram и Telegram для десктопов и убедились, что там он не работает, поскольку полезная нагрузка воспринимается как видеофайл в формате MP4.
В исправленной версии Telegram для Android (10.14.5) APK-файлы тоже отображаются корректно, и выдать их за видеоролики больше не получится.
Обновление: К нам обратился представитель пресс-службы Telegram с просьбой опубликовать заявление о том, что в компании не считают описанный баг уязвимостью, поскольку пользователь должен сам разрешить установку «плеера». Подробнее о том, как работает этот баг, и о нестыковках в заявлениях Telegram читай в статье «Убойное видео. Как я написал эксплоит для бага в Telegram и что было дальше».