Привет. Cегодня мы разберем одну из вредоносных техник.
О чем речь?
В своей работе мне нужно изучать ВПО для извлечения вредоносных техник — их изучения и написания детектирующих правил. Если убрать излишний пафос, то реверсишь малвару, понимаешь ее поведение — пишешь правило, чтобы такое поведение обнаруживать.
Хоть стиллеры встречались мне не особо часто, но об этой технике я слышал. Теперь хочу рассказать ее вам. Многие из вас используют Telegram. Даже мой блог в тг (подписывайтесь, кстати, если вы еще этого не сделали негодяи). Эту технику Telegram не считает уязвимостью или багом. А все, что не баг — это фича.

Значит сегодня будем обсуждать крутую фичу телеги. Погнали^3
Суть “фичи”
Что можно сделать с телегой? Правильно — угнать)) Этим и займемся. Думаю, что многие из вас видели вкладку с активными сессиями. Если же нет, то рекомендую глянуть. Может у вас уже 101 одно устройство подключено:
- Desktop-версия:
Настройки→Конфиденциальность→Активные сеансы; - Веб-версия:
Настройки→Устройства; - Мобильная версия:
Настройки→Устройства;
Так вот, в этом списке отображаются все устройства, на которых совершен вход в вашу учетную запись. И так сложилось, что это сессия хранится локально на вашем устройсте. На счет мобилок я точно не знаю, но возможно когда-нибудь дойдут руки посмотреть, а на десктопной версии ваша сессия лежит по одному из следующих путей:
- win:
C:\Users\<Имя пользователя>\AppData\Roaming\TelegramDesktop\tdata - linux:
/home/<Имя пользователя>/.local/share/TelegramDesktop/tdata - mac OS:
HDD/Users/<Имя пользователя>/Library/Application Support/Telegram Desktop/tdataилиHDD/Users/<Имя пользователя>/Library/GroupContainers/6N38VWS5BX.ru.keepcoder.Telegram/appstore(stable);
Вот так это выглядит у меня:

И в чем же “ФИЧА”? Если эту папку скопировать и подложить на другом устройстве, то вы сможете войти в этот аккаунт на втором устройстве без SMS и регистрации. Даже код с Госуслуг не пригодится.
Не верите?! Пфф. Подержите мой кофе.

Рубрика “Эксперимент”
Давайте проделаем это на моих виртуалках с Linux. Ну нужно же мне как-то оправдать наличие домашнего гипервизора на серваке)
Стоит обозначить, что реализовывать стиллер я не буду. Ибо моя цель — это демонстрация фичи. Так что забываем свои влажные фантазии о стиллере на питоне и идем разбираться.
В качестве атакуемой тачки я буду использовать Fedora. В качестве атакующей подойдет kali. Мы же тру хацкеры. Иначе и быть не могло. А вот и скрин в шакальном качестве:

Найду папку tdata, в которой должна быть моя сессия:

Я сжал ее с помощью 7z и перекинул на вторую виртуалку с kali. На ней тоже стоит тг клиент:

Перекину файлики.
Может кто не знает, но между линуксовыми виртуалками файлики можно перекидывать через
scp, если включенssh. Для этого пишемscp <path from> <path to>. В качестве одного из путей может быть удаленная тачка в следующем формате<user>@<ip>:<path to file>. Пользуйтесь:3
Файл я перекинул. Для неверующих приложу их хеши на разных тачках:

Подложим сессию в телегу на kali:

Полезно делать бекапы, если вы подменяете какие-то файлы. А то что вы будете делать, если все пойдет не по плану?)
Момент истины. Открываем тг:

При этом количество сессий все еще 2:

Цитирую великих и ужасных:
Я на сцене себя шлёпнула по попе, шлёпнула по попе Sorry, но твой бойчик — больше не твой бойчик —
Миа БойкаВлад БумагаМейби Бейби

Для безопасности в Telegram предусмотрено ограничение возможностей новых сессий. Им запрещено в течение 24 часов завершать ранее открытые сессии. Но так как мы полность угнали действующую сессию, то с большей вероятностью это нам не помешает.

А как нам жить дальше?
Если вы каким-то образом запустили стиллер у себя на пк, то вы можете только убить все сессии тг и сменить пароль. В миллионый раз услышите рекомендацию использовать двухфакторную аутентификацию и сложный пароль. Так же не стоить хранить важную информацию у себя в тг: документы, пароли. Многие слышали про юзер ботов. Уверен, что можно сделать такого, что выкачает всю инфу из ваших чатов. Так же стоит периодически проверять активные сессии в своем тг.
И у данного способа есть некоторые ограничения. У меня не получилось подложить папку сессии с mac OS на Linux, так как у них разный формат. Но не так уж сложно поднять нужную виртуалку, чтобы утащить данные из тг. И мне кажется, что можно написать конвертер, который сможет привести сессию к нужному формату. Сходу я такого не нашел. Клиенты у телеги опенсорсные, так что вероятно можно их изучить и написать конвертер самостоятельно. Но это уже совсем другая история…