Атака на аккаунт Телеграм бот

Решением стало написание свое бота, который задавал вопросы по типу:

example

Пользователю нужно ответить правильно, другие сообщения будут удаляться

Как добавить бота в чат?

  1. Добавляете бота в чат:

add-bot-to-chat

  1. После этого добавляете бота как админа в настройках чата:

add-bot-as-admin

  1. Даете боту права доступа на удаление сообщений и бан пользователей:

add-bot-as-admin

Код

Для работы с сообщениями в телеграм я решил использовать библиотеку tucnak/telebot с которой я уже работал раньше и которая кажется мне весьма удобной

Для начала надо настроить и запустить нового бота:

В импорты нужно добавить:

import ( tb «gopkg.in/tucnak/telebot.v2» )

И таким образом запускается наш бот

// initialize bot b, err := tb.NewBot(tb.Settings< Token: «YOUR_TOKEN», Poller: , >) if err != nil < fmt.Printf(«error while initializing bot, %v», err) >

Для того чтобы отследить когда новый пользователь зайдет в чат, нужно добавить отлавливание этих событий:

b.Handle(tb.OnUserJoined, UserJoined(l, b, memoryStorage))

А вот так выглядит сама функция UserJoined :

func UserJoined(l *zap.SugaredLogger, b *tb.Bot, s data.Storage) func(m *tb.Message) < return func(m *tb.Message) < r := rand.New(rand.NewSource(time.Now().UnixNano())) // generating two random small number firstNumber := r.Intn(4) + 1 secondNumber := r.Intn(4) + 1 fistNumberInWords := ntw.IntegerToRuRu(firstNumber) secondNumberInWords := ntw.IntegerToRuRu(secondNumber) username := getUsername(m.Sender) welcomeMessageText := getWelcomeMessageText(username, m.Chat.Title, fistNumberInWords, secondNumberInWords) welcomeMessage, err := b.Send(m.Chat, welcomeMessageText) if err != nil < l.Error(«error while sending welcome message», err) return > s.Add(m.Chat, m.Sender, data.InfoWelcomeMessage: welcomeMessage, RightAnswer: firstNumber * secondNumber>) // Goroutine to delete message after 2 minutes // and block user if he or she still in the list go checkAndBanUser(l, b, welcomeMessage, s, m, username) > >

Еще по теме:  Где у Телеграмм временная папка на Андроид

Она генерирут два случайных числа и конвертирует их в текст. Правильный ответ записывается в память. Затем в горутине ожидается 2 минуты от отправки сообщения, если пользователь так и не решил правильно ответ, то он блокируется и удаляется из чата

Вот так выглядит код для проверки ответа пользователя:

func Text(l *zap.SugaredLogger, b *tb.Bot, s data.Storage) func(m *tb.Message) < return func(m *tb.Message) < info, ok := s.Exist(m.Chat, m.Sender) if !ok < return > if m.Text != strconv.Itoa(info.RightAnswer) < err := b.Delete(m) if err != nil < l.Errorf(«error while deleting (spam) user message: %v», err) > return > // in case of correct answer: s.Remove(m.Chat, m.Sender) // Correct! Tell us about yourself approveMessage, err := b.Send(m.Chat, «Верно! Расскажите нам о себе «) if err != nil < l.Errorf(«error while sending: %v», err) > go deleteWelcomeMessages(l, b, m, approveMessage, info.WelcomeMessage) > >

Итог работы бота

По итогу бот очень успешно банит других ботов, не давая им написать сообщение с рекламой. Никто не переводит сообщения на английский язык и поэтому не знает что именно нужно делать. Таким образом пока получается блокировать всех ботов, хотя раньше с другими анти-спам ботами 50% просто решали капчу и писали спам

feedback

Исходный код

Исходный код, который деплоится затем на сервер вы можете найти тут:

Вы можете предложить свои изменения и улучшения, код открытый

После мержа код автоматически деплоится в продакшен (если билд пройдет успешно)

Источник: blogpavel.com

​Киберпреступники используют телеграм-бот BloodOTPbot, чтобы взламывать криптокошельки

​Киберпреступники используют телеграм-бот BloodOTPbot, чтобы взламывать криптокошельки

Что произошло? По сообщениям агентства кибербезопасности Intel471, хакеры нашли новый способ для получения доступа к криптовалютным кошелькам пользователей. Они стали применять бот BloodOTPbot для звонков в Telegram. Мошенники используют бот на последнем этапе взлома кошелька: они звонят с помощью BloodOTPbot, выдавая себя за криптовалютную компанию, услугами которой пользуется человек. Злоумышленники убеждают жертву назвать им код двухфакторной идентификации, чтобы получить доступ к кошельку.

Еще по теме:  Телеграмма уведомление о продаже комнаты в коммунальной квартире образец

О чем говорят в агентстве? Intel471 акцентирует внимание на том, что вредоносный бот BloodOTPbot и раньше был популярен у хакеров. Они объясняют это тем, что бот довольно дешевый и простой в использовании: он обходится всего в $300 ежемесячно. Это позволяет мошенникам сэкономить и купить больше вредоносного программного обеспечения, которое облегчает предварительный сбор данных о будущей жертве.

Чем еще пользуются хакеры? За сумму от $20 до $100 продавцы бота предоставляют инструменты для фишинга, нацеленные на учетные записи пользователей Instagram, Twitter и Facebook. Эти инструменты подходят для доступа к личным кабинетам на финансовых и криптовалютных платформах. Чтобы решить проблемы с ботами в Telegram, блокчейн-компания AmaZix открыла доступ к своему «боту-модератору». Эта процедура поможет избавиться от криптовалютных хакеров в месенджере.

Татьяна Дарда

Татьяна Дарда

Источник: getblock.net

Рейтинг
( Пока оценок нет )
Загрузка ...