Tải bản đầy đủ (.pdf) (36 trang)

Bài tập lớn môn an toàn mạng (27)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.84 MB, 36 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN

Học phần: An tồn mạng
Bài báo cáo:

Tìm hiểu về IPV6 và các công cụ THC-IPV6

Giảng viên hướng dẫn:

TS. Đặng Minh Tuấn

Sinh viên thực hiện:

Vũ Viết Duy

Mã sinh viên:

B18DCAT043

Nhóm:

Nhóm 02

Hà Nội 2021


MỤC LỤC
MỤC LỤC

i



DANH MỤC TỪ VIẾT TẮT

ii

DANH MỤC BẢNG

iii

DANH MỤC HÌNH

iv

LỜI MỞ ĐẦU

1

CHƯƠNG 1.

TỔNG QUAN VỀ IPV6

2

1.1.

Khái niệm IPv6

2

1.2.


Đặc điểm của IPv6

3

1.3.

Các chế độ định vị trong IPv6

5

1.3.1.

Chế độ Unicast

5

1.3.2.

Chế độ Multicast

5

1.3.3.

Chế độ Anycast

6

1.4.


Định dạng địa chỉ trong IPv6

7

1.4.1.

Cấu trúc địa chỉ trong IPv6

7

1.4.2.

Các trường Header trong IPv6

8

1.5.

Định tuyến (Routing) trong IPv6

11

1.5.1.

Các giao thức định tuyến trong IPv6

11

1.5.2.


Các giao thức được thay đổi để hỗ trợ IPv6

12

CHƯƠNG 2.

GIỚI THIỆU VỀ CƠNG CỤ TCH-IPV6

13

2.1.

Khái qt về cơng cụ

13

2.2.

Các tính năng của cơng cụ

16

CHƯƠNG 3.

KHAI THÁC THỰC TẾ VỚI CƠNG CỤ THC-IPV6

17

3.1.


Cài đặt công cụ

17

3.2.

Tiến hành chạy các công cụ trong THC-IPv6

20

3.3.

Thực hiện kịch bản tấn cơng nạn nhân hồn chỉnh

24

KẾT LUẬN

29

TÀI LIỆU THAM KHẢO

30

i


DANH MỤC TỪ VIẾT TẮT


Từ viết
tắt

Từ đầy đủ

Giải nghĩa

ARP

Address Resolution Protocol

Giao thức phân giải địa chỉ

BGP

Border Gateway Protocol

Giao thức gateway ngoại vi

Dynamic Host Configuration
Protocol

Giao thức cấu hình host động

DNS

Domain Name System

Hệ thống tên miền


ECN

Explicit Congestion
Notification

Thông báo nghẽn rõ ràng

HCP

Dynamic Host Configuration
Protocol

Giao thức định hình host động

ICMP

Internet Control Message
Protocol

Giao thức thơng báo điều khiển
internet

Internet Protocol

Giao thức mạng

MITM

Man-In-The-Middle


Tấn công người ở giữa

OSPF

Open Shortest Path First

Mở đường truyền ngắn nhất
đầu tiên

RIPng

Routing Information Protocol Giao thức thông tin định tuyến
Next Generation
thế hệ mới

DHCP

IP

ii


DANH MỤC BẢNG
Bảng 1.1. Bảng mô tả các trường thông tin của IPv6 Fixed Header

8

Bảng 1.2. Bảng mô tả các Extension Header

10


Bảng 1.3. Dãy liên tục của Extension Header

10

iii


DANH MỤC HÌNH
Hình 1.1. Mơ hình cấu trúc của IPv6 header

2

Hình 1.2. Mơ hình chế độ định vị Unicast

5

Hình 1.3. Mơ hình chế độ định vị Multicast

6

Hình 1.4. Mơ hình chế độ định vị Anycast

6

Hình 1.5. Cấu trúc của một địa chỉ IPv6

7

Hình 1.6. Fixed Header của IPv6


8

Hình 1.7. Định dạng kết nối Extension Header

11

Hình 2.1. THC-IPv6

13

Hình 2.2. THC-IPv6 bản cơng bố v3.2

14

Hình 2.3. THC-IPv6 bản cơng bố v3.4

14

Hình 2.4. THC-IPv6 bản cơng bố v3.6

15

Hình 2.5. THC-IPv6 bản cơng bố v3.8

15

Hình 3.1. . Phiên bản hệ điều hành sử dụng trong bài lab

18


Hình 3.2. Phiên bản Python sử dụng trong bài lab

18

