Во время тестирования на проникновение часто хочется посмотреть что же происходит в HTTPS сессиях между клиентом и сервером, а так же получить из этих сессий полезные данные.
Один из способов обхода HTTPS, чтобы перехватить трафик это разбить сессию пользователя на два участка, используя специализированный прокси-сервер. Первый участок от клиента до прокси сервера будет идти по протоколу HTTP, а второй участок, от прокси до сервера будет проходить, как и должен, по шифрованному соединению.
В реализации такой атаки нам понадобится SSLstrip, который позволяет разрезать сессию на две части и перехватить трафик для дальнейшего анализа, а так же предоставлять автоматические редиректы на динамически создаваемые HTTP двойники страниц.
Установим требуемые пакеты:
apt-get install sslstrip
Далее разрешим пересылку пакетов:
echo "1" > /proc/sys/net/ipv4/ip_forward
Как включить постоянный форвардинг – описано в статье Пересылка пакетов (форвардинг) в Linux
Теперь переадресуем пакеты, идущие на 80-й порт на порт нашего прокси (такие же правила можно включить и для других часто применяемых HTTP портов, таких как 8080, 3128 и т.д.):
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
где,
80 – стандартный HTTP порт;
8080 – порт, на котором будет работать SSLstrip.
Для нескольких портов правило будет выглядеть немного по другому:
iptables -t nat -A PREROUTING -p tcp -m tcp -m multiport --dports 80,8080,3128 -j REDIRECT --to-ports 8080
Не забывайте, что iptables сбрасывает правила при перезагрузке. Как сохранить правила и восстановить мы описываем в статье iptables. Сохранение и восстановление правил.
Далее запустим SSLstrip:
sslstrip -w sslstrip.log -l 8080
использованные параметры:
-w sslstrip.log файл лога, в который будет записываться все самое интересное.
-l 8080 порт, на котором будет работать прокси.
Остальные параметры, которые можно использовать:
-p – записывать только SSL POST запросы (используется по-умолчанию);
-s – записывать весь SSL трафик (от сервера и к серверу);
-a – записывать весь SSL и HTTP трафик (от сервера и к серверу)
-f – подменить иконку сайта на замок (имитация безопасных сайтов).
-k – Убить текущие активные сессии.
Остается только встать посередине между клиентом и маршрутизатором. Для этого потребуется провести какую-либо MitM атаку. Например ARP poisoning, которая описана в статье Проведение ARP poisoning атаки или Rogue DHCP Server, который описан в статьеYersinia. Создание поддельного DHCP (Rogue DHCP) сервера.
Так же теперь множество трафика пойдет в открытом виде и его можно анализировать в различных сниффера и программах анализа, таких как: Ettercap, Wireshark, urlsnarf и т.д.
Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктурыБыть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|