Теневой IPv6: брешь в безопасности, о которой молчат все админы
Введение: когда цифровая крепость оказывается с открытой калиткой
Часть 1. Почему IPv6 работает всегда (даже если вы его не включали)
Немного предыстории
Что говорят стандарты
- Совместимость. Некоторые функции Windows — например, DirectAccess или отдельные компоненты Hyper-V — просто не работают без IPv6. Их отключение может привести к нестабильной работе системы.
- Приоритет скорости. Согласно RFC 6724, современные операционные системы отдают предпочтение IPv6-соединениям, если они доступны. Считается, что это более современный и эффективный протокол.
- Автоматическая настройка. Механизм SLAAC (RFC 4862) позволяет устройству самостоятельно назначить себе IPv6-адрес — без DHCP-сервера, без участия администратора. Удобно для пользователя, но создаёт проблемы для безопасности.
Где прячется проблема
Реальный случай из практики
Часть 2. Как это используют злоумышленники: три реальных сценария

Сценарий 1: Обход периметра через туннели
- Доступ к веб-панелям управления
- Возможность сканирования портов без детектирования
- Прямой доступ к SSH, RDP, базам данных
- Никаких alert'ов в системе мониторинга
# Windows
netsh interface teredo show state
netsh interface ipv6 show interfaces
# Linux
sysctl net.ipv6.conf.all.disable_ipv6
ip -6 addr show
Техническая суть:
Протокол Neighbor Discovery (ND) в IPv6 выполняет функции, аналогичные ARP в IPv4. Он отвечает за определение MAC-адресов, обнаружение роутеров, проверку доступности соседей.
Ключевая проблема: ND не аутентифицируется по умолчанию (RFC 4861).
Это означает, что злоумышленник, получивший доступ к сегменту сети (например, через фишинг или скомпрометированную рабочую станцию), может рассылать поддельные Router Advertisement (RA) и сообщать всем хостам: «Я — шлюз по умолчанию, весь трафик направляйте мне».
Эта атака называется RA spoofing и позволяет:
Перехватывать трафик других пользователей
Проводить MITM-атаки (man-in-the-middle)
Перенаправлять жертв на фишинговые ресурсы
Блокировать сетевое соединение (DoS)
Индикаторы компрометации:
В логах SIEM появляются аномальные ICMPv6-пакеты, особенно Router Advertisement с нестандартными префиксами или от устройств, которые не должны выполнять функции роутера (принтеры, камеры, IoT-устройства).
Как защититься:
Активация RA Guard на коммутаторах. Пример конфигурации для Cisco IOS:
ipv6 nd raguard policy DEFAULT
device-role host
!
interface GigabitEthernet0/1
ipv6 nd raguard attach-policy DEFAULT
Эта настройка блокирует поддельные RA-пакеты на уровне коммутатора, не давая им распространяться по сети.
Сценарий 3: Эксфильтрация данных через «невидимый» трафик
История из реальной практики:
После успешной фишинговой атаки злоумышленники получили доступ к рабочей станции бухгалтера. Вместо того чтобы атаковать доменный контроллер (что сразу вызвало бы срабатывание систем защиты), они проверили сетевую конфигурацию командой ipconfig /all, обнаружили IPv6-адрес и установили обратное соединение через него.
Почему это сработало:
Корпоративный прокси инспектировал только IPv4-трафик. IPv6-соединения проходили напрямую.
DLP-система не анализировала IPv6-потоки. Правила были написаны под v4.
В логах фаервола IPv6-соединения не регистрировались по умолчанию.
SIEM не получала событий о IPv6-активности.
Результат: Данные утекали в течение недели, пока кто-то не заметил аномальную активность на UDP 3544 (порт Teredo) или необычные ICMPv6-пакеты большого размера.
Как это выглядит технически:
Злоумышленник может использовать:
Туннели Teredo для обхода NAT
ICMPv6 для передачи данных (эхо-запросы с полезной нагрузкой)
DNS over IPv6 для эксфильтрации
Зашифрованные каналы поверх IPv6
Все эти методы обходят большинство традиционных средств защиты, которые сфокусированы на IPv4.
Часть 3. Почему SIEM и фаерволы молчат
Если угроза настолько реальна, возникает закономерный вопрос: почему средства защиты не генерируют предупреждения? Почему SIEM не бьёт тревогу?
Ответ кроется в трёх системных проблемах.