Hình 3.3. Cài đặt các thư viện

19

Hình 3.4. Clone cơng cụ từ github về máy

19

Hình 3.5. Folder thc-ipv6 sau khi clone từ github về

20

Hình 3.6. Cài đặt tồn bộ các module có sẵn của thc-ipv6

20

Hình 3.7. Thực hiện lệnh alive6

21

Hình 3.8. Thực hiện lệnh denial6

21

Hình 3.9. Thực hiện lệnh detect-new-ip6


22

Hình 3.10. Thực hiện lệnh detect_sniffer6

22

Hình 3.11. Thực hiện lệnh dos-new-ip6

22

Hình 3.12. Thực hiện lệnh dump_router6

23

Hình 3.13. Thực hiện lệnh exploit6

23

Hình 3.14. Thực hiện lệnh fake_advertise6

23

Hình 3.15. Thực hiện lệnh fake_router26

24

Hình 3.16. Thực hiện lệnh flood_advertise6

24

iv


Hình 3.17. Thực hiện lệnh fuzz_ip6

24

Hình 3.18. Thực hiện lệnh passive_discovery6

25

Hình 3.19. Cấu hình mạng của nạn nhân ban đầu

26

Hình 3.20. Performance của nạn nhân trước khi bị tấn cơng

27

Hình 3.21. Cấu hình mạng của kẻ tấn cơng

27

Hình 3.22. Rà quét để tìm các router đang hoạt động

28

Hình 3.23. Lắng nghe thụ động để thu thập địa chỉ IP của nạn nhân

28


Hình 3.24. Nửa sau của các IPv6 Address trong phần Connection-specific DNS Sufix
28
Hình 3.25. Tấn cơng làm ngập lụt và DOS thiết bị của nạn nhân

29

Hình 3.26. Hiệu suất sử dụng CPU của nạn nhân sau khi bị tấn công ngập lụt lên đến
100%
29

v


LỜI MỞ ĐẦU
Ngày nay, con người thực hiện các giao dịch, phương thức thanh toán, truy cập
dữ liệu… ngày càng nhiều. Đây chính là điều kiện để cho các Hacker có thể lợi dụng,
khai thác các lỗ hổng bảo mật để đánh cắp thông tin, truy cập bất hợp pháp và phá hoại
bằng nhiều thủ đoạn khác nhau.Trên thực tế trên, có thể dễ dàng nhận ra rằng dù cơng
nghệ có phát triển tiên tiến đến đâu, có tăng tính bảo mật đến đâu thì đâu đó trong nó
vẫn ln có lỗ hổng mà con người có thể tìm ra và khai thác được. IPv4 được sinh ra
với những thiếu sót nhất định, và IPv6 được sinh ra nhằm sửa chữa những thiếu sót đó,
để khơng gian mạng được an tồn hơn và thơng tin người dùng được bảo mật hơn, thế
nhưng nó vẫn có rất nhiều lỗ hổng có thể khai thác nếu kẻ tấn cơng có đủ kiến thức về
nó. Thực tế này đưa ra cho chúng ta một kết luận: trong khơng gian mạng, khơng có an
tồn tuyệt đối, ln có những nguy cơ xung quanh việc sử dụng nó.

1



CHƯƠNG 1.
1.1.

TỔNG QUAN VỀ IPV6

Khái niệm IPv6

IPv6 là phiên bản mới nhất của Giao thức Internet (Internet Protocol - IP), là giao
thức truyền thông cung cấp hệ thống nhận dạng và định vị cho các máy tính trên mạng
và định tuyến lưu lượng truy cập trên Internet. IPv6 được phát triển bởi Lực lượng Đặc
nhiệm Kỹ thuật Internet (Internet Engineering Task Force - IETF) để đối phó với vấn
đề cạn kiệt địa chỉ IPv4, nhằm thay thế IPv4. Vào tháng 12 năm 1998, IPv6 đã trở thành
Tiêu chuẩn Dự thảo cho IETF, sau đó nó đã được phê chuẩn thành Tiêu chuẩn Internet
vào ngày 14 tháng 7 năm 2017.

Hình 1.1.

Mơ hình cấu trúc của IPv6 header

