Хотели обход блокировок, получили шпионаж. Популярный клиент Telegram Nekogram тайно сливал данные пользователей

Доверяй, но декомпилируй.


kss0zp5ojdq49ovte7ly9xu1cihl7mpu.jpg

Неофициальный Telegram-клиент Nekogram тайно сливал номера телефонов своих пользователей — и делал это так аккуратно, что подозрение пало на него лишь после тщательного анализа готовых APK-пакетов.


phtjt8bqumx0hiomhnw7xyev1gqjdska.png


Исследователи обнаружили в файле Extra.java обфусцированный код, который скрытно отправлял номера телефонов вместе с идентификаторами пользователей боту «@nekonotificationbot». Примечательно, что вредоносное изменение присутствовало только в сборках, распространявшихся через Google Play, GitHub и официальный Telegram-канал проекта. Версия из каталога F-Droid и исходный код на GitHub оставались чистыми — судя по всему, намеренно, чтобы усыпить бдительность тех, кто решил бы проверить приложение самостоятельно.


vhwnfn1qf1i84vyid1aonllvuzc3d5sm.png


По предварительным оценкам, скрытая отправка данных началась с версии Nekogram 11.2.3 — поначалу затрагивала только пользователей с китайскими номерами, а затем распространилась на всех. Помимо бота-получателя, приложение обращалось к OSINT-ботам «@tgdb_search_bot» и «@usinfobot» для поиска пользователей по идентификатору, хотя номера телефонов им не передавались. Для маскировки передачи данных авторы использовали inline-запросы — менее заметный способ взаимодействия с ботами.

Исследователи подготовили Java-хук и бот, позволяющие любому желающему самостоятельно убедиться в том, что именно его экземпляр приложения отправляет номер телефона.

Исследователи предполагают, что собранная база могла готовиться к продаже создателям OSINT-сервисов. После раскрытия проблемы в баг-трекере проекта автор Nekogram признал факт отправки номеров своему боту, однако так и не объяснил цели подобной активности. По его словам, полученные данные нигде не сохранялись и никому не передавались.


w9i32fnzpw33h65uzyvxwfbozmg1v6pd.png