Причина 1: Архитектурное наследие
Причина 2: Сложность адресации и мониторинга
IPv6: 128 бит, 3.4×10³⁸ адресов.
- Невозможность полного сканирования. В IPv4 можно просканировать всю подсеть /24 (256 адресов) за несколько минут. В IPv6 даже маленькая подсеть /64 содержит 18 квинтиллионов адресов. Полное сканирование методом brute force физически невозможно.
- Сложность обнаружения аномалий. Традиционные методы обнаружения вторжений, основанные на сканировании портов и анализе трафика, работают хуже.
- Проблемы с логированием. Многие администраторы не настраивают логирование IPv6 на сетевом оборудовании, опасаясь роста объёма данных и необходимости изменения шаблонов парсинга.
Причина 3: Ложное чувство безопасности
Часть 4. Дорожная карта: как закрыть брешь без хаоса

Шаг 1. Аудит и визуализация (2-4 часа)
# Windows (PowerShell)
Get-NetIPConfiguration -Detailed | Where-Object {$_.NetIPv6Interface}
Get-NetTeredoState
# Linux
ip -6 addr show
ss -6 -tuln
# Сканер сети
nmap -6 -sn fe80::/10
- Активные IPv6-интерфейсы на серверах и рабочих станциях
- Активные туннели (Teredo, 6to4, ISATAP)
- Устройства, отвечающие на ICMPv6-запросы
- Link-local адреса (fe80::/10)
- Уникальные локальные адреса (fd00::/8)
- Устройство
- IPv6-адреса
- Тип адресов (global, link-local, unique local)
- Активные туннели
- Критичность устройства
Шаг 2. Выбор стратегии
Подход А: Полное отключение IPv6
- Нет требований со стороны регуляторов
- Не используются облачные сервисы, требующие IPv6
- Внутренние приложения не зависят от IPv6
- Нет планов по модернизации инфраструктуры
Computer Configuration → Policies → Administrative Templates → Network → TCPIP Settings → IPv6 Transition Technologies
Отключить: 6to4, ISATAP, Teredo, IP-HTTPS
DisabledComponents = dword:ffffffff
# /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# Применить изменения
sysctl -p
- Начать с периферийных систем (рабочие станции, принтеры)
- Протестировать критические сервисы
- Отключить на серверах
- Мониторить логи на предмет ошибок
Подход Б: Настройка контроля и мониторинга
device-role host
!
interface range GigabitEthernet0/1-48
ipv6 nd raguard attach-policy DEFAULT
- Блокировка fe80::/10 между VLAN (link-local не должен выходить за пределы сегмента)
- Разрешение только утверждённых префиксов
- Default-deny для входящего IPv6-трафика
- Применение политики default-deny для IPv6 (аналогично IPv4)
- Явное разрешение только необходимого трафика
- Логирование всех отклонённых соединений
- Добавление парсеров для IPv6-логов
- Настройка алертов на:
- Появление новых IPv6-адресов
- ICMPv6 Redirect
- Подозрительный трафик на UDP 3544 (Teredo)
- Аномальные RA-пакеты
- Большое количество ICMPv6-пакетов
Шаг 3. Документирование и стандартизация
- Префикс
- Назначение (серверы, пользователи, DMZ)
- Ответственный
- Дата выделения
- Где IPv6 разрешён
- Где IPv6 запрещён
- Кто принимает решения о выделении адресов
- Как происходит мониторинг
[ ] Туннели (Teredo/6to4/ISATAP) отключены
[ ] Фаервол содержит правила для IPv6
[ ] Логи IPv6 собираются в SIEM
[ ] Адрес внесён в реестр IPv6-ресурсов
[ ] Протестирована доступность только разрешённых сервисов
- Несанкционированная IPv6-активность
- Поддельные RA-пакеты
- Эксфильтрация через IPv6
Шаг 4. Регулярное тестирование
nmap -6 -p 22,80,443 <ваши префиксы>
# Windows
Get-NetTeredoState
netsh interface ipv6 show interfaces
# Linux
ip -6 tunnel show
Наблюдения и выводы
Полезные ресурсы
Официальные стандарты
- RFC 4861 — Neighbor Discovery for IPv6
- RFC 4862 — IPv6 Stateless Address Autoconfiguration
- RFC 6104 — Security Considerations for IPv6
- RFC 4193 — Unique Local IPv6 Unicast Addresses
- RFC 4294 — IPv6 Node Requirements
Руководства по безопасности
- NIST SP 800-119 — Guidelines for IPv6 Security
- CIS Controls v8 — Control 4 (Secure Configuration of Enterprise Assets and Software)
- Positive Technologies: Угрозы в IPv6
Инструменты для аудита
- THC IPv6 Attack Toolkit — набор инструментов для тестирования
- SI6 Networks IPv6 Toolkit — сканеры и анализаторы
- Nmap IPv6 scanning — руководство по сканированию
- Провести аудит (2-4 часа)
- Выбрать стратегию (отключить или контролировать)
- Настроить защиту (RA Guard, фаервол, SIEM)
- Задокументировать процессы

Zer0_o