Cho đến nay IPv4 đã chứng minh mình là một giao thức ghi địa chỉ định tuyến
mạnh mẽ và đã phục vụ con người trong nhiều thập kỷ với hiệu quả cao. Tuy nhiên, vào
thời điểm nó ra đời (trong khoảng những năm 80), những người kiến tạo không lường
trước được sự phát triển của Internet có thể mạnh mẽ vượt sức tưởng tượng đến như
vậy, cho nên họ đã cho rằng số lượng địa chỉ mà IPv4 có thể cung cấp cho người dùng
sẽ ln đủ trong tương lai. Trên thực tế thì càng ngày số lượng địa chỉ này càng ít đi và
chúng ta có nguy cơ phải đối mặt với sự cạn kiệt đỉa chỉ IPv4. Do vậy, IPv6 ra đời mang
một sứ mệnh rất quan trọng mà có thể được mơ tả như sau:
Bản thân IPv4 không cung cấp bất kỳ tính năng bảo mật nào cho dữ liệu. Dữ liệu
phải được mã hóa với một số ứng dụng bảo mật trước khi được gửi trên Internet.
2



IPv4 cho các khách hàng khả năng có thể tự cấu hình bằng tay hoặc họ có thể cần
một số kỹ thuật định cấu hình địa chỉ. Nó khơng có một kỹ thuật để cấu hình một thiết
bị để có địa chỉ IP duy nhất trên toàn cầu.
Sau sự phát triển của IPv4 trong đầu những năm 80, không gian địa chỉ IPv4 có
sẵn đã bắt đầu rút ngắn lại một cách nhanh chóng khi nhu cầu về địa chỉ tăng nhanh theo
hàm mũ với internet. Trước nhận thức về tình huống có thể phát sinh, vào năm 1994,
IETF đã bắt đầu phát triển một giao thức ghi địa chỉ để thay thế cho IPv4. Tiến trình của
IPv6 có thể được theo dõi theo phương thức RFC đã công bố:
1998 – RFC 2460 – Basic Protocol
2003 – RFC 2553 – Basic Socket API
2003 – RFC 3315 – DHCPv6
2004 – RFC 3775 – Mobile IPv6
2004 – RFC 3697 – Flow Label Specification
2006 – RFC 4291 – Address architecture (revision)
2006 – RFC 4294 – Node requirement
Vào tháng 6/2012, một số tổ chức Internet lớn chọn đặt Server của họ trên IPv6.
Hiện tại chúng ta đang sử dụng kỹ tuật Dual Stack để thực hiện IPv6 song song với IPv4.
1.2.

Đặc điểm của IPv6

Không gian bộ nhớ rộng hơn.Trái ngược với IPv4, IPv6 sử dụng số bit nhiều hơn
4 lần để định vị một thiết bị trên Internet. Việc sử dụng nhiều bit thêm này có thể cung
cấp gần 3.4x1038 các kết nối của các địa chỉ khác nhau. Lượng địa chỉ này có thể đáp
ứng các nhu cầu về việc cấp phát địa chỉ của hầu hết mọi thứ trên thế giới này. Theo
tính tốn, mỗi mét vng trên trái đất có thể được cấp phát 1564 địa chỉ.
Header được đơn giản hóa. Các Header của IPv6 đã được đơn giản hóa bởi việc
gỡ bỏ tất cả các thông tin và các lựa chọn (mà có trong IPv4) khơng cần thiết tới phần

cuối của IPv6. Header của IPv6 chỉ lớn hơn gấp 2 lần so với trong IPv4 trong khi lượng
địa chỉ IPv6 là gấp 4 lần.
Kiểu liên kết end-to-end. Mỗi hệ thống bây giờ có địa chỉ IP duy nhất và có thể
đi qua Internet mà không sử dụng NAT hoặc các thành phần phiên dịch khác. Sau khi
IPv6 được cài đặt và chạy trên tồn hệ thống, mỗi host có thể trực tiếp kết nối với host
khác trên internet, với một số giới hạn liên quan như Tường lửa, các Chính sách của tổ
chức….
Tự động định cấu hình. IPv6 hỗ trợ cả hai chế độ tự động định cấu hình Stateful
và Stateless của các thiết bị host. Theo cách này, sự vắng mặt của một DHCP server
3


