March 4, 2019

Уязвимость в Telegram позволяет обойти пароль local code

Алгоритм атаки следующий

(имеем root; зашифрованный гаджет; пароль > 30 знаков на стороне жертвы; устройство отпечатка пальца не существует «то есть неважно»).

  • Украсть «внешние данные Telegram» (см.пред.статью).
  • Настроить разблокировку своего Android-девайса отпечатком пальца на стороне исследователя (позиция атакующего).
  • Установить с GP Telegram и объединить с «внешними данными».
  • При открытии Telegram на устройстве исследователя и при запросе ввода 31-значного пароля (для разблокировки local code) – приложить свой палец. Telegram разблокируется, станут доступны все секретные чаты/переписка и облако исследователю.

Интересно, что такой атаке подвержен только Telegram (из 4-х протестируемых приложений). Попробовал провести подобные атаки на keepassdrod; Сбербанк-онлайн; Яндекс деньги – эти android приложения требовали пароль и на отпечаток никак не реагировали.

Сюжет на видео:

  • Создан секретный чат между Android на Virtualbox, где нет устройства «отпечатка пальца» и Android 6. Между «террористами», идет общение.
  • На Android Virtualbox задаю local code 31-значный пароль — блокировка приложения Telegram.
  • Делаю Бэкап учетки Telegram- Virtualbox (не обязательно копировать все данные см.пред. статью).
  • Копирую данные на ЯД.
  • Забираю c ЯД Бэкап на Android 6.
  • Устанавливаю Telegram на Android 6 из GP.
  • Подсовываю часть «внешних данных» из Бэкапа Android 6 на установленный Android 6.
  • Запускаю Telegram на Android 6, получаю запрос на ввод пароля/отпечаток. Прикладываю отпечаток пальца, и telegram разблокировался, доступна вся переписка СЧ и облако.
  • Перезапускаю Telegram, ввожу 31-значный local code, и Telegram также разблокирован.

Подводя итог по этой части статьи.

Telegram подвержен атаке хищения ключей, но самое странное в мессенджере – «интегрированный отпечаток пальца в приложение». Яндекс деньги; Сбербанк-онлайн; keepassdroid – не подвержен подобной атаке. У всех перечисленных выше приложений имеется функция разблокировка приложения по отпечатку, но в Telegram она принудительно интегрирована и срабатывает, когда ее используют в коварных целях, в других приложениях функция «отпечатка» не срабатывает – защита от мошенничества).

Мессенджер Telegram – массовый мессенджер, защиту нужно разрабатывать и для домохозяек и для всех. Лицо компании не прав, когда заявляет, что все беды от того, что скомпрометировано все на свете, кроме мессенджера Telegram.

ps/ не имеет отношения к Telegram

Так же мне удалось обойти шифрование на Android девайсе Leagoo M8 и достать все данные, в том числе и данные Telegram для доступа к СЧ (атакой JTR, либо отпечатком).

На ресурсе 4pda имеется стоковая прошивка данного гаджета и десятки кастомных (свободных) прошивок. Установил TWRP. Отформатировал устройство Android Leagoo M8, накатил прошивку Resurrection Remix 6 (одна из лучших на мой взгляд). Зашел в настройки – безопасность – зашифровать данные. Зашифровал. До загрузки гаджета стал требоваться пароль (в TWRP без пароля не монтировался главный раздел). Прошил secro.img от стоковой прошивки и пароль (все шифрование) благополучно исчез. В TWRP появилась возможность монтировать раздел без ввода пароля, /data/data/… стал доступен.

Возможно данной проблеме (проблеме шифрования устройства) подвержены и другие гаджеты, но у меня их не так много, чтобы полноценно поэкспериментировать с разными моделями девайсов.