➡️В процессе анализа малвари в сфере Интернет-знакомств мне в руки попал токен Telegram бота злоумышленников; Очевидно, что этот недочёт открыл передо мной, как специалистом по другую сторону баррикад, целый спектр возможностей для управления ботом;
Но кроме того, нашла инструмент для автоматизации выгрузки информации из Telegram бота с использованием слитого токена, на случай, если окажетесь в схожей ситуации:
🧩 soxoj/telegram-bot-dumper
➖ Имя связанного бота;
➖ Информация о боте;
➖ История сообщений чатов;
➖ Медиа из чатов;
➖ Информация о пользователях, запустивших бота;
▪️Примерный regex для таких токенов:
[0-9]{6,10}:[a-zA-Z0-9_-]{34,35}▪️Места, где их часто оставляют:
telepot.Bot(TOKEN)
telegram.Bot(TOKEN)
telebot.TeleBot(TOKEN)
ApplicationBuilder().token(TOKEN)
new Bot<Context>(TOKEN)
new TelegramBot(TOKEN)
new TelegramApi(TOKEN)
new Telegram(TOKEN)
new Telegraf(TOKEN)
new TeleBot(TOKEN)
new TgLog(TOKEN)
Telebot::Client.new(TOKEN)
Telegram::Bot::Api.new(TOKEN)
Telegram::Bot::Client.new(TOKEN)
Telegram::Bot::Client.run(TOKEN) do |bot|
tgbotapi.NewBotAPIWithClient(TOKEN)
tgbotapi.NewBotAPI(TOKEN)
tg.NewBotAPI(TOKEN)
f"https://api.telegram.org/bot{TOKEN}/METHOD"
"https://api.telegram.org/bot" . TOKEN . "/METHOD"
"https://api.telegram.org/bot" + TOKEN + "/METHOD"
URI.parse("https://api.telegram.org/bot#{TOKEN}/METHOD")
String.format("https://api.telegram.org/bot%s/METHOD", TOKEN)
➡️Вот, кстати, подобная история от исследователей из Checkmarx; Они подробно описали, как извлекли API токен для Telegram бота злоумышленников из вредоносного пакета и таким образом получили доступ к их каналу связи:
🧩 ‟How We Were Able to Infiltrate Attacker Telegram Bots”
➖ Извлечение API токена и ID чата;
➖ Извлечение истории сообщений;
➖ Перехват новых сообщений;
➖ Нарушение работы бота злоумышленников;
▪️Скрипт, который был использован для пересылки сообщений (
message_id = 1..2000) из бота злоумышленников в бот исследователей:1..2000 | ForEach-Object { Invoke-WebRequest -Uri "https://api.telegram.org/bot{attacker_Bot_Token}/forwardMessage" -Method POST -ContentType "application/json" -Body ('{"from_chat_id":"{attacker_chat_id}", "chat_id":"{my_chat_id}", "message_id":' + $_ + '}') }@HaHacking 🐇