không gây gián đoạn trên sự giao tiếp liên đoạn.
Định tuyến/Chuyển tiếp nhanh hơn. Header được đơn giản hóa đặt tất cả các
thông tin không cần thiết tại phần cuối của Header. Thông tin được chứa trong phần đầu
của Header là thích hợp cho một router tạo các quyết định định tuyến, vì thế việc tạo các
quyết định định tuyến sẽ nhanh như việc kiểm tra phần lệnh Header.
Ngay từ đầu, nó được quyết định rằng IPv6 phải có bảo mật IPSec, làm cho nó
an tồn hơn IPv4. Đặc điểm này bây giờ đã được tạo tùy ý.
Không Broadcast, mặc dù Ethernet/Token Ring được cho là mạng Broadcast bởi
vì chúng hộ trợ truyền tải Broadcast, IPv6 khơng có hỗ trợ Broadcast nào nữa. Nó sử
dụng Multicast để giao tiếp với nhiều host.
Hỗ trợ Anycast, đây là đặc trưng khác của IPv6. IPv6 đã giới thiệu chế độ Anycast
trong việc định tuyến gói dữ liệu. Trong chế độ này, nhiều giao thức thông qua internet
được chỉ định cùng địa chỉ Anycast IP. Các router, trong khi định tuyến, gửi gói dữ liệu
tới đích đến gần nhất.
Tính lưu động, IPv6 khi được thiết kế vẫn giữ gìn tính lưu động. Đặc điểm này
cho các host (như mobile phone) khả năng di động xung quanh các khu vực địa lý khác
nhau và vẫn giữ được kết nối với cùng địa chỉ IP. Tính lưu động này của IPv6 lợi dụng
khả năng tự động định cấu hình IP và các Extension Header.

Hỗ trợ quyền ưu tiên được nâng cao. IPv4 sử dụng 6 bit DHCP và 2 bit ECN để
cung cấp Chất lượng dịch vụ (Quality of Service) nhưng nó chỉ có thể được sử dụng nếu
các thiết bị end-to-end hỗ trợ nó, đó là, thiết bị nguồn và đích đến nằm dưới mạng phải
hỗ trợ nó.
Trong IPv6, hạng Truyền tải và nhãn hiệu Dòng dữ liệu (Traffic class and Flow
label) được sử dụng để chỉ cho các router nằm dưới cách xử lý một cách hiệu quả gói
dữ liệu và định tuyến nó.
Tính có thể mở rộng. Một trong những lợi thế lớn nhất của IPv6 Header là nó có
thể mở rộng để nhập thêm thông tin trong phần tùy chọn. IPv4 cung cấp chỉ 40 byte cho
phần tùy chọn, trong khi đó tùy chọn trong IPv6 có thể nhiều như kích cỡ của chính gói
IPv6.

4


1.3.

Các chế độ định vị trong IPv6

IPv6 cung cấp một số kiểu chế độ mà bởi nó một host đơn có thể được định vị.
Nhiều hơn một host có thể được định vị cùng một lúc hoặc host tại khoảng cách gần
nhất có thể được định vị.
1.3.1. Chế độ Unicast
Một giao thức IPv6 được xác định một cách duy nhất trong một đoạn mạng. Gói
IPv6 chứa cả địa chỉ nguồn và đích đến. Một giao thức host được trang bị với một địa
chỉ IP mà là duy nhất trong đoạn mạng đó. Khi một mạng chuyển mạch hoặc một router
nhận một gói Unicast, được hướng đích tới một host đơn, nó gửi ra cho một trong những
giao diện đầu ra của nó mà kết nối tới host cụ thể đó.

Hình 1.2.


Mơ hình chế độ định vị Unicast

1.3.2. Chế độ Multicast
IPv6 là giống như trong Ipv4. Gói dữ liệu đã hướng đích tới nhiều host được gửi
trên một địa chỉ Multicast đặc biệt. Tất cả các host được liên quan trong thơng tin
Multicast, cần tham gia nhóm Multicast đầu tiên. Tất cả các giao thức mà đã tham gia
nhóm nhận gói này và xử lý nó, trong khi các host khác khơng có liên quan bỏ qua thơng
tin này.

5


Hình 1.3.

Mơ hình chế độ định vị Multicast

1.3.3. Chế độ Anycast
Trong chế độ định vị này, nhiều giao thức được chỉ định cùng một địa chỉ Anycast
IP. Khi một host muốn giao tiếp với một host được trang bị với một địa chỉ Anycast IP,
nó gửi một thơng báo Unicast. Với sự giúp đỡ của kỹ thuật định tuyến phức tạp, mà
thông báo Unicast được phân phối tới host gần nhất với trạm gửi.

Hình 1.4.

Mơ hình chế độ định vị Anycast

6



1.4.

Định dạng địa chỉ trong IPv6

1.4.1. Cấu trúc địa chỉ trong IPv6

Hình 1.5.

Cấu trúc của một địa chỉ IPv6

