Pentesting IPv6

Підтримайте HackTricks

Основи IPv6

Мережі

Адреси IPv6 структуровані для покращення організації мережі та взаємодії пристроїв. Адреса IPv6 поділяється на:

  1. Префікс мережі: Перші 48 біт, що визначають сегмент мережі.

  2. Ідентифікатор підмережі: Наступні 16 біт, використовуються для визначення конкретних підмереж у мережі.

  3. Ідентифікатор інтерфейсу: Останні 64 біти, унікально ідентифікують пристрій у межах підмережі.

Хоча IPv6 не містить протокол ARP, який є в IPv4, він вводить ICMPv6 з двома основними повідомленнями:

  • Запит сусіда (NS): Мультікастові повідомлення для вирішення адреси.

  • Оголошення сусіда (NA): Унікастові відповіді на NS або спонтанні оголошення.

IPv6 також включає спеціальні типи адрес:

  • Адреса зворотного зв'язку (::1): Еквівалентна 127.0.0.1 в IPv4, для внутрішнього зв'язку всередині хоста.

  • Адреси локальної мережі (FE80::/10): Для локальних мережевих дій, не для маршрутизації в Інтернеті. Пристрої в одній локальній мережі можуть виявляти один одного, використовуючи цей діапазон.

Практичне використання IPv6 в мережевих командах

Для взаємодії з мережами IPv6 можна використовувати різні команди:

  • Ping Link-Local Addresses: Перевірте наявність локальних пристроїв за допомогою ping6.

  • Виявлення сусіда: Використовуйте ip neigh, щоб переглянути пристрої, виявлені на рівні зв'язку.

  • alive6: Альтернативний інструмент для виявлення пристроїв у тій самій мережі.

Нижче наведені приклади команд:

ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80

# Alternatively, use alive6 for neighbor discovery
alive6 eth0

Заданий MAC-адрес 12:34:56:78:9a:bc, ви можете побудувати адресу Link-local IPv6 наступним чином:

  1. Перетворіть MAC у формат IPv6: 1234:5678:9abc

  2. Додайте fe80:: та вставте fffe посередині: fe80::1234:56ff:fe78:9abc

  3. Інвертуйте сьому біт зліва, змінивши 1234 на 1034: fe80::1034:56ff:fe78:9abc

Типи адрес IPv6

  • Унікальна локальна адреса (ULA): Для локальних комунікацій, не призначена для маршрутизації в Інтернеті. Префікс: FEC00::/7

  • Мультікаст-адрес: Для один-до-багатьох комунікацій. Доставляється до всіх інтерфейсів у групі мультікасту. Префікс: FF00::/8

  • Анікаст-адрес: Для один-до-найближчої комунікації. Надсилається до найближчого інтерфейсу згідно з протоколом маршрутизації. Частина глобального діапазону унікасту 2000::/3.

Префікси адрес

  • fe80::/10: Адреси Link-Local (схожі на 169.254.x.x)

  • fc00::/7: Унікаст Унікальної Локальності (схожі на приватні діапазони IPv4, такі як 10.x.x.x, 172.16.x.x, 192.168.x.x)

  • 2000::/3: Глобальний Унікаст

  • ff02::1: Мультікаст Всі вузли

  • ff02::2: Мультікаст Вузли маршрутизатора

Виявлення адрес IPv6 у мережі

  1. Отримайте MAC-адресу пристрою у мережі.

  2. Отримайте Link-local IPv6 адресу з MAC-адреси.

Спосіб 2: Використання Мультікасту

  1. Надішліть пінг на мультікаст-адресу ff02::1, щоб виявити адреси IPv6 у локальній мережі.

service ufw stop # Stop the firewall
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
ip -6 neigh # Display the neighbor table

Атаки типу "людина посередині" (MitM) в IPv6

Існує кілька технік для виконання атак типу MitM в мережах IPv6, таких як:

  • Підробка сусідських або маршрутизаторних оголошень ICMPv6.

  • Використання повідомлень ICMPv6 перенаправлення або "Пакет занадто великий" для маніпулювання маршрутизацією.

  • Атака на мобільний IPv6 (зазвичай потрібно вимкнути IPSec).

  • Налаштування підробленого сервера DHCPv6.

Визначення IPv6-адрес в дикій природі

Дослідження піддоменів

Метод пошуку піддоменів, які потенційно пов'язані з IPv6-адресами, включає використання пошукових систем. Наприклад, використання шаблону запиту ipv6.* може бути ефективним. Зокрема, для цього можна використовувати наступну команду пошуку в Google:

site:ipv6./

Використання запитів DNS

Для ідентифікації IPv6-адрес можна використовувати певні типи записів DNS:

  • AXFR: Запит повного зонного трансферу, що потенційно може розкрити широкий спектр записів DNS.

  • AAAA: Прямий пошук IPv6-адрес.

  • ANY: Широкий запит, який повертає всі доступні записи DNS.

Пробування з Ping6

Після визначення IPv6-адрес, пов'язаних з організацією, можна використовувати утиліту ping6 для пробування. Цей інструмент допомагає оцінити реакцію визначених IPv6-адрес та може також допомогти в виявленні сусідніх пристроїв з IPv6.

Посилання

Last updated