И мне очень нравилось то, что он достаточно безопасен — если настроен облачный пароль, то вероятность взлома становится минимальной.
Решил сделать это через js скрипт. Написал скрипт и сначала решил проверить, как проходит вход в телеграм на своем номере телефона. Попробовал несколько раз, успешно вошел в свой аккаунт.
Скрипт который должен был выкинуть мошенника
КОД для копирования
const { TelegramClient } = require("telegram");
const { StringSession } = require("telegram/sessions");
const input = require("input");
const { auth } = require('telegram/tl/api')
const apiId = 111;
const apiHash = "222";
const stringSession = new StringSession('');
(async () => {
const client = new TelegramClient(stringSession, apiId, apiHash, {
connectionRetries: 5,
});
await client.start({
phoneNumber: '+',
password: () => (''),
phoneCode: async () =>
await input.text("Please enter the code you received: "),
onError: (err) => console.log(err),
// forceSMS: true,
});
console.log(client.session.save()); // Save this string to avoid logging in again
})();
Решил уже проверить, как работает исключение всех устройств и.... И телеграм решил, что я подозрительный парень:
Я сначала испугался, что телегу угнали, но потом понял, что это политика защиты такая. Потом решили попытаться таки вернуть доступ к аккаунту знакомой, заходим и получаем ошибку "слишком много попыток — вернитесь через 4 часа".
НО! Мошенника из аккаунта не выкинули и теперь у него было 4 часа спокойного сидения в аккаунте знакомой, он даже ведет со мной, от ее имени, прекрасную беседу, кидает голосовые с ее голосом и даже копирует ее манеру общения...
В итоге получилось:
Удалось выяснить — мошенники угнали аккаунт человека через подставную ссылку. Причем доступ получили несколько дней назад и тихо ждали... Ждали потому, что у телеграма есть интересная политика: они не дают возможность разлогинить сторонние подключения к телеграм.
Идея как раз в том, чтобы мошенник, который получил доступ, не смог сразу выкинуть хозяина аккаунта из сети. Хозяин аккаунта видит уведомление "есть подозрительный вход" и, по идее, удаляет это соединение в настройках, но не все такие внимательные.
В итоге была интересная ситуация. Ждать до следующих попыток входа осталось еще 4600 секунд, и я планировал сделать активную атаку своим ботом, чтобы телеграм также среагировал на мои запросы от бота, как в случае с моим аккаунтом ранее: разлогином на всех устройствах и требованием войти заново через смс.
А до тех пор, даже если я получу доступ к аккаунту через официальное приложение Telegram, я не смогу выкинуть мошенника — он уже больше 2х дней в сети и теперь он типо "владелец". А вот он меня выкинуть сможет легко и просто и, конечно же, сделает это сразу же.
Но действовать нужно было быстро и решительно — через какое-то время он сможет менять другие настройки (номер телефона, почту восстановления) и тогда про аккаунт можно забыть.
С сервера телеги пришла ошибка SEND_CODE_UNAVAILABLE, которая говорит, что отправить смс код она не может. Я понял, что моему боту смс не придет, а вот родному Telegram придет... Но оттуда сразу же выкидывают после авторизации.
Тогда я поступил следующим образом:
Механика угона была следующая: хозяин аккаунта вошел в свой аккаунт в кастомное приложение Telegram внутри "сайта-голосования". В итоге мошенники получили сессию, через которую только ждали, когда можно будет сделать resetAuthorizations.
Как только стало можно это сделать, бот удаляет все авторизации и начинает атаку через существующую сессию. Попутно, разумеется, бот мошенников убивает все сессии и попытки получить доступ к аккаунту...
Насчет поддержки: я в поддержку телеги написал сразу, но поддержка там идет через волонтёров, которые мне так и не ответили за 5 часов. То есть, рассчитывать на поддержку явно не стоит....
Я вам крайне рекомендую регулярно заходить в активные сессии и проверять их на предмет наличие "странных сессий". Среди них может быть мошенник, который только и ждет когда сможет выкинуть вас из аккаунта и начать свои черные дела. Переходим в Настройки - Безопасность - Активные сессии
Так выглядит список сессий на моем телефоне
Если есть что-то подозрительное, то лучше его удалить и спать спокойно.
Это история, которая сработала именно в моем случае и не является инструкцией на все случаи жизни
Что произошло?
Недавно взломали телегу одному человеку (с простым облачным паролем), и он обратился ко мне. Я решил помочь вернуть доступ и попробовал вернуть доступ, сначала через вход в аккаунт. Я захожу в аккаунт человека и не успеваю дойти в интерфейс до сброса всех устройств — мошенник меня выкидывает.Решил сделать это через js скрипт. Написал скрипт и сначала решил проверить, как проходит вход в телеграм на своем номере телефона. Попробовал несколько раз, успешно вошел в свой аккаунт.
![Скрипт который должен был выкинуть мошенника Скрипт который должен был выкинуть мошенника](https://habrastorage.org/getpro/habr/upload_files/7ed/39e/51e/7ed39e51ec47cb4eca934d812f9e91d7.png)
Скрипт который должен был выкинуть мошенника
КОД для копирования
const { TelegramClient } = require("telegram");
const { StringSession } = require("telegram/sessions");
const input = require("input");
const { auth } = require('telegram/tl/api')
const apiId = 111;
const apiHash = "222";
const stringSession = new StringSession('');
(async () => {
const client = new TelegramClient(stringSession, apiId, apiHash, {
connectionRetries: 5,
});
await client.start({
phoneNumber: '+',
password: () => (''),
phoneCode: async () =>
await input.text("Please enter the code you received: "),
onError: (err) => console.log(err),
// forceSMS: true,
});
console.log(client.session.save()); // Save this string to avoid logging in again
})();
Решил уже проверить, как работает исключение всех устройств и.... И телеграм решил, что я подозрительный парень:
- выкинул меня вообще на всех устройствах из моего аккаунта,
- позволил войти в аккаунт только с телефона (чтобы получить смс)
- удалил все мои сообщения, которые я писал в личном чате людям за последние 2 дня.
![68583eb7b5de9d67a6cbe4ae2cba3d7e.png](https://habrastorage.org/getpro/habr/upload_files/685/83e/b7b/68583eb7b5de9d67a6cbe4ae2cba3d7e.png)
Я сначала испугался, что телегу угнали, но потом понял, что это политика защиты такая. Потом решили попытаться таки вернуть доступ к аккаунту знакомой, заходим и получаем ошибку "слишком много попыток — вернитесь через 4 часа".
НО! Мошенника из аккаунта не выкинули и теперь у него было 4 часа спокойного сидения в аккаунте знакомой, он даже ведет со мной, от ее имени, прекрасную беседу, кидает голосовые с ее голосом и даже копирует ее манеру общения...
В итоге получилось:
- мошенник спокойно сидит и мошенничает
- хозяин не может войти в свой аккаунт еще 3 с лишним часа
- я (немошенник), пытаясь легально через api получить доступ к своему аккаунту сразу записан в мошенники
- циферные облачные пароли легко взламываемые (как оказалось дело было не в сложности пароля — об этом дальше)
Подготовка к операции по возвращению
![6d8f8101385ed1fb81f6641a53e16923.png](https://habrastorage.org/getpro/habr/upload_files/6d8/f81/013/6d8f8101385ed1fb81f6641a53e16923.png)
Удалось выяснить — мошенники угнали аккаунт человека через подставную ссылку. Причем доступ получили несколько дней назад и тихо ждали... Ждали потому, что у телеграма есть интересная политика: они не дают возможность разлогинить сторонние подключения к телеграм.
Идея как раз в том, чтобы мошенник, который получил доступ, не смог сразу выкинуть хозяина аккаунта из сети. Хозяин аккаунта видит уведомление "есть подозрительный вход" и, по идее, удаляет это соединение в настройках, но не все такие внимательные.
В итоге была интересная ситуация. Ждать до следующих попыток входа осталось еще 4600 секунд, и я планировал сделать активную атаку своим ботом, чтобы телеграм также среагировал на мои запросы от бота, как в случае с моим аккаунтом ранее: разлогином на всех устройствах и требованием войти заново через смс.
А до тех пор, даже если я получу доступ к аккаунту через официальное приложение Telegram, я не смогу выкинуть мошенника — он уже больше 2х дней в сети и теперь он типо "владелец". А вот он меня выкинуть сможет легко и просто и, конечно же, сделает это сразу же.
Но действовать нужно было быстро и решительно — через какое-то время он сможет менять другие настройки (номер телефона, почту восстановления) и тогда про аккаунт можно забыть.
Операция возвращения
Операция завершилась успешно... почти. Сначала надо было ждать окончания времени блокировки. В это время:- Я поддерживал общение с мошенником, который кинул мне номер карты (передал этот номер в банк);
- Мошенник даже кинул нарисованную карту с инициалами хозяина (но в приложении карта была совсем на другое имя при попытке перевести деньги);
- Мошенник всё продолжал кидать голосовухи с голосом хозяина, чтобы вызвать у меня доверие.
С сервера телеги пришла ошибка SEND_CODE_UNAVAILABLE, которая говорит, что отправить смс код она не может. Я понял, что моему боту смс не придет, а вот родному Telegram придет... Но оттуда сразу же выкидывают после авторизации.
Тогда я поступил следующим образом:
- захожу с отдельного телефона в официальное приложение, запрашиваю код через почту, хозяин аккаунта говорит код.
- как только я ввожу облачный пароль, в эту же секунду, я запускаю бота, который требует код из Telegram.
- меня еще не успевают выкинуть из сессии на телефоне, и я успел увидеть код
- я сразу же ввожу этот код в бота, бот заходит и отправляет resetAuthorizations
- умирают все сессии, кроме бота
- дальше спокойно заходим в аккаунт через стандартную процедуру на нужных устройствах.
Как не попасть в подобную ситуацию?
Вывода никакого делать даже не хочется, но, пожалуйста, будьте внимательны с тем куда и как вы вводите свои данные. ОСОБЕННО, если вы вводите код авторизации, облачный пароль — его можно вводить только, если вы входите в официальное приложение!Механика угона была следующая: хозяин аккаунта вошел в свой аккаунт в кастомное приложение Telegram внутри "сайта-голосования". В итоге мошенники получили сессию, через которую только ждали, когда можно будет сделать resetAuthorizations.
Как только стало можно это сделать, бот удаляет все авторизации и начинает атаку через существующую сессию. Попутно, разумеется, бот мошенников убивает все сессии и попытки получить доступ к аккаунту...
Насчет поддержки: я в поддержку телеги написал сразу, но поддержка там идет через волонтёров, которые мне так и не ответили за 5 часов. То есть, рассчитывать на поддержку явно не стоит....
Я вам крайне рекомендую регулярно заходить в активные сессии и проверять их на предмет наличие "странных сессий". Среди них может быть мошенник, который только и ждет когда сможет выкинуть вас из аккаунта и начать свои черные дела. Переходим в Настройки - Безопасность - Активные сессии
![Так выглядит список сессий на моем телефоне Так выглядит список сессий на моем телефоне](https://habrastorage.org/getpro/habr/upload_files/4d9/0c7/88e/4d90c788e25320a78bb8ad11d3370fbb.png)
Так выглядит список сессий на моем телефоне
Если есть что-то подозрительное, то лучше его удалить и спать спокойно.
Для просмотра ссылки необходимо нажать
Вход или Регистрация