Một địa chỉ IPv6 được tạo bởi 128 bit được phân chia thành 8 khối 16 bit. Mỗi
khối sau đó được chuyển đổi thành 4 ký số thập lục phân được phân biệt nhau bởi dấu
chấm. Ví dụ dưới đây là một địa chỉ IPv6 128 bit được biểu diễn trong định dạng nhị
phân và được phân chia thành 8 khối 16 bit:
0010000000000001 0000000000000000 0011001000111000 1101111111100001
0000000001100011 0000000000000000 0000000000000000 1111111011111011
Mỗi khối sau đó được chuyển đổi thành Hệ thập lục phân (Hexa) và phân biệt
nhau bởi dấu hai chấm “:”.
2001:0000:3238:DFE1:0063:0000:0000:FEFB
Ngay sau khi chuyển đổi vào định dạng Thập lục phân, địa chỉ IPv6 vẫn còn dài.
IPv6 cung cấp một vài quy tắc để rút ngắn địa chỉ này. Các quy tắc như sau:
Quy tắc 1: Loại bỏ số 0 dẫn đầu: Trong khối 5 (0063), hai số 0 dẫn đầu có thể bị
bỏ qua: 2001:0000:3238:DFE1:63:0000:0000:FEFB
Quy tắc 2: Nếu hai hoặc nhiều khối liên tục chứa các số 0 liên tục, bỏ qua tất cả
chúng và thay đổi bằng hai dấu hai chấm “::”
Quy tắc 3: Nếu một khối chứa tồn số 0, có thể thay thế khối đó bằng 1 số 0:
2001:0:3238:DFE1:63:0000:0000:FEFB

7



1.4.2. Các trường Header trong IPv6
Điểm khác biệt giữa IPv6 và IPv4 cũng nằm trong các trường header này. Một
địa chỉ IPv6 bằng 4 lần địa chỉ IPv4, nhưng Header của IPv6 chỉ lớn hơn 2 lần so với
Header trong IPv4. Các Header trong IPv6 có một Fixed Header (Header cố định) và
khơng có hoặc có các Header tùy ý (Optical Header). Tất cả thông tin cần thiết mà thiết
yếu cho một router được giữ trong Header cố định. Header tùy ý chứa các thông tin
không bắt buộc mà giúp các router hiểu cách xử lý một gói/dịng dữ liệu.
Header cố định (Fixed Header) trong IPv6:

Hình 1.6.

Fixed Header của IPv6

Header cố định là 40 byte dài và chứa các thông tin sau:
Bảng 1.1.

Bảng mô tả các trường thông tin của IPv6 Fixed Header

ST
T

Trường & Miêu tả

1

Version - Phiên bản (4 bit): Nó biểu diễn phiên bản của Giao
thức Internet, ví dụ: 0110.

2


Traffic Class - Hạng truyền tải (8 bit): 8 bit này được phân chia
thành 2 phần. 6 bit quan trọng nhất được sử dụng cho Kiểu dịch
vụ để chỉ dẫn Router biết những dịch vụ gì nên được cung cấp
tới gói dữ liệu này. 2 bit ít quan trọng hơn được sử dụng cho
ECN.

3

Flow Label - Nhãn dòng (20 bit): Nhãn này được sử dụng để
duy trì dịng liên tục của gói dữ liệu thuộc sở hữu của một giao
tiếp. Các nguồn dãn nhãn liên lục để giúp router xác nhận rằng
một gói dữ liệu cụ thể thuộc sở hữu của một dịng thơng tin riêng
biệt. Trường này giúp tránh việc xắp xếp lại các gói dữ liệu. Nó
được thiết kế cho phương tiện luồng/thời gian thực.

8


4

Payload Length - Độ dài trọng tải (16 bit): Trường này được sử
dụng để chi cho các router biết rằng bao nhiêu thơng tin về một
gói cụ thể chứa trong trọng tải của nó. Trọng tải gồm các Header
tùy ý và dữ liệu Tầng trên (Upper Layer). Với 16 bit, lên tới
65535 byte có thể được biểu thị; nhưng nếu các trường Header
tùy ý chứa Hop-by-Hop Extension Header, thì sau đó, trọng tải
có thể vượt quá 65535 byte và trường này được thiết lập về 0.

5


Next Header (8 bit): Trường này được sử dụng để chỉ hoặc kiểu
của Extension Header hoặc nếu Extension Header khơng hiển
thị thì khi đó nó chỉ Upper Layer PDU. Các giá trị của kiểu
Upper Layer PDU là giống như trong IPv4.

6

