(Apache, Ettercap). MITM. Часть 4. DNS Spoofing.
Материал предоставлен в ознакомительных и образовательных целях.
Содержание
1. Введение. Требования.
2. Понятия DNS и DNS Spoofing.
3. Суть атаки.
4. Готовим фишинговую страницу и запускаем Apache.
5. Настраиваем и запускаем Ettercap.
6. Смотрим на результат
7. Подведение итогов. Рекомендации по защите. Полезные ссылки.
Введение. Требования.
Рад приветствовать читателей. В этой статье мы разберем атаку DNS Spoofing
Если вы не читали предыдущие три статьи по MITM, обязательно прочитайте их перед этой. Там рассмотрены понятие MITM, использование Ettercap, Bettercap, net-creds и Burp Suite
Требования:
- Иметь доступ к сети, в которой находится цель
Примечание: если у вас уже есть доступ к сети, вам не нужен Wi-Fi адаптер с поддержкой режима мониторинга. Главное быть просто подключенным к сети.
Понятия DNS и DNS Spoofing.
DNS (Domain Name Server) - компьютерная распределенная система для получения информации о доменах. В большинстве случаев используется для получения IP-адреса по доменному имени.
DNS Spoofing (a.k.a. DNS Cache Poisoning - отравление кеша DNS) - атака, при которой данные кэша доменных имен изменяются злоумышленником, с целью возврата ложного IP-адреса.
Суть атаки.
Т.к. весь трафик пользователя сначала идет через наш компьютер, а затем идет к роутеру (благодаря Ettercap/Bettercap/…), то при помощи плагина в Ettercap под названием dns_spoof можно отравлять кэш DNS-сервера, тем самым перенаправляя пользователя с домена вида www.example.com на произвольный IP адрес.
Готовим фишинговую страницу и запускаем Apache.
Первым делом вам нужно написать фишинговую страницу на HTML. Можно использовать HTML/CSS/JavaScript/… Она должна каким-либо образом передавать вам данные, которые ввел атакуемый. Мы же для примера будем использовать страницу It works!:
Положите ее по пути /var/www/html/:
sudo cp -R mycoolwebsite/* /var/www/html/
, где mycoolwebsite - директория с вашим веб-сайтом.
Затем запустите Apache:
sudo systemctl start apache2
Настраиваем и запускаем Ettercap.
Заходим под рута:
sudo su
В конец файла по пути /etc/ettercap/etter.dns допишите:
www.example.com A [IP]
, где www.example.com - адрес сайта с www, с которого нужно перенаправлять,
[IP] - IP-адрес атакующего в локальной сети, без скобок (ip addr)
Включите IP Forward:
echo "1" > /proc/sys/net/ipv4/ip_forward
Запустите Ettercap:
ettercap -G
- Выберите интерфейс, нажмите галочку
- Зайдите в главное меню программы (иконка три палки), выберите Plugins, затем Manage plugins
- Дважды нажмите по dns_spoof
- Нажмите на кнопку список хостов (иконка сервера)
- Нажмите на лупу для поиска хостов (если нужного не появилось, попробуйте еще раз)
- Выберите IP адрес роутера как цель 1
- Выберите IP адрес атакуемого как цель 2
- Нажмите на меню MITM
- Выберите ARP Poisoning, убедитесь, что стоит галочка Sniff remote connections и нажмите ОК
Смотрим на результат.
Атакующий набирает www.yandex.ru, а вместо Яндекса открывается страница It works!, вместо которой вполне могла быть фишинговая страница. Я также добавил еще пару страниц для того, чтобы показать, что работает это практически везде. Практически, потому что, далеко не у всех сайтов главная страница открывается только по https://. Эти страницы просто напросто не добавлены в тот самый список сайтов, которые открываются только по https:// в браузере. В то же время, например, с Википедией такой трюк не прокатывает и она просто не открывается. Проверить, будет ли работать, можно на сайте HSTS Preload (см. полезные ссылки)
Подведение итогов. Рекомендации по защите. Полезные ссылки.
Полезные ссылки.
- Википедия: DNS
- Википедия: DNS-сервер
- Википедия: DNS Spoofing
- Losst: Установка SSL-сертификата на сервер Apache
- YouTube: DNS Spoofing своими руками
- HSTS Preload
Рекомендации по защите.
- Не использовать открытые сети Wi-Fi
- Поддерживать безопасность личной сети Wi-Fi, иначе будет равноценна открытой сети
- Использовать расширение HTTPS Everywhere (Chrome Web Store | Firefox Browser Add-ons)
Итак, мы познакомились с DNS Spoofing.
Назад к списку статей…