Разделы

ПО Софт Интернет Интернет-ПО Техника

Ошибка разработчиков Telegram позволяла запускать в Windows вредоносные программы

В начале апреля 2024 г. на платформе X и на хакерских форумах появились сообщения о вероятной уязвимости в Telegram в Windows-версии. В середине месяца разработчики Telegram устранили в десктопной версии мессенджера уязвимость.

Дыра в Telegram

В Telegram исправили уязвимость нулевого дня в настольном приложении для операционной системы (ОС) Windows. Злоумышленники могли использовать уязвимость, чтобы обойти предупреждения безопасности клиента Telegram для Windows и автоматически запустить Python-скрипты на компьютере пользователя.

Как сообщал ресурс BleepingComputer в начале апреля 2024 г., на хакерских форумах и соцсети X появилась информация о предполагаемой уязвимости удаленного выполнения кода в Windows-клиенте Telegram. Хотя уязвимость была описана как дефект «нулевого клика», к счастью, для ее распространения на целевых системах требуется взаимодействие с пользователем.

5 апреля 2024 г. в Telegram поспешили опровергнуть слухи, заявив, что не могут подтвердить существование такой уязвимости и что видео, скорее всего, является качественным видео фейком.

Telegram исправил уязвимость нулевого дня для клиента Windows

Однако вскоре после этого один из пользователей хакерского форума XSS поделился эксплойтом proof-of-concept (POC), объяснив, что уязвимость, показанная в видео, была вызвана опечаткой в исходном коде Telegram для Windows. Согласно POC, уязвимость можно было использовать для отправки Python-скриптов .pyzw. При нажатии эти файлы обходили предупреждения безопасности на Windows-клиенте.

Хакер с XSS доказал свою правоту тем, что объяснил, как это работает на практике. В Telegram встроены механизмы безопасности, которые предотвращают выполнение определенных типов файлов без предупреждения. Получив один из таких потенциально опасных файлов, пользователи получают предупреждение о безопасности, если пытаются открыть его прямо из клиента. Сообщение предупреждает пользователя о расширении файла, сообщает, что документ может нанести вред компьютеру, и просит подтвердить его запуск или открытие. К сожалению, нераспознанные типы файлов до середины апреля 2024 г. не вызывали этого предупреждения, а Windows-клиент запускал их автоматически, предоставляя ОС решать, какую программу использовать для запуска файлов.

Python лишь ключ

Уязвимость работает только на тех машинах, где установлен Python для Windows. Как только пользователь нажимает на скрипт .pyzw, 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, как правило, входит в обязанности разработчика ПО, который должен выпустить обновление, содержащее исправления обнаруженных ошибок. Однако именно от пользователя зависит своевременная установка обновлений.

Антон Денисенко