Hop Limit - Giới hạn Hop (8 bit): Trường này được sử dụng để
dừng gói dữ liệu để lặp vơ hạn trong mạng. Nó giống như TTL
trong IPv4. Giá trị của trường Hop Limit được giảm bớt đi 1 khi
nó truyền qua một link (một router/hop). Khi trường này tiến về
0, gói được loại bỏ.

7

Source Address - Địa chỉ nguồn (128 bit): Trường này chỉ địa
chỉ của nguồn của gói dữ liệu.

8

Destination Address - Địa chỉ đích đến (128 bit): Trường này
cung cấp địa chỉ đích đến.

Header mở rộng (Extension Header) trong IPv6:
Fixed Header chỉ chứa những thông tin cần thiết để tránh việc những thơng tin
đó hoặc khơng được u cầu hoặc hiếm khi được sử dụng. Tất cả những thông tin này
được đặt giữa trường Fixed Header và Upper Layer Header, ở trong Extension Header.
Mỗi Extension Header được nhận diện bởi một giá trị riêng biệt.
Khi các Extension Header được sử dụng, trường Next Header của Fixed Header

trong IPv6 chỉ tới trường Extension Header đầu tiên. Nếu có nhiều hơn một Extension
Header, thì khi đó trường Next Header của Extension Header đầu tiên chỉ tới trường
Extension Header thứ hai, và tương tự như thế. Trường Next Header của Extension
Header cuối cùng chỉ tới Upper Layer Header. Vì thế, tất cả các Header chỉ tới Header
kế tiếp trong một phương thức danh sách kết nối. Nếu trường Next Header chứa giá trị
59, nó chỉ dẫn rằng khơng có Header nào sau trường này, kể cả Upper Layer Header.
Extension Header tiếp theo phải được hỗ trợ bởi mỗi RFC 2460:

9


Bảng 1.2.

Bảng mô tả các Extension Header
Giá trị Header
tiếp theo

Header mở rộng

Mơ tả

Hop-byHop Options
Header

0

Được đọc bởi tồn bộ thiết bị trong
mạng chuyển tuyến

Routing Header


43

Chứa các hàm hỗ trợ định tuyến

Fragment Header

44

Chứa các tham số của biểu đồ phân
mảnh

Destination Options
Header

60

Được đọc bởi các thiết bị đích

Authentication Header

51

Thơng tin liên quan đến xác thực

Escapsulating Security
Payload Header

50


Đoạn mã hóa thơng tin

Dãy liên tục của Extension Header sẽ là:
Bảng 1.3.

Dãy liên tục của Extension Header
IPv6 Header
Hop-by-Hop Options Header
Destination Options Header1
Routing Header
Fragment Header
Authentication Header

Escapsulating Security Payload Header
Destination Options Header2
Upper-layer header
Những Header đượcxử lý bởi các đích đến Đầu tiên và tiếp theo đó, được xử lý
bởi đích đến Cuối cùng.
Các Extension Header được xắp xếp theo thứ tự cái này sau cái kia trong một
phương thức danh sách liên kết, như được miêu tả trong sơ đồ dưới:

Hình 1.7.

Định dạng kết nối Extension Header
10


1.5.

Định tuyến (Routing) trong IPv6


Distance Vector Routing Protocol – Giao thức định tuyến vecto khoảng cách:
Một router đang chạy trên giao thức này quảng bá các tuyến được kết nối của nó và biết
về các tuyến mới từ router hàng xóm của nó. Chi phí định tuyến để tiến tới đích đên
được tính tốn bởi phương thức các hop giữa nguồn và đích đến. Một router tin cậy vào
các router hàng xóm của nó cho việc chọn đường truyền tốt nhất, (cũng được biết như
là “định tuyến tin đồn”). RIP và BGP là các Giao thức vecto khoảng cách.
Link-State routing protocol – Giao thức định tuyến Trạng thái-Liên kết: Giao
thức này nhận trạng thái của liên kết và quảng bá tới các router hàng xóm của nó. Thơng
tin về liên kết mới được biết từ các router ngang bậc. Sau khi tất cả thông tin định tuyến
đã được đồng quy, Giao thức này sử dụng thuật tốn riêng của nó để tính tốn đường
truyền tốt nhất trong tất cả các liên kết có sẵn. OSPF và IS-IS là các giao thức định tuyến
trạng thái liên kết và cả hai giao thức này đều sử dụng thuật toán Đường truyền đầu tiên
ngắn nhất (Shortest Path First) của Djikstra.
Các giao thức định tuyến có thể được phân chia thành hai loại:
Giao thức định tuyến nội vi (Interior Routing Protocol): Các giao thức trong loại
này được sử dụng trong môt hệ thống hoặc tổ chức tự quản lý để phân phối các tuyến
giữa tất cả các router bên trong giới hạn của nó. Ví dụ: RIP, OSPF.
Giao thức định tuyến ngoại vi (Exterior Routing Protocol): Giao thức loại này
phân phối thông tin định tuyến giữa hai hệ thống hoặc tổ chức tự quản lý. Ví dụ: BGP.
1.5.1. Các giao thức định tuyến trong IPv6

