What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Хочешь прослушать Telegram? Не проблема, evilginx в помощь

Mr.Di

Light Weight
Депозит
$0
Данный пост является кратким интро к статье на конкурс, который сейчас идет.

Не так давно я задумался, как получить действительно анонимную учетную запись в телеграм. Можно взять какой нибудь сервис активаций, арендовать непонятно где и как номер для приема первой смс. Потом поставить дополнительный пароль на вход и все отлично. Отлично до того момента, если вдруг что нибудь не случится с запущенной копией и сессия активная отлетит (за все время использования такое было 1 или 2 раза. мало, но было). Я решил каким нибудь образом сохранить еще где нибудь активную сессию. Вспомнил про веб версию, подумал что скорее всего, так или куки или чтото еще. Куки можно сохранить сместив дату истечения на +99 лет, если локалсторадж, то еще проще. Начнем копать.

Как оказалось, сессию телеграм сохраняет в виде записей локалстораджа, даже не куки. Если сохраняет, значит можно извлечь. Сказано - сделано!
Расчехляем комбайн под названием evilginx2, создаем фишлет (см файл в аттаче). Получаем перехват данных. Дальше больше. Оказывается, что можно вставить данные стораджа в другом браузере и получить активную сессию холдера!! Что делать дальше - думайте сами, читать сообщения, отправлять сообщения. Единственное но, сесси периодически не очень стабильна. Намутив небольшую панель для приема отправки данных можно хукнув функции приема/отправки сообщений в JS с помозью тогоже evilginx. Делается это довольно просто, поскольку код ну никак не обфусцирован.

В качестве заключения, что ждать в статье, по крайне мере попытаемся. Хук функций приема/отправки, простая панель для приема/отправки сообщений от/к холдеру учетной записи. CORS, CSP политик на веб версии тг нет, фингерпринта учеток нет. MITM работает на ура!

PS: репорт был отправлен сразу, через месяц пришел ответ: "не баг, а фича. Пользователя, который доверился фишинговому сайту или чьё устройство заражено, защитить уже в любом случае невозможно." Ну ок, нашим проще легче
Вложения
telegram_phislet.yaml.zip
 
Дело в том, что исходный код веб-клиента телеграма находится в открытом доступе и его можно легко запустить на своём домене, даже evilginx2 для этого не потребуется, поэтому команде телеграма исправлять что-то нет смысла. Единственное, что они могут сделать в этой ситуации — сделать CORS-защиту и разрешить только один домен — официальный, тогда другие домены перестанут работать, а средствами evilginx2 это всё равно легко получится обойти.
 
GitHub - zhukov/webogram: Telegram web application, GPL v3
Telegram web application, GPL v3. Contribute to zhukov/webogram development by creating an account on GitHub.
github.com
 
Top