Người hướng dẫn: Mã
hóa đầu tiên mà chúng ta sẽ tìm hiểu cách phá vỡ được gọi là WEP, hoặc
Quyền riêng tư tương đương có dây.
Đây là một mã hóa cũ, có thể dễ dàng bị phá vỡ.
Lý do tại sao tôi vẫn đề cập đến nó trong khóa học
này, trước hết là vì như tôi đã nói, nó rất đơn giản,
vì vậy đó là một điểm khởi đầu tốt.
Ngoài ra, nó vẫn được sử dụng đôi khi trong một số mạng.
Do đó, bạn không thể thực sự gọi mình là một hacker, và sau
đó nếu bạn thấy một mạng sử dụng WEP, bạn sẽ gặp khó
khăn và thậm chí
bạn sẽ không thể đột nhập vào mạng đó.
Vì vậy, trong bài giảng này, tôi sẽ giải thích cách hoạt động của WEP,
và điểm yếu mà chúng ta có thể sử dụng để phá vỡ nó là gì.
Và trong bài giảng tiếp
theo, bạn sẽ thấy cách chúng ta có
thể sử dụng điểm yếu này để phá vỡ WEP và lấy khóa cho
bất kỳ mạng nào sử dụng WEP.
Vì vậy, về cơ bản, WEP sử dụng một thuật toán gọi là RC4
để mã hóa dữ liệu của nó.
Vì vậy, về cơ bản cách thức hoạt động của
điều này là, nếu một máy khách muốn gửi một cái gì
đó đến bộ định tuyến, và giả sử nó muốn gửi
văn bản này, dữ liệu để gửi tới bộ
định tuyến, trước tiên nó sẽ mã hóa nó bằng một khóa.
Do đó, văn bản bình thường này sẽ được chuyển đổi thành vô nghĩa như
bạn có thể thấy ở đây.
Gói tin được mã hóa này sẽ được gửi vào không gian, vì vậy
nếu một tin tặc chụp được gói này như chúng ta đã thấy trước đây,
nếu chúng ta mở gói này, chúng
ta sẽ thấy rằng nó đầy vô nghĩa.
Mặc dù nó thực sự chứa thông tin hữu ích, chúng
tôi sẽ không thể đọc được vì nó đã được mã hóa.
Điểm truy cập sẽ nhận được gói
tin được mã hóa này và nó có thể chuyển
đổi nó trở lại dạng ban đầu vì nó có khóa.
Do đó, nó sẽ thực sự có thể đọc nội dung, dữ liệu
để gửi đến bộ định tuyến.
Điều tương tự cũng xảy ra nếu bộ
định tuyến muốn gửi lại thứ gì đó cho
máy khách, trước tiên nó sẽ mã hóa nó
bằng một khóa, gửi
cho máy khách, máy khách sẽ có thể
giải mã vì nó có khóa.
Vì vậy, khái niệm luôn giống
nhau, người phát mã hóa dữ liệu bằng một
khóa, gửi nó đến người
nhận, người nhận có thể giải mã
nó, bởi vì nó cũng có khóa, do đó, bất
kỳ ai nắm bắt được gói tin ở giữa, họ
sẽ nhận được gói tin,
nhưng họ sẽ không thể xem nội dung vì
họ không có khóa.
Vì vậy, thuật toán và cách RC4 hoạt động thực
sự ổn, vấn đề là ở cách
WEP triển khai thuật toán này.
Và để hiểu nó, chúng
ta hãy phóng to hơn một chút trên mỗi bước.
Vì vậy, quay trở lại bước đầu tiên,
chúng ta có máy khách đang cố gắng gửi dữ liệu đến bộ định tuyến,
và dữ liệu muốn gửi là dữ liệu để gửi
tới bộ định tuyến.
Vì vậy, để mã hóa điều này,
WEP cố gắng tạo một khóa duy nhất cho mỗi gói.
Vì vậy, theo nghĩa đen, mỗi gói được gửi
vào không khí, nó cố gắng tạo một khóa duy nhất mới cho nó, để làm
điều đó, nó tạo ra một vector khởi tạo 24 bit ngẫu nhiên.
Vectơ khởi tạo sau đó được thêm vào mật khẩu của
mạng thành khóa thực mà mọi
người sử dụng để kết nối với mạng.
Thao tác này tạo ra một luồng
khóa và sau đó luồng khóa này được sử dụng để mã hóa gói
tin này và biến nó thành vô nghĩa.
Vì vậy, về cơ bản, chúng ta có luồng khóa cộng
với dữ liệu mà chúng ta cần mã hóa, cung cấp cho
chúng ta dòng chữ vô nghĩa,
và sau đó dòng chữ vô nghĩa được gửi vào không khí.
Nhưng trước khi gửi nó vào không
khí, WEP cũng sẽ nối thêm vectơ khởi tạo.
Đây là số ngẫu nhiên 24 bit mà tôi đã nói nó tạo
ra để đảm bảo rằng mỗi gói có một khóa duy nhất.
Lý do tại sao nó thêm vectơ khởi
tạo vào gói là vì một khi
bộ định tuyến nhận được gói
này, nó cần có thể giải mã nó,
và để giải mã nó, nó cần khóa và IV.
Nhưng bộ định tuyến đã có khóa, vì
vậy không cần phải gửi khóa đó.
Do đó chúng tôi chỉ cần gửi IV.
Vì vậy, khi bộ định tuyến nhận được gói tin, nó có IV, nó
có mật khẩu hoặc khóa, vì vậy
nó có thể tạo ra một luồng khóa
và sau đó sử dụng luồng khóa đó để biến đổi dòng khóa này
thành dạng ban đầu và đọc gói tin.
Vì vậy, nếu bạn nghĩ về những gì tôi
đã nói, bạn có thể đoán được điểm yếu là gì.
Về cơ bản, IV được gửi ở dạng văn bản thuần túy, vì vậy nếu bạn
nhìn vào điều này, bạn
có thể thấy nội dung gói tin đã được mã hóa, vì
vậy nếu ai đó chụp được gói tin này,
họ sẽ không thể đọc được, nhưng họ sẽ
có thể đọc được. IV ở dạng văn bản thuần túy.
Ngoài ra, kích thước của IV chỉ là 24 bit.
Bây giờ xét đến lượng lưu lượng truy
cập khổng lồ có thể được tạo ra trên mạng Wi-Fi,
con số này không đủ lớn và
các IV sẽ bắt đầu lặp lại trong một mạng bận rộn.
Điều này làm cho WEP dễ bị tấn công thống kê, vì vậy chúng tôi có thể
sử dụng một công cụ có tên là Aircrack-ng để xác
định luồng khóa, sau khi
chúng tôi có đủ số IV lặp lại.
Và từ đó nó cũng có thể bẻ khóa WEP và cung cấp cho
chúng ta chìa khóa mạng.