tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основи теорії 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
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.