Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
УСТАНОВКА
1. Подключаемся к серверу с помощью SSH и в консоли сразу устанавливаем зависимости, нам понадобится node для работы клиента и python для бота:
Устанавливаем nginx, не забываем перед этим обновить apt (sudo apt update):
- sudo apt install nginx
Настройка UFW (Firewall):
Убедимся в том, что UFW установлен командой ufw. Если его нет, то установим:
- sudo apt install ufw
Разрешаем порты 80, 443, 22/21 для работы nginx, ssh:
- ufw allow "Nginx Full"
- ufw allow "OpenSSH"
После разрешения портов, можем включить UFW:
- ufw enable
Устанавливаем node.js от 18 версии:
- curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- sudo apt-get install nodejs
Устанавливаем Python 3.10:
- sudo apt install python3.10
- sudo apt install python3-pip
- sudo apt install python3-venv
Дополнительный зависимости:
- sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
Теперь можем загрузить файлы на сервер.
Бота на python можем загрузить в основную директорию /root/,
в /root/main.py и /root/bot/.env ставим токен от основного бота который будет использоваться как панель и ID аккаунта который используется как админ, остальное необязательно.
TWeb перемещаем в категорию nginx: /var/www/
Сразу ставим свой домен для проксирования данных в /var/www/tweb/src/index.ts на 85 линии.
( P.S Если при билде файл не поменялся и остался закэшированный - поменяйте домен в index-...js из папки public и dist. Не обновленный домен вы сможете заметить в код элемента - src - index или если при авторизации на сайте зависнет все после последнего этапа. )
2. Telegram Web уже есть в архиве, его страница на github: GitHub - morethanwords/tweb: Telegram Web K, GPL v3 | End Way - Форум программирования и сливов различных скриптов
Устанавливаем его зависимости в директории tweb командой:
- npm install -g pnpm
- pnpm install
В консоли появится ошибка forEach, это баг модуля и для его устранения в архиве есть файл который нужно расположить в /var/www/tweb/node_modules/vite/dist/node/chunks
Делаем билд командой: npm run build ( заранее установите зависимость pnpm , вас об этом попросят )
Так же к вашему вниманию при каждом запуске скрипта делается билд, к слову.
3. Устанавливаем бота для отстука:
Устанавливаем зависимости в /bot: pip install -r requirements.txt
- pip install fastapi telebot aiohttp_socks
- pip install "uvicorn[standard]"
4. Создаем службы для фоновой работы скрипта:
1) Обязательно создать папку logs в root для логирования запущенных сервисов
2) В архиве будет три сервиса bot.service , tweb.service , main.service
1) Необходимо закинуть все сервисы в директорию /etc/systemd/system
Служба - это конфигурационный файл который запустит наши скрипты, он будет поддерживать постоянную фоновую работу.
5. Настройка nginx:
1) В архиве (conf.d) будет конфигурационные файлы nginx.
2) В директорию /etc/nginx/conf.d перемещаем два файла: tweb.conf и work.conf
3) в server_name вводите ваш домен, два разных домена в два файла ( домена должны быть направлены на ваш сервер через A-запись по IP, используйте cloudflare )
домен в work.conf и в index.js из tweb должны совпадать, потому что он служит для проксирования данных
5) Перезагружаем nginx чтобы обновления вступили в силу:
- systemctl reload nginx
6. Запуск:
1) Обновим все службы командой:
- systemctl daemon-reload
2) Теперь включаем все службы:
- systemctl enable bot.service
- systemctl enable tweb.service
- systemctl enable main.service
3) В завершении запустим все службы:
- systemctl start [Название, пр: bot.service] - Используйте для запуска
- systemctl restart [Название] - Для перезапуска
- systemctl status [Название] - Для просмотра статус
- systemctl stop [Название] - Для остановки
4) Ждем ~1.5 минуты: это время требуетя на создание билда Telegram Web.
Если никаких ошибок не возникло и страницы работают - значит все сделано правильно
Для работы фишинга я клонирую web-клиент Telegram чтобы полностью имитировать авторизацию мессенджера и в конечном авторизации похитить необходимые ключи ( auth key ) авторизации из localstorage. Так же клонирование официального репозитория позволяет нам при авторизации высвечивать реальный IP и устройство жертвы, что прибавляет плюс к доверии. Чтобы вы знали, ранее мы создавали приложение чтобы создать сессию с использованием наших APP_ID / HASH_ID и при авторизации показывались данные нашего приложения и IP сервера, это было неэффективно поскольку Telegram начал сильно бороться с фишингом и очень усложнил его работу, аккаунты банились и сессии отключались автоматически следуя по новым алгоритмам защиты от мессенджера.
Вам будет необходимо иметь как минимум 2 домена, первый для отправки данных клиенту и второй для отображения вашей собственной фишинг-страницы. В моей панели можно развернуть целую команду или запустить собственную продажу подписок на панель, у каждого пользователя будет свой небольшой личный кабинет в боте Telegram в котором у него будут доступны все необходимые функции для работы с фишингом, естественно у каждого должен быть свой домен.
Процесс работы с доменами происходит так: Владелец панели создает аккаунт на Cloudflare и уже с помощью проксирования на свой сервер добавляет домены, таким образом мы сразу можем включить SSL-защиту и так же немного спрячем реальный IP-адрес нашего сервера, для каждого нового пользователя в нашей панели мы добавляем таким образом домен и далее пользователь может добавить его в своем личном кабинете, он будет проксировать на наш сервер и передавать логи идентифицируя пользователя по его домену.
Далее следуем инструкциям от Cloudflare и направляем наш домен к указанным NS-серверам.
На последнем этапе вы сможете включить SSL-защиту.
После этой манипуляции пользователь может добавить домен в своем личном кабинете и он будет проксировать.
Относительно важный момент насчет доменов, добавлена необходимость установки ключа чтобы веб-краулеры не зафиксировали сразу наш фейковый домен и не заблокировал домен, иначе почти моментально можно получить красную табличку небезопасности сайта. Чтобы избежать такого момента мы просто устанавливаем в личном кабинете ключ с любым словом, у меня он будет к примеру "connect", наш сайт будет доступен по адресу: https://domain.com/connect
После того как добавите домен прожмите еще раз /start в боте чтобы появилась возможность добавить ключ. ( Конечно вы можете поставить клоаку если желаете, но это на ваше усмотрение )
Моя панель имеет множество полезного функционала для работы с похищенными аккаунтами. В частности поговорим про конвертацию, изначально мы получаем ключи авторизации но мы можем конвертировать их в сессию Telethon которая может быть использована в различных софтах для автоматизации, а так же возможность конвертировать в тип tdata - который позволяет нам войти в аккаунт.
Как войти в аккаунт? Очень просто, для начала конвертируем наш полученный ключ в формат tdata.
Для входа нам понадобится портативная версия Telegram Desktop, если отсутствует скачиваем его из официального сайта.
После разорхивации у вас появится папка с содержанием: modules и telegram.exe , после первичного открытия приложения должна появится папка tdata в той же директории. Все что нам нужно это просто скопировать наши файлы в папку tdata, после этого снова открываем Telegram и мы в аккаунте!
Шаблоны: Небольшая оболочка перед авторизацией, в архиве уже имеются несколько шаблонов которые доступны для использования, но вы так же можете их подкорректировать под себя изменив html-разметку.