Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Недавно мне на глаза попался пост примерно такого содержания: «В Telegram выявлена новая уязвимость, связанная с загрузкой видеороликов». К посту прилагалась демонстрация: пользователь получает видео, при тапе по которому Telegram пытается установить стороннее приложение. При этом проблема не привлекла особенного внимания. Я решил разобраться, работает ли способ, и написать к нему эксплоит.
Для начала детально разберем, что происходит на видео, которое демонстрирует работу бага.
Вначале мы видим командную строку, где атакующий вводит параметры бота и отправки: токен бота, ID чата, путь до файла APK для загрузки и путь к картинке (preview). Также предлагается ввести сообщение и скрыть его как спойлер. Все ключи и ID на видео замазаны.
После ввода параметров атакующий видит подтверждение удачной отправки. Атакуемый же получает сообщение, которое выглядит как обычный видеофайл.
При нажатии на него появляется сообщение, что видеофайл не может быть воспроизведен и необходим дополнительный плеер. Если пользователь дает согласие, происходит инсталляция самого присланного файла при помощи стандартного инструмента для установки APK в Android.
Далее пользователь видит стандартные запросы, которые приложения делают при установке: предоставить права на доступ к контактам, микрофону и так далее. Сами запросы зависят от модели телефона, версии Android и того, что захочет заполучить разработчик.
Ну а в конце в видео показан «отстук» в панель управления трояном и возможность доступа к приватным данным и удаленного управления смартфоном. Также по видео мы можем косвенно подтвердить, что автор из Турции, так как в панели фигурирует эта страна, а IP рядом указан локальный.
Итак, перед нами one-tap exploit (или one-click exploit) — эксплоит одним кликом или тапом. Это тип уязвимости, который позволяет злоумышленнику получить контроль над устройством или аккаунтом жертвы, если та сделает всего одно нажатие. Эти эксплоиты менее опасны, чем, скажем, RCE, поскольку требуют хоть и минимального, но все же действия со стороны пользователя: обычно достаточно просто кликнуть на вредоносную ссылку. Хороший общеизвестный пример такой уязвимости — XSS.
Тем временем я крепко задумался, как же работает найденный баг и как его можно воспроизвести.
Я пересмотрел видео и попытался собрать максимум информации. Может быть, важны какие‑то детали или вдруг попадутся рабочие куски кода? Внимательно наблюдаем за процессом подготовки: указывается картинка для видео, указывается сам файл, который должен быть установлен, ID бота и TGID жертвы.
Из всего перечисленного следует, что достаточно передать любой файл, — главное, чтобы клиент Telegram признал, что это видео. «Значит, проблема кроется в отправке файлов!» — решил я и погрузился в изучение API Telegram, а точнее — той части, где мы отправляем файлы. Особое внимание, конечно, уделяем видео.
Источник: xakep.ru