tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
IPv6 기본 이론
네트워크
IPv6 주소는 네트워크 조직 및 장치 상호작용을 향상시키기 위해 구조화되어 있습니다. IPv6 주소는 다음과 같이 나뉩니다:
- 네트워크 접두사: 네트워크 세그먼트를 결정하는 처음 48비트.
- 서브넷 ID: 네트워크 내 특정 서브넷을 정의하는 데 사용되는 다음 16비트.
- 인터페이스 식별자: 서브넷 내에서 장치를 고유하게 식별하는 마지막 64비트.
IPv6는 IPv4에서 발견되는 ARP 프로토콜을 생략하지만, 두 가지 주요 메시지를 가진 ICMPv6를 도입합니다:
- 이웃 요청 (NS): 주소 해결을 위한 멀티캐스트 메시지.
- 이웃 광고 (NA): NS에 대한 유니캐스트 응답 또는 자발적인 발표.
IPv6는 또한 특별한 주소 유형을 포함합니다:
- 루프백 주소 (
::1
): IPv4의127.0.0.1
과 동등하며, 호스트 내에서의 내부 통신을 위해 사용됩니다. - 링크-로컬 주소 (
FE80::/10
): 로컬 네트워크 활동을 위한 것으로, 인터넷 라우팅에는 사용되지 않습니다. 동일한 로컬 네트워크에 있는 장치들은 이 범위를 사용하여 서로를 발견할 수 있습니다.
네트워크 명령에서의 IPv6 실용 사용
IPv6 네트워크와 상호작용하기 위해 다양한 명령을 사용할 수 있습니다:
- 링크-로컬 주소 핑:
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 주소에서 파생될 수 있습니다. 다음은 알려진 MAC 주소에서 Link-local IPv6 주소를 파생하는 방법에 대한 간단한 가이드와 네트워크 내에서 IPv6 주소를 발견하는 방법 및 IPv6 주소 유형에 대한 간략한 개요입니다.
MAC 주소에서 Link-local IPv6 파생하기
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 주소 유형
- Unique Local Address (ULA): 로컬 통신을 위한 것으로, 공용 인터넷 라우팅을 위한 것이 아님. 접두사:
FEC00::/7
- Multicast Address: 일대다 통신을 위한 것. 멀티캐스트 그룹의 모든 인터페이스에 전달됨. 접두사:
FF00::/8
- Anycast Address: 일대가장 가까운 통신을 위한 것. 라우팅 프로토콜에 따라 가장 가까운 인터페이스로 전송됨.
2000::/3
글로벌 유니캐스트 범위의 일부.
주소 접두사
- fe80::/10: Link-Local 주소 (169.254.x.x와 유사)
- fc00::/7: Unique Local-Unicast (10.x.x.x, 172.16.x.x, 192.168.x.x와 같은 사설 IPv4 범위와 유사)
- 2000::/3: Global Unicast
- ff02::1: Multicast All Nodes
- ff02::2: Multicast Router Nodes
네트워크 내에서 IPv6 주소 발견하기
방법 1: Link-local 주소 사용
- 네트워크 내 장치의 MAC 주소를 얻습니다.
- MAC 주소에서 Link-local IPv6 주소를 파생합니다.
방법 2: Multicast 사용
- 멀티캐스트 주소
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
IPv6 네트워크에서 MitM 공격을 실행하기 위한 여러 기술이 존재합니다. 예를 들어:
- 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 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.