Вчера Виталик @thingsiread прислал мне бота “отключение света тбилиси”, которого он случайно нашел в тг [понятно, почему он его искал].
Как работает этот чудесный бот:
1) Чтобы долго жить и высоко ранжироваться в выдаче при поиске “отключение тбилиси”, основной бот сам не должен делать ничего плохого. Поэтому когда пишешь боту /start, он присылает тебе ссылку на другой канал.
Ссылки ротируются с каждым стартом, сколько их всего - без понятия.
2) Бот, которого тебе прислали, рандомно называется (вроде “белла вита косметика” или “масло дыши отзывы”), сразу после старта проверяет, знает ли он твой номер телефона (см. ниже).
Какие у него варианты знать твой номер:
- у тебя открытый номер в тг (лол)
- у тебя когда-то был открытый номер в тг (см. ниже)
- вроде все
Если боту твой номер неизвестен, то сначала он просит тебя нажать на кнопку “Я не робот”.
При нажатии вылезает уведомление “бот запрашивает доступ к вашему номеру телефона”.
После того, как бот как-то узнал номер, он сразу же просит ввести код “чтобы подтвердить, что вы не робот”.
3) Бедному, лишившемуся посреди дня света (и способности критически мыслить) пользователю приходит код в оффчат Telegram, он вводит код - бинго, аккаунта больше нет.
Интересно, кстати, (мне жалко все мои акки, так что проверять не стал) автоматизирован ли “отжим” аккаунта или нет (смена пароля + 2фа + логаут всех сессий). Скорее всего, там сидит какой-то Вася, ловит уведомления об успешном отжиме и бежит руками это делать.
Решил разобраться, как это устроено внутри.
Сначала хотел написать своего такого бота - естественно, с огромными заголовками вроде БОТ ДЛЯ ДЕМОНСТРАЦИИ УГОНА АКАУНТА В ТГ, но потом подумал, что за такой довольно бесполезный PoC я могу лишиться своего акаунта в телеге (из-за блокировки), так что ограничился простым скриптом на питоне, который имитирует деятельность бота.
Но для начала - откуда бот знает мой номер телефона?
Он уже много лет (но недостаточно) закрыт от всех, даже от контактов.
Немного погуглил и нашел несколько ботов для деанона, которые по @username или user_id присылают всю известную информацию о пользователе.
В первом же таком боте (не буду прикладывать ссылку, найти элементарно) была инфа о моем номере от 2019 года.
Правда, на моем более свежем “анон” акке, который я завел год назад, я сразу убрал доступ ко всем данным кроме username, и его номер боты не знают.
Откуда эти деанон боты берут данные о пользователях? (помимо публикуемых сливов из всяких яндекс ед)
Нашел вот такой ответ, который меня в целом устроил:
Боты-накопители в Телеграм. Существуют аккаунты-боты, которые добавляются в открытые чаты и сохраняют всю доступную информацию о пользователях: фото, открытые номера телефонов, имя, @юзернеймы и т. д.
Забавно, но пока искал, как делают таких деанон-ботов, и можно ли где-то вместо бота запрашивать данные о пользователе по апишке, наткнулся на несколько скамов^2: инструкций, как делать фейковые деанон-боты, на которые будут покупаться сталкеры.
Ссылки прикладывать не буду, интересно - напишите в комментах.
И так, полный алгоритм работы нашего бота “отключение электричества”:
1) Бот кидает ссылку на бота - не буду пояснять, тут все и так понятно
2) Проверяет, знает ли он ваш номер телефона.
В своем PoC я сделал это немного через жопу - залогинил свою аппку в свой тг аккаунт, и через send_message отправил сообщение боту для деанона, а потом распарсил его ответ с помощью get_messages.
Но наверняка можно просто купить доступ к базе тг аккаунтов, если порыться на грязных форумах.
3) Дергает метод sendCode с указанием номер телефона, и на ассоциированный с номером аккаунт приходит сообщение в тг.
Бот(ов), кстати, телеграм уже поблочил.
Интересно, сколько людей успели лишиться своих аккаунтов конкретно в этом скаме с отключением света в тбилиси?
К чему я все это - сделать такого бота может любой дурак за час и +- бесплатно.
Так что будьте осторожны, когда пользуетесь очередным непонятным ботом - всегда есть шанс, что он сделан по инструкции с форума.
