8.2 KiB
{{#include ../../banners/hacktricks-training.md}}
Основи теорії IPv6
Мережі
IPv6 адреси структуровані для покращення організації мережі та взаємодії пристроїв. IPv6 адреса ділиться на:
- Префікс мережі: Перші 48 біт, що визначають сегмент мережі.
- ID підмережі: Наступні 16 біт, що використовуються для визначення конкретних підмереж у межах мережі.
- Ідентифікатор інтерфейсу: Останні 64 біти, які унікально ідентифікують пристрій у підмережі.
Хоча IPv6 не має протоколу ARP, що використовується в IPv4, він вводить ICMPv6 з двома основними повідомленнями:
- Запит сусіда (NS): Мультимедійні повідомлення для розв'язання адрес.
- Реклама сусіда (NA): Уніicast відповіді на NS або спонтанні оголошення.
IPv6 також включає спеціальні типи адрес:
- Адреса циклічного з'єднання (
::1
): Еквівалентна127.0.0.1
в IPv4, для внутрішньої комунікації в межах хоста. - Локальні адреси зв'язку (
FE80::/10
): Для локальних мережевих активностей, не для маршрутизації в інтернеті. Пристрої в одній локальній мережі можуть виявляти один одного, використовуючи цей діапазон.
Практичне використання IPv6 у мережевих командах
Для взаємодії з IPv6 мережами ви можете використовувати різні команди:
- Ping локальних адрес: Перевірте наявність локальних пристроїв за допомогою
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
IPv6 адреси можуть бути отримані з MAC-адреси пристрою для локальної комунікації. Ось спрощений посібник про те, як отримати Link-local IPv6 адресу з відомої MAC-адреси, а також короткий огляд типів IPv6 адрес і методів виявлення IPv6 адрес у мережі.
Отримання Link-local IPv6 з MAC-адреси
Дано MAC-адресу 12:34:56:78:9a:bc
, ви можете побудувати Link-local IPv6 адресу наступним чином:
- Перетворіть MAC в формат IPv6:
1234:5678:9abc
- Додайте
fe80::
і вставтеfffe
посередині:fe80::1234:56ff:fe78:9abc
- Інвертуйте сьомий біт зліва, змінивши
1234
на1034
:fe80::1034:56ff:fe78:9abc
Типи IPv6 адрес
- Унікальна локальна адреса (ULA): Для локальних комунікацій, не призначена для маршрутизації в публічному інтернеті. Префікс:
FEC00::/7
- Мультимовна адреса: Для комунікації один-до-багатьох. Доставляється до всіх інтерфейсів у мультимовній групі. Префікс:
FF00::/8
- Адреса Anycast: Для комунікації один-до-найближчого. Надсилається до найближчого інтерфейсу відповідно до маршрутизаційного протоколу. Частина глобального унікального діапазону
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: Використання Link-local адрес
- Отримайте MAC-адресу пристрою в мережі.
- Отримайте Link-local IPv6 адресу з MAC-адреси.
Спосіб 2: Використання мультимовлення
- Надішліть пінг на мультимовну адресу
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
IPv6 Man-in-the-Middle (MitM) Attacks
Існує кілька технік для виконання атак MitM в мережах IPv6, таких як:
- Підробка ICMPv6 сусідніх або маршрутизаторських оголошень.
- Використання ICMPv6 перенаправлень або повідомлень "Пакет занадто великий" для маніпуляції маршрутизацією.
- Атака на мобільний IPv6 (зазвичай вимагає вимкнення IPSec).
- Налаштування підробленого DHCPv6 сервера.
Identifying IPv6 Addresses in the eild
Exploring Subdomains
Метод для знаходження піддоменів, які потенційно пов'язані з адресами IPv6, полягає у використанні пошукових систем. Наприклад, використання шаблону запиту, такого як ipv6.*
, може бути ефективним. Конкретно, наступна команда пошуку може бути використана в Google:
site:ipv6./
Використання DNS Запитів
Щоб ідентифікувати IPv6 адреси, можна запитувати певні типи DNS записів:
- AXFR: Запитує повний трансфер зони, що може виявити широкий спектр DNS записів.
- AAAA: Безпосередньо шукає IPv6 адреси.
- ANY: Широкий запит, який повертає всі доступні DNS записи.
Пробивання з Ping6
Після визначення IPv6 адрес, пов'язаних з організацією, можна використовувати утиліту ping6
для пробивання. Цей інструмент допомагає оцінити реакцію виявлених IPv6 адрес і може також допомогти виявити сусідні IPv6 пристрої.
Посилання
- http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html
- https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904
{{#include ../../banners/hacktricks-training.md}}