● RIPng
RIPng là viết tắt của Routing Information Protocol Next Generation - Là giao
thức thông tin định tuyến thế hệ mới. Đây là giao thức định tuyến nội vi và là một giao
thức vecto khoảng cách. RIPng đã được nâng cấp để hỗ trợ IPv6.
● OSPFv3
OSPFv3 là viết tắt của Open Shortest Path First version 3 - Đây là Mở đường
truyền ngắn nhất đầu tiên phiên bản 3, Một giao thức định tuyến nội vi mà được chỉnh
sửa để hỗ trợ IPv6. Đây là một Giao thức trạng thái - liên kết và sử dụng thuật tốn của

Djikrata để tính tốn đường truyền tốt nhất tới tất cả đích đến.
● BGPv4
BGPv4 là viết tắt của Border Gateway Protocol - Nó chỉ mở Giao thức gateway
ngoại vi tiêu chuẩn có sẵn. BGP là một giao thức vecto khoảng cách mà nhận Hệ thống
tự quản lý như là calculation metric, thay vì số các router như là Hop. BGPv4 là sự nâng
cấp cảu BGP để hỗ trợ định tuyến IPv6.
11


1.5.2. Các giao thức được thay đổi để hỗ trợ IPv6
ICMPv6: Là viết tắt của Internet Control Message Protocol version 6 - Giao thức
thông báo điều khiển internet phiên bản 6 là một sự nâng cấp của ICMP để thu nhận các
yêu cầu IPv6. Giao thức này được sử dụng cho các chức năng thăm dị, thơng báo lỗi và
thơng tin, các mục đích thống kê. Giao thức phát hiện lân cận (NDP) của ICMPv6 thay
thế cho ARP và giúp phát hiện các router lân cận trên đường liên kết.
HCPv6: Là viết tắt của Dynamic Host Configuration Protocol version 6 - Giao
thức định hình host động phiên bản 6 là một sự bổ sung của DHCP. IPv6 cho các host
khả năng không yêu cầu bất kỳ DHCP server nào để lấy được địa chỉ IP khi chúng có
thể tự động định cấu hình.
DNS: Khơng có phiên bản DNS mới nào nhưng bây giờ nó được trang bị với
phần mở rộng để cung cấp sự hỗ trợ cho việc truy vấn các địa chỉ IPv6. Một bản ghi
AAAA mới đã được thêm vào để phản hồi các thông báo truy vấn IPv6. Bây giờ DNS
có thể phản hồi với cả phiên bản IP (4 và 6) mà không cần bất cứ sự thay đổi nào trong
định dạng truy vấn.

12


CHƯƠNG 2.
2.1.


GIỚI THIỆU VỀ CƠNG CỤ TCH-IPV6

Khái qt về cơng cụ

THC-IPV6 là một bộ cơng cụ hồn chỉnh để tấn công các điểm yếu giao thức cố
hữu của IPV6 và ICMP6. Cho đến thời điểm hiện tại, đây là công cụ duy nhất được viết
dành riêng cho việc tấn công vào giao thức IPv6 với nhiều tính năng tổng hợp như port
scanning, port bouncers, Denial-of-Service, packet fun,…

Hình 2.1.

THC-IPv6

Yêu cầu tối thiểu khi sử dụng:
● Máy đã cài đặt Linux2.6.x hoặc phiên bản mới hơn
● Ethernet

13


Hình 2.2.

THC-IPv6 bản cơng bố v3.2

Hình 2.3.

THC-IPv6 bản cơng bố v3.4

14



Hình 2.4.

THC-IPv6 bản cơng bố v3.6

Hình 2.5.

THC-IPv6 bản cơng bố v3.8

Lưu ý :
Người dùng phải cài đặt libpcap-dev để có thể xây dựng các cơng cụ. Ngồi ra,
libssl-dev và libnetfilter-queue-dev cũng được khuyến nghị. Chúng có thể được cài đặt
bằng cách chạy lệnh (Kali, Debian, Ubuntu):
sudo apt-get install libpcap-dev libssl-dev libnetfilter-queue-dev
Bạn có thể xây dựng các cơng cụ bằng cách chạy lệnh: make all
Bạn có thể cài đặt các cơng cụ và các trang thủ cơng hiện có bằng cách chạy:
make install
.
15


