Pull to refresh

История про угон Telegram аккаунта (отчасти успешная)

Level of difficulty Medium
Reading time 5 min
Views 51K

И мне очень нравилось то, что он достаточно безопасен — если настроен облачный пароль, то вероятность взлома становится минимальной.

Это история, которая сработала именно в моем случае и не является инструкцией на все случаи жизни

ВАЖНО! МОЙ СПОСОБ РАБОТАТЬ ПЕРЕСТАЛ! ПОДРОБНЕЕ ОБ ЭТОМ В МОЕМ ТЕЛЕГРАМ КАНАЛЕ - https://t.me/gmoreva/355

Решил текстом поделиться историей взлома Telegram моего клиента и выводами на эту тему. Данный контент есть также в видеоформате.

Что произошло?

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

Решил сделать это через js скрипт. Написал скрипт и сначала решил проверить, как проходит вход в телеграм на своем номере телефона. Попробовал несколько раз, успешно вошел в свой аккаунт.

Скрипт который должен был выкинуть мошенника
Скрипт который должен был выкинуть мошенника

UPD: В личку в телеграм мне уже написало несколько людей, у которых прямо сейчас взломали аккаунт. И я понял что я тот еще садист кидать код в виде скрина. Под спойлером код в виде текста

КОД для копирования
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 дня.

Вся личка стала такой, что мне пишут, а моих ответов нет.

Я сначала испугался, что телегу угнали, но потом понял, что это политика защиты такая. Потом решили попытаться таки вернуть доступ к аккаунту знакомой, заходим и получаем ошибку "слишком много попыток — вернитесь через 4 часа".

НО! Мошенника из аккаунта не выкинули и теперь у него было 4 часа спокойного сидения в аккаунте знакомой, он даже ведет со мной, от ее имени, прекрасную беседу, кидает голосовые с ее голосом и даже копирует ее манеру общения...

В итоге получилось:

  • мошенник спокойно сидит и мошенничает

  • хозяин не может войти в свой аккаунт еще 3 с лишним часа

  • я (немошенник), пытаясь легально через api получить доступ к своему аккаунту сразу записан в мошенники

  • циферные облачные пароли легко взламываемые (как оказалось дело было не в сложности пароля — об этом дальше)

Подготовка к операции по возвращению

Удалось выяснить — мошенники угнали аккаунт человека через подставную ссылку. Причем доступ получили несколько дней назад и тихо ждали... Ждали потому, что у телеграма есть интересная политика: они не дают возможность разлогинить сторонние подключения к телеграм.

Идея как раз в том, чтобы мошенник, который получил доступ, не смог сразу выкинуть хозяина аккаунта из сети. Хозяин аккаунта видит уведомление "есть подозрительный вход" и, по идее, удаляет это соединение в настройках, но не все такие внимательные.

В итоге была интересная ситуация. Ждать до следующих попыток входа осталось еще 4600 секунд, и я планировал сделать активную атаку своим ботом, чтобы телеграм также среагировал на мои запросы от бота, как в случае с моим аккаунтом ранее: разлогином на всех устройствах и требованием войти заново через смс.

А до тех пор, даже если я получу доступ к аккаунту через официальное приложение Telegram, я не смогу выкинуть мошенника — он уже больше 2х дней в сети и теперь он типо "владелец". А вот он меня выкинуть сможет легко и просто и, конечно же, сделает это сразу же.

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

Операция возвращения

Операция завершилась успешно... почти. Сначала надо было ждать окончания времени блокировки. В это время:

  • Я поддерживал общение с мошенником, который кинул мне номер карты (передал этот номер в банк);

  • Мошенник даже кинул нарисованную карту с инициалами хозяина (но в приложении карта была совсем на другое имя при попытке перевести деньги);

  • Мошенник всё продолжал кидать голосовухи с голосом хозяина, чтобы вызвать у меня доверие.

В назначенный момент (когда сняли спам-блокировку) я начал бомбить ботом аккаунт с полем forceSms: true, чтобы вход был именно через sms, а не код в Telegram (к этому коду имеют доступ мошенники).

С сервера телеги пришла ошибка SEND_CODE_UNAVAILABLE, которая говорит, что отправить смс код она не может. Я понял, что моему боту смс не придет, а вот родному Telegram придет... Но оттуда сразу же выкидывают после авторизации.

Тогда я поступил следующим образом:

  • захожу с отдельного телефона в официальное приложение, запрашиваю код через почту, хозяин аккаунта говорит код.

  • как только я ввожу облачный пароль, в эту же секунду, я запускаю бота, который требует код из Telegram.

  • меня еще не успевают выкинуть из сессии на телефоне, и я успел увидеть код

  • я сразу же ввожу этот код в бота, бот заходит и отправляет resetAuthorizations

  • умирают все сессии, кроме бота

  • дальше спокойно заходим в аккаунт через стандартную процедуру на нужных устройствах.

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

Как не попасть в подобную ситуацию?

Вывода никакого делать даже не хочется, но, пожалуйста, будьте внимательны с тем куда и как вы вводите свои данные. ОСОБЕННО, если вы вводите код авторизации, облачный пароль — его можно вводить только, если вы входите в официальное приложение!

Механика угона была следующая: хозяин аккаунта вошел в свой аккаунт в кастомное приложение Telegram внутри "сайта-голосования". В итоге мошенники получили сессию, через которую только ждали, когда можно будет сделать resetAuthorizations.

Как только стало можно это сделать, бот удаляет все авторизации и начинает атаку через существующую сессию. Попутно, разумеется, бот мошенников убивает все сессии и попытки получить доступ к аккаунту...

Насчет поддержки: я в поддержку телеги написал сразу, но поддержка там идет через волонтёров, которые мне так и не ответили за 5 часов. То есть, рассчитывать на поддержку явно не стоит....

Я вам крайне рекомендую регулярно заходить в активные сессии и проверять их на предмет наличие "странных сессий". Среди них может быть мошенник, который только и ждет когда сможет выкинуть вас из аккаунта и начать свои черные дела. Переходим в Настройки - Безопасность - Активные сессии

Так выглядит список сессий на моем телефоне
Так выглядит список сессий на моем телефоне

Если есть что-то подозрительное, то лучше его удалить и спать спокойно.

На этом все! Благодарю за внимание! Буду рад вашей подписке сюда, а также в Telegram или Youtube. Я делюсь разным контентом про IT и не только.

Tags:
Hubs:
+36
Comments 101
Comments Comments 101

Articles