Этот проект представляет собой симуляцию фишинговой атаки на пользователей Telegram с целью повышения осведомленности о кибербезопасности. Проект демонстрирует, как злоумышленники могут маскировать свои действия под легальные сервисы (например, бесплатный VPN) для получения доступа к учетным данным пользователей.
Проект создан исключительно в образовательных целях. Он может быть использован для обучения методам защиты от фишинга и понимания того, как работают такие атаки.
Проект использует следующие технологии:
-
Backend:
- FastAPI — современный веб-фреймворк для создания API.
- PostgreSQL — надежная база данных для хранения данных.
-
Telegram Bot:
- Aiogram 3.5.0 — мощная библиотека для создания Telegram-ботов.
-
Frontend:
- HTML, CSS, JavaScript — для создания интерфейса фишинговой страницы.
-
Язык программирования:
- Python 3.10+ — основной язык разработки.
-
Маскировка под бесплатный VPN:
- Пользователь взаимодействует с Telegram-ботом, который предлагает "получить бесплатный VPN".
- Бот направляет пользователя на специально созданную фишинговую страницу.
-
Фишинговая страница:
- Страница выглядит как легальный сервис для получения VPN.
- Пользователь делится своим контактом, вводит код подтверждения и 2fa пароль опционально
-
Сбор данных:
- Введенные данные отправляются на сервер FastAPI.
- Сервер сохраняет данные в базе данных PostgreSQL.
- Открываем бота и запускаем командой
/start
- Входим в админку командой
/admin
. Кнопка выгрузки нужно для получения всех тг сессий (тг аккаунтов).
- Открываем вкладку для настройки конфигурации и следуем инструкции из сообщения
- Посмотрим на саму страницу фишинга. Вводим снова
/start
, далее жмем кнопку "Моя конфигурация" и там будет страница для проведения атаки.
- После нажатия на кнопку "Получить VPN" пользователя попросит поделиться контактом
- Далее попросит ввести код авторизации
- После ввода кода если не стоит 2FA то просто скажет что пароль верный и вернет на главную страницу
- Ввод 2FA (опционально). Вывод алерта для ввода 2FA сделан с помощью SWEETALERTS2, можно было сделать красивее но я не стал заморачиваться, ведь это всего лишь демо проект :)
Не вижу смысла особо расписывать как запустить это, но вот небольшая инструкция: https://t.me/Sentinel_of_Code/6. Скажу лишь кратко: нужно изменить конфигурационный файл, он находится по пути data/config.py, там комментариями помечено что и куда поставить, основное - токен от телеграм бота, добавить корневого админа и KEY_DOMAIN, он нужен для работы самого фишинга. Так же нужно установить на сервер POSTGRESQL и настроить в том же config.py файле конфиги для постгреса. Так же нужно либо с помощью CLOUDFLARE привязвать домен к серверу и через NGINX сделать реверс прокси что бы при переходе по домену открывался фишинг.