2.2.

Các tính năng của cơng cụ
Cơng cụ THC IPV6 đi kèm với rất nhiều công cụ tấn công hiệu quả:
parasite6: lợi dụng ICMPv6 để trở thành người ở giữa, tương tự như ARP mitm

alive6: một công cụ quét thiết bị hoạt động hiệu quả, sẽ phát hiện tất cả các hệ
thống đang nghe địa chỉ này

dnsdict6: từ điển vét cạn DNS IPv6
fake_router6: công bố người sử dụng công cụ là 1 bộ định tuyến trên mạng, với
mức độ ưu tiên cao nhất
redir6: chuyển hướng lưu lượng truy cập đến người sử dụng công cụ một cách
thông minh (man-in-the-middle) với bộ chuyển hướng ICMPv6 thông minh
detect-new-ip6: phát hiện các thiết bị IPv6 mới tham gia mạng, bạn có thể chạy
tập lệnh để tự động quét các hệ thống này, v.v.
dos-new-ip6: phát hiện các thiết bị IPv6 mới và cho họ biết rằng IP đã chọn của
họ xung đột trên mạng (DOS)
trace6: traceroute6 tốc độ cao hỗ trợ ICMP6 echo request và TCP-SYN
flood_router6: làm ngập mục tiêu bằng các quảng cáo bộ định tuyến ngẫu nhiên
(router advertisements)
flood_advertise6: làm ngập mục tiêu bằng các quảng cáo hàng xóm ngẫu nhiên
(router advertisements)
fuzz_ip6: fuzzer cho IPv6
implement6: thực hiện các kiểm tra triển khai khác nhau trên IPv6
fake_mld6: thơng báo bản thân bạn trong nhóm đa phương tiện do bạn chọn trên
mạng
fake_mldrouter6: thông báo bộ định tuyến MLD giả mạo
fake_mipv6: đánh cắp IP di động của người dùng nếu IPSEC không cần thiết để
xác thực
fake_advertiser6: thông báo về chính bạn trên mạng
mining6: kiểm tra mục tiêu bằng các lỗ hổng IPv6 đã biết
denial6: tập hợp các bài kiểm tra tấn công từ chối dịch vụ vào mục tiêu
thcping6: gửi một gói ping6 thủ cơng
Và khoảng 30 công cụ khác để khám phá và sử dụng trong thực tế.
16


CHƯƠNG 3.

3.1.

KHAI THÁC THỰC TẾ VỚI CÔNG CỤ THC-IPV6

Cài đặt công cụ

Trước khi cài đặt công cụ, ta cần kiểm tra phiên bản và cài các thư viện cần thiết
để công cụ hoạt động đúng và hiệu quả. Hệ điều hành chúng ta sử dụng cho các bài lab
của chương này sẽ là Kali Linux 2021.2

Hình 3.1.

. Phiên bản hệ điều hành sử dụng trong bài lab

Thực hiện kiểm tra phiên bản Python

Hình 3.2.

Phiên bản Python sử dụng trong bài lab

Python hiện tại đang ở phiên bản 2.7.18 > 2.6.x 🡺 đáp ứng được yêu cầu của
công cụ.
Tiếp theo ta cài đặt các thư viện libpcap-dev, libssl-dev và libnetfilter-queue-dev
theo yêu cầu bằng lệnh
sudo apt-get install libpcap-dev libssl-dev libnetfilter-queue-dev

17


Hình 3.3.


Cài đặt các thư viện

Sau khi đáp ứng được các yêu cầu của công cụ, ta tiến hành cài đặt công cụ.
Clone công cụ từ github về máy bằng lệnh

Hình 3.4.

Clone cơng cụ từ github về máy

18


Hình 3.5.

Folder thc-ipv6 sau khi clone từ github về

Ta có thể viết một module thực hiện một kiểu tấn công khác, hoặc cài đặt tồn
bộ các module có sẵn bằng lệnh sudo make install:

Hình 3.6.

Cài đặt tồn bộ các module có sẵn của thc-ipv6

Sau tất cả các bước trên, cơng cụ đã sẵn sàng thực hiện tấn công thực tế. Trong
phần tiếp theo ta sẽ chạy một số module để xem các tham số của lệnh và kết hợp chúng
trong bài lab cuối cùng.
19



×