🐌 Вышел убойный разбор свежей уязвимости в Telegram Desktop... аккаунт можно угнать через точку с запятой. Когда вы кликаете по ссылке tg:// в браузере, винда запускает второй процесс Telegram.exe. Тот видит, что клиент уже запущен, и передает ссылку работающему экземпляру через локальный сокет. Разрабы ТГ не стали заморачиваться со сложной сериализацией и написали протокол из трех моментов... ключевое слово, аргумент и точка с запятой в конце (например, OPEN:tg://x?a=1;). Экранировать сам передаваемый URL не стали или забыли 💩. Стоило запихнуть в тело ссылки символ ;, как парсер работающего клиента резал строку на две независимые команды ⚰️ Вторая половина пазла - забытый легаси-хлам. Внутри кода ТГ Desktop годами жил недокументированный внутренний протокол interpret:, который когда-то написали для скрипта автоматической публикации релизов. Он принимал текстовый файл с инструкциями (file: <путь> и channel: <ID чата>), читал указанный файл с диска и отправлял его в чат без диалогового окна и без какой-либо проверки прав 😗 Хакерская цепочка эксплуатировала связку с изяществом лома. Сначала жертву добавляют в левую группу и скидывают туда текстовый файлик с путем к файлу сессии. Десктопный клиент по умолчанию скачивает файлы до 8 МБ в downloads. Затем в чат кидают линк на сайт, сервер злоумышленника отдает 302й редирект на tg:// со сбросом через относительный путь ../../../Downloads/..., срабатывает инъекция... и ТГ сам загружает файлы авторизации на сервер атакующего ⚰️ Самая вкуснятина почему это приводило к мгновенному захвату акка. ТГ шифрует файлы сессии в папке tdata, но ключ шифрования генерится из локального код-пароля. А поскольку 99% пользователей локальный пароль в настройках десктопа не ставят, ключ шифрования создавался из… пустой строки и открытой соли. Хацкер забирал файлы key_datas и сессионный ключ, расшифровывал MTProto-авторизацию, подкидывал в чистый клиент и получал готовую сессию. Облачная двухфакторка и SMS-коды здесь не спасали в принципе, потому что копировалась уже валидная, залогиненная сессия. Разрабы ТГ исправили дыру в версии 7.2.9, выпилив протокол interpret и наконец-то научив IPC экранировать байты. Причем сделали это в лучших традициях - максимально тихо, скромно написав в чейнджлоге "исправление ошибок рендеринга" и обозвав коммит удалением устаревшего хелпера 🤡 Типичный 🥸 Сисадмин
Обнаружена опасная уязвимость в Telegram Desktop, позволяющая хакерам получать доступ к файлам на компьютере
Похожие посты
- 🗿 533
- 👍 112
- 👀 82
- ❤ 41
- 😁 22
- 👏 5
- 😭 467
- 🤣 93
- 👍 54
- ❤ 30
- 👎 27
- 🤬 426
- 😁 102
- 💯 89
- 🤔 37
- 👍 19
- 🔥 216
- 😁 37
- 👀 33
- 😢 13
- 😱 243
- ❤ 53
- 🫡 20
- 🗿 12
- 😁 4
- 🤩 1
- 😁 164
- ❤ 44
- 🤡 16
- 🔥 15
- 👍 10
- 😁 133
- 🤡 44
- 😢 17
- ❤ 16
- 🗿 12
- 👾 6