Ошибка разработчиков Telegram позволяла запускать в Windows вредоносные программы
В начале апреля 2024 г. на платформе X и на хакерских форумах появились сообщения о вероятной уязвимости в Telegram в Windows-версии. В середине месяца разработчики Telegram устранили в десктопной версии мессенджера уязвимость.
Дыра в Telegram
В Telegram исправили уязвимость нулевого дня в настольном приложении для операционной системы (ОС) Windows. Злоумышленники могли использовать уязвимость, чтобы обойти предупреждения безопасности клиента Telegram для Windows и автоматически запустить Python-скрипты на компьютере пользователя.
Как сообщал ресурс BleepingComputer в начале апреля 2024 г., на хакерских форумах и соцсети X появилась информация о предполагаемой уязвимости удаленного выполнения кода в Windows-клиенте Telegram. Хотя уязвимость была описана как дефект «нулевого клика», к счастью, для ее распространения на целевых системах требуется взаимодействие с пользователем.
5 апреля 2024 г. в Telegram поспешили опровергнуть слухи, заявив, что не могут подтвердить существование такой уязвимости и что видео, скорее всего, является качественным видео фейком.
Однако вскоре после этого один из пользователей хакерского форума XSS поделился эксплойтом proof-of-concept (POC), объяснив, что уязвимость, показанная в видео, была вызвана опечаткой в исходном коде Telegram для Windows. Согласно POC, уязвимость можно было использовать для отправки Python-скриптов .pyzw. При нажатии эти файлы обходили предупреждения безопасности на Windows-клиенте.
Хакер с XSS доказал свою правоту тем, что объяснил, как это работает на практике. В Telegram встроены механизмы безопасности, которые предотвращают выполнение определенных типов файлов без предупреждения. Получив один из таких потенциально опасных файлов, пользователи получают предупреждение о безопасности, если пытаются открыть его прямо из клиента. Сообщение предупреждает пользователя о расширении файла, сообщает, что документ может нанести вред компьютеру, и просит подтвердить его запуск или открытие. К сожалению, нераспознанные типы файлов до середины апреля 2024 г. не вызывали этого предупреждения, а Windows-клиент запускал их автоматически, предоставляя ОС решать, какую программу использовать для запуска файлов.
Python лишь ключ
Хотя Telegram правильно распознал формат .pyzw как потенциально опасный и добавил его в список рискованных расширений исполняемых файлов, опечатка подпортила механизм безопасности для Windows-клиентов. Ведь разработчики Telegram указали «pywz» вместо «pyzw» из-за чего мессенджер не выводил уведомления при запуске Python-скриптов.
Простыми словами, хакеры, которые отправляли злонамеренно созданные скрипты .pyzw Python ничего не подозревающим пользователям Telegram для Windows, могли удаленно выполнять произвольный код на их машинах. Правда, это могло произойти только в том случае, если жертва действительно открывала мошеннический документ.
Журналисты BleepingComputer при анализе данных, сами нашли способ еще больше запутать атаку на жертв, замаскировав вредоносный скрипт под видео, находящееся в общем доступе, вместе с миниатюрой. Эта хитрая стратегия могла легко обмануть пользователей, заставив их взаимодействовать с мошенническим Python-скриптом и невольно запустить его на своих компьютерах. В BleepingComputer протестировали этот эксплойт вместе с исследователем кибербезопасности AabyssZG. Используя старую версию Telegram, журналисты получили от исследователя файл «video.pywz», замаскированный под видео в формате mp4.
Исправление проблемы
В Telegram стало известно об уязвимости 10 апреля 2024 г., и они исправили ее, исправив неверное написание расширения в исходном коде клиента для Windows. Однако исправление пока не показывает предупреждение для других опасных расширений. На 18 апреля 2024 г. разработчики мессенджера устранили ошибку в коде файла data_document_resolver.cpp. Теперь Windows-клиент спрашивает, какую программу использовать для открытия скрипта в интерпретаторе Python.
Угроза нулевого дня
Когда разработчик программного обеспечения (ПО) выпускает решение с брешью, о которой еще не известно ни ему самому, ни производителям антивирусных решений, ее называют уязвимостью или мишенью для атаки нулевого дня.
«Нулевой день» или 0-day обозначает время с момента обнаружения уязвимости разработчиками ПО. Существует два типа угроз нулевого дня. Уязвимость нулевого дня представляет собой дефект в безопасности софта, который может быть воспроизведен в браузере или приложении. Атака нулевого дня представляет собой попытку установить на компьютер жертвы вредоносное ПО посредством эксплуатации существующей в программе уязвимости.
На 2024 г. невозможно распознать ни саму уязвимость, ни атаку нулевого дня — после обнаружения пользователями и разработчиками это уже не угрозы нулевого дня. Именно поэтому атаки нулевого дня являются на апрель 2024 г. одними из самых сложных типов угроз с наиболее разрушительными последствиями, однако и против них можно бороться. Например, некоторые антивирусы способны обнаруживать атаки нулевого дня с помощью встроенных поведенческих анализаторов, способных определить действия вредоносного характера.
Устранение уязвимости 0-day, как правило, входит в обязанности разработчика ПО, который должен выпустить обновление, содержащее исправления обнаруженных ошибок. Однако именно от пользователя зависит своевременная установка обновлений.