Уязвимость в Telegram позволяет отслеживать сообщения ботов
С помощью уязвимости исследователи безопасности отследили активность вредоносного ПО GoodSender.
Исследователи безопасности компании Forcepoint обнаружили уязвимость в Telegram Bot API, позволившую им перехватить трафик между вредоносным ПО и его оператором. Речь идет о вредоносном ПО GoodSender, представляющем собой простую программу на .NET. GoodSender использует сеть Telegram для передачи своим операторам информации, собранной со скомпрометированных хостов, тем самым предоставляя им возможность удаленно подключаться к взломанным системам.
В ходе анализа вредоносного ПО исследователи Forcepoint обнаружили, что Telegram Bot API использует слабые механизмы защиты для передаваемых сообщений. По их словам, сообщения между пользователями шифруются с помощью разработанного Telegram алгоритма MTProto внутри TLS-трафика, но сообщения Bot API защищены только с помощью уровня HTTPS.
Как пояснили исследователи, используемых ботом токенов API и ID чата достаточно для осуществления атаки «человек посередине». Токены API есть в программах, использующих Telegram Bot API, и в сообщениях, а ID чата указывается в отправляемых Bot API запросах.
«Что еще хуже, любой злоумышленник, способный получить немного ключевой информации, передаваемой в каждом сообщении, может не только следить за пересылаемыми сообщениями, но и восстановить всю историю сообщений атакуемого бота», — сообщили исследователи.
Получить всю историю сообщений можно с помощью метода forwardMessage(), способного отправлять любому пользователю сообщения, к которым есть доступ у бота. ID сообщений идут по порядку, начиная с нуля. Это позволяет выявить все сообщения в группе и отправить их любому пользователю.
Благодаря вышеописанной уязвимости исследователям удалось перенаправить все коммуникации GoodSender на свой профиль в Telegram и изучить его работу. Как оказалось, автор вредоноса не разделил среду разработки и тестирования от операционной среды, что позволило специалистам отследить активность GoodSender до самых ранних этапов.
Исследователи затрудняются с точностью назвать метод распространения GoodSender, но отмечают, что вредонос использует бесплатный сканер для выявления уязвимости EternalBlue. По данным телеметрии, в настоящее время вредонос присутствует как минимум на 120 зараженных системах, большая часть которых находится в США и Вьетнаме.