WEP là từ viết tắt của Wired Equipvalent Privacy, nghĩa là bảo mật tương đương với mạng có dây (Wired LAN). Khái niệm này là một phần trong chuẩn IEEE 802.11. Theo Định nghĩa, WEP được thiết kế để đảm bảo tính bảo mật cho mạng không dây đạt mức độ như là mạng nối cáp truyền thống. Đối với mạng LAN (định nghĩa theo chuẩn IEEE 802.3), bảo mật cho dữ liệu trên đường truyền đối với các tấn công bên ngoài được đảm bảo qua biện pháp giới hạn vật lý, tức là hacker không thể truy xuất trực tiếp đến hệ thống đường truyền cáp. Do đó chuẩn 802.3 không đặt ra vấn đề mã hóa dữ liệu để chống lại các truy cập trái phép. Đối với chuẩn 802.11, vấn đề mã hóa dữ liệu được đặt lên ưu tiên hàng đầu do đặc tính của mạng không dây là không thể giới hạn về mặt vật lý truy cập đến đường truyền, bất cứ ai trong vùng phủ sóng ñều có thể truy cập dữ liệu nếu không được bảo vệ.
13 trang |
Chia sẻ: vietpd | Lượt xem: 1685 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Đề tài Tìm hiểu và sử dụng phần mềm ( phần cứng ) Hack pass bảo mật wireless, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT
THIỆN TRỤ
-----------oOo----------
BÁO CÁO ĐỒ ÁN MÔN HỌC
Ngành : Quản trị mạng Hệ : Chính Quy
Niên khóa :2008-2011
Tên đề tài :
Tìm hiểu và sử dụng phần mềm ( phần cứng ) Hack pass bảo mật wireless ………………….…………………………
Sinh viên thực hiện : Phạm Thanh Long
Người hướng dẫn: ……………………………
Năm 2011.
Môn học:Công Nghệ Mạng Không Dây
1)Tìm hiểu và sử dụng phần mềm ( phần cứng ) Hack pass bảo mật wireless
I.Giới thiệu về công nghệ bảo mật WEP:
WEP là từ viết tắt của Wired Equipvalent Privacy, nghĩa là bảo mật tương đương với mạng có dây (Wired LAN). Khái niệm này là một phần trong chuẩn IEEE 802.11. Theo Định nghĩa, WEP được thiết kế để đảm bảo tính bảo mật cho mạng không dây đạt mức độ như là mạng nối cáp truyền thống. Đối với mạng LAN (định nghĩa theo chuẩn IEEE 802.3), bảo mật cho dữ liệu trên đường truyền đối với các tấn công bên ngoài được đảm bảo qua biện pháp giới hạn vật lý, tức là hacker không thể truy xuất trực tiếp đến hệ thống đường truyền cáp. Do đó chuẩn 802.3 không đặt ra vấn đề mã hóa dữ liệu để chống lại các truy cập trái phép. Đối với chuẩn 802.11, vấn đề mã hóa dữ liệu được đặt lên ưu tiên hàng đầu do đặc tính của mạng không dây là không thể giới hạn về mặt vật lý truy cập đến đường truyền, bất cứ ai trong vùng phủ sóng ñều có thể truy cập dữ liệu nếu không được bảo vệ.
Nói một cách tóm gọn, WEP cung cấp bảo mật cho dữ liệu trên mạng không dây qua phương thức mã hóa sử dụng thuật toán đối xứng RC4, được phát minh bởi Ron Rivest, nhân viên của hãng nổi tiếng RSA Security Inc. Thuật toán RC4 cho phép chiều dài của khóa thay đổi và có thể lên đến 256 bytes. Chuẩn 802.11 đòi hỏi bắt buộc các thiết bị WEP phải hỗ trợ chiều dài khóa tối thiểu là 40 bit, đồng thời đảm bảo tùy chọn hỗ trợ cho các khóa dài hơn. Hiện nay, đa số các thiết bị không dây hỗ trợ WEP với ba chiều dài khóa, 40 bit, 64 bit, và 128 bit. Với phương thức mã hóa RC4, WEP cung cấp tính bảo mật và toàn vẹn của thông tin trên mạng không dây, đồng thời có thể được xem như là một phương thức kiểm soát truy cập. Một máy nối mạng không dây không có khóa WEP chính xác sẽ không thể truy cập ñến Access Point (AP) và cũng không thể giải mã cũng như thay đổi dữ liệu trên đường truyền. Tuy nhiên, gần đây đã có những phát hiện của giới phân tích an ninh cho thấy nếu bắt được một số lượng lớn nhất định của dữ liệu đã mã hóa sử dụng WEP và sử dụng công cụ thích hợp, có thể dò tìm được chính xác khóa WEP trong thời gian ngắn. Điểm yếu này là do lỗ hổng trong cách thức WEP sử dụng phương pháp mã hóa RC4.
II.Các bước hack WEP:
Tiến trình crack WEP đòi hỏi phải có ít nhất 01 máy tính đang kết nối với AP hoặc router. Bạn sẽ không làm được gì nếu không có máy (nạn nhân) nào đang nối mạng.
Bộ công cụ crack WEP tốt nhất được phát triển bởi nhóm Aircrack-ng, đây cũng chính là bộ công cụ mà ta sẽ dùng. Aircrack-ng là bộ chương trình được viết với mục đích công phá khóa mạng WEP và WPA-PSK. Trong khi bộ chương trình này gồm tổng công 07 chương trình độc lập và một vài công cụ nhỏ khác, ta chỉ sử dụng 04 trong số chúng, đó là:
airmon-ng – dùng để chuyển card wireless sang dạng monitor (chế độ nghe ngóng và ghi nhận tín hiệu).
airodump-ng – dùng để phát hiện ra WLAN và bắt các gói dữ liệu (packet capture).
aireplay-ng – tạo ra dòng tín hiệu.
aircrack-ng – tìm ra mã khóa WEP.
Mặc dù có các phiên bản của bộ Aircrack-ng chạy trên hệ điều hành Windows, và thậm chí là cả Zaurus Oses, ta vẫn sử dụng Linux do đặc điểm dễ tương thích với các card wireless của nó. Đừng lo lắng khi bạn không phải là một chuyên gia về Linux, bởi vì ta sẽ sử dụng BackTrack 3 (beta version) live. Do đây là hệ điều hành chạy trực tiếp trên đĩa CD hoặc USB (chúng tôi dùng USB) nên bạn không cần phải có động tác cài đặt phiền phức và BackTrack 3 (BT3)cũng không hề để lại dấu vết gì trên ổ đĩa cứng cài Windows của bạn (trừ khi bạn cố ý). BT3 là bản Linux được điều chế để chuyên dùng cho crack WEP, trên đó đã có bộ Aircrack-ng cài đặt sẵn cho bạn sử dụng.
Bạn có thể tìm thấy nhiều thông tin hơn về BT3 cùng với link download tại đây.
Lựa chọn quan trọng nhất mà bạn cần làm là loại card wireless bạn sẽ sử dụng. Do bạn sẽ cần dùng đến một bộ các công cụ để crack, bạn cần lựa chọn ra được một danh sách các loại card wireless có khả năng tương thích với tất cả các chương trình trong gói. Kết quả cho thấy bạn có khả năng lựa chọn rộng rãi đối với card wireless để thực hiện mục tiêu crack mạng WEP.
Một điều may mắn là trang web Aircrack-ng có rất nhiều phần hỗ trợ việc lựa chọn card wireless thích hợp. Khuyến cáo của họ là dùng card Atheros chipset. Vì không chịu nghe theo lời khuyên này của họ nên chúng tôi đã gặp phải một số hậu quả trong quá trình crack. tuy nhiên hình ảnh sử dụng để minh họa trong toàn bộ serie bài viết này là của máy dùng card Atheros.
Khi đã lựa chọn được phần cứng, bạn cần lựa chọn cho mình một số chương trình phần mềm. Như đã nói ở trên, chúng tôi sẽ sử dụng BackTrack 3 (bản beta) chạy trên USB. Nếu máy tính của bạn không có khả năng boot từ đĩa flash USB thì có thể dùng BT3 chạy trực tiếp trên đĩa CD. Hệ điều hành BT3 có tất cả những gì cần thiết để thực hiện các công việc về bảo mật và đặc biệt là nó không hề ghi lại bất cứ thứ gì trên ổ cứng của bạn.
Sau khi download file ISO, bạn có hai lựa chọn.
Cách thứ nhất, giải nén (bằng Winrar) những gì có bên trong file ISO ra ổ đĩa USB của bạn sau đó kích hoạt chạy \boot\bootinst.bat để làm cho đĩa USB (dung lượng tối thiểu 1GB) có khả năng boot được. Nếu dùng BT3 trên USB thì mọi việc sẽ nhanh chóng và êm ái hơn so với dùng trên CD. Đương nhiên, trước khi muốn boot được từ USB thì bạn cần thiết lập thứ tự boot ưu tiên từ BIOS cho USB của bạn.
- Cách thứ hai, chỉ thực hiện khi bạn không có khả năng boot từ USB, là dùng chương trình ghi đĩa để burn file ISO vào đĩa CD và sử dụng nó để boot chiếc máy tính của bạn.
Công việc tạo USB/CD khởi động bạn có thể làm với Windows vì như thế sẽ quen thuộc hơn nhiều cho những ai chưa tiếp xúc với Linux.
Sau khi boot lại máy tính của bạn để vào BT3, bạn cần kiểm tra rằng WLAN adapter đã được nhận ra và khởi động. Click vào biểu tượng chiếc máy tính có màn hình màu đen (bên cạnh nút start) để mở Shell – Konsole (tương tự cmd trong Windows). Gõ vào dòng lệnh iwconfig để kiểm tra WLAN card của bạn. Kết quả của dòng lệnh có dạng dưới đây:
Hình 1: màn hình kết quả lệnh iwconfig
Như đã nói ở trên, card WLAN phải có khả năng hoạt động ở chế độ “monitor mode”. Điều này nghĩa là card WLAN có thể bắt được tất cả những gói dữ liệu mà nó phát hiện ra mà không chỉ giới hạn ở những gói dữ liệu được gửi đến địa chỉ MAC của nó.
Chúng ta sử dụng lệnh airmon-ng để đưa card WLAN vào chế độ monitor. Chỉ cần gõ:
airmon-ng
để kiểm tra trạng thái của adapter. Sau đó:
airmon-ng stop ath0
để dừng chế độ interface thông thường của card. Tiếp tục với lệnh:
airmon-ng start wifi0
Chú ý rằng tôi sử dụng wifi0, chứ không phải ath0 ở lệnh ở trên. Điều này có tác dụng để cho Atheros madwifi driver hoạt động.
Cửa sổ kết quả xuất hiện ở từng dòng lệnh tương tự như ở hình sau:
Hình 2: kết quả lệnh airmon-ng
Bạn có thể kiểm tra rằng chế độ monitor mode đang được kích hoạt bằng cách gõ lệnh iwconfig. Hình 3 dưới đây cho thấy kết quả khẳng định rằng adapter đang chế độ monitor và sẵn sàng cho bạn thực hiện bước kế tiếp.
Bây giờ, khi adapter đã ở chế độ monitor mode, chúng ta đã có thể bắt đầu quét để tìm ra mạng wireless. Trên thực tế, nếu ai đó đang cố gắng tấn công một mạng wireless, đều cần có một số thông tin cần thiết. Các chuyên gia làm thực nghiệm xâm nhập mạng để kiểm tra miêu tả việc tấn công này là tấn công “zero knownledge”.
Chúng ta đang tìm kiếm các AP sử dụng chế độ mã hóa WEP và đang có ít nhất 01 máy khách (client) đang kết nối tới nó. Máy khách đi kèm này là quan trọng bởi vì bạn cần có được địa chỉ MAC của client này để sử dụng đòn tấn công với ARP Replay để tạo ra dòng dữ liệu.Nếu AP không có client nào đang kết nối, hãy di chuyển đến một AP khác.
Chúng ta cần có 03 thông tin để bắt đủ dòng dữ liệu, tạo điều kiện cho aircrack hoạt động:
Địa chỉ MAC / BSSID của AP mục tiêu.
Địa chỉ MAC / BSSID của máy trạm kết nối với AP
Kênh (channel) đang được sử dụng bới AP mục tiêu và máy trạm
Có nhiều cách để quét mạng wireless LANs, bao gồm cả chương trình rất nỗi tiếng là Kismet được tích hợp sẵn trong BT3. Tuy nhiên, chương trình này hoàn toàn độc lập với bộ Aircrack, Kismet có những yêu cầu riêng của nó đối với adapters. Việc sử dụng Kismet khá đơn gián và có cả phiên bản của Kismet dành cho Windows. Tuy nhiên, để mọi việc đơn giản, chúng tôi sẽ tiếp tục với airodump-ng, một bộ phận của bộ Aircrack, và cũng rất tốt để làm được những điều chúng ta cần.
Khởi động airodump-ng bằng cách gõ lệnh:
airodump-ng --ivs --write capturefile ath0
Lựa chọn --ivs nhằm mục đích để chỉ ghi lại những gói dữ liệu IVs bắt được (một phần của dòng dữ liệu lưu thông cần thiết cho việc crack WEP) dưới dạng các files với phần đầu của tên files được quy định bằng --write "capturefile". Chú ý rằng những dấu gạch liên tiếp (--) không phải là do gõ nhầm, mà là một dạng dài hơn để dễ đọc hơn đối với các dòng lệnh của airodump.
Dòng lệnh này làm airodump bắt đầu quét tất cả các kên có tần số 2.4 GHz với card Atheros (ath0). Hình 4 cho thấy một dạng kết quả thường thấy.
Hình 4: airodump-ng quét các kênh
Hình 4 cho thấy có 02 APs (ở nhóm đầu) và hai máy trạm (Stations – STAs) (ở nhóm sau). Một STA (BSSID 00:1A:70:7F:79:F2) kết nối với AP với linksys ESSID (BSSID 00:06:25:B2:D4:19). Bạn có thể kiểm tra xem STA nào đang kết nối với AP nào bằng cách so sánh địa chỉ MAC của AP (BSSID) ở hai nhóm. Hình 4 cũng cho thấy rằng AP linksys AP đang dùng Channel 5.
Và như vậy 03 thông tin mà chúng ta cần có đã được thu thập:
Địa chỉ MAC / BSSID của AP mục tiêu = 00:06:25:B2:D4:19.
Địa chỉ MAC / BSSID của máy trạm kết nối với AP = 00:1A:70:7F:79:F2.
Kênh (channel) đang được sử dụng bới AP mục tiêu và máy trạm = 5.
Cột PWR trong nhóm các AP cho thấy mức độ mạnh của tín hiệu (signal level). Nếu bạn muốn chọn một AP là mục tiêu trong số nhiều AP xuất hiện trong bảng, hãy chọn AP nào có chỉ số PWR cao vì điều này đồng nghĩa với mức tín hiệu cao và tín hiệu mạnh = tốc độ bắt gói dữ liệu cao.
Đối với một máy client đang hoạt động, bạn cũng có thể thấy một cột RXQ, dùng để đo tỷ lệ phần trăm của gói dữ liệu nhận được thành công trong vòng 10 giây gần nhất. Cũng như trên, một chỉ sao cao hơn sẽ tốt hơn.
Chú ý: các files bắt được bởi airodump-ng được lưu vào thư mục gốc (/root directory). Chúng ta lựa chọn --ivs để tránh tình trạng thiếu dung lượng trên RAM khi chạy BT2 bởi vì chúng ta không cần gì khác ngoài các file IVs.
Thường thì bạn không gặp phải trường hợp thiếu dung lượng RAM. Nhưng trong trường hợp gặp phải điều này, chỉ cần dùng lệnh rm để loại bỏ các files bắt được. Chú ý rằng khi dùng lệnh –ivs, các files sẽ được lưu lại với phần mở rộng là .ivs.
Khi chúng ta đã xác định được AP mục tiêu sử dụng chế độ bảo mật WEP, chúng ta cần bắt đủ các Ivs bằng airodump để cho aircrack-ng sử dụng. Cột #Data trong airodump-ng cho biết có bao nhiêu IVs đã bắt được và cột #/s cho biết tốc độ bắt dữ liệu trên mỗi giây.
Nếu nhìn ngược lại hình 4 ở trên, bạn có thể thấy rằng trong thời gian 09 phút kể từ lúc airodump-ng bắt đầu chạy, chúng tôi chỉ bắt được có 246 Ivs và với một tốc độ bắt rất thấp, thậm chí nhiều lúc còn không bắt được dữ liệu. Thử tưởng tượng bạn cần phải bắt được ít nhất 20.000 Ivs để có thể bẻ được một khóa WEP mã hóa 64bit, chắc chắn bạn sẽ cần phải làm gì đó để đẩy cao tốc độ bắt gói dữ liệu lên nếu không muốn ngồi đợi cả ngày!
Đây chính là lúc aireplay-ng xuất hiện. Chương trình này được sử dụng để tạo ra dòng dữ liệu lưu thông (traffic) để bắt thông qua việc sử dụng nhiều kỹ thuật ánh xạ khung (frame injection) khác nhau. Ta sẽ sử dụng kiểu tấn công lặp ARP Request Replay để tạo gói dữ liệu ánh xạ (packet injection). Nếu không có packet injection có thể sẽ mất đến nhiều ngày để thu thập đủ số lượng IVs cần thiết!
Kiểu tấn công lặp chỉ đơn giản là việc bắt các gói dữ liệu tạo ra bởi STA mục tiêu, sau đó phát ra lại để đánh lừa máy trạm rằng nó bắt được gói dữ liệu. Quá trình này lặp đi lặp lại liên tục làm cho lượng dữ liệu lưu thông tăng lên nhiều lần. Bởi vì dòng dữ liệu tạo ra từ máy của bạn được ngụy trang như dòng dữ liệu của một máy client thực sự nên nó không ảnh hưởng đến hoạt động bình thường của mạng và nhờ đó công việc tạo IVs của nó được vận hành êm thấm.
Để sử dụng aireplay-ng, trước hết cần phải khởi động lại airodump-ng, nhưng với channel và địa chỉ MAC của AP mục tiêu. Gõ dòng lệnh sau đây cùng với số channel và địa chỉ MAC của AP mà bạn đã thu thập được ở bước chạy airodump-ng lần trước:
airodump-ng --ivs --channel [AP channel]
--bssid [AP BSSID] --write capturefile ath0
Chú ý: Một số dòng lệnh được cắt thành hai dòng để cho vừa bề ngang của trang. Đảm bảo rằng bạn nhập nó chỉ với một dòng duy nhất.
Các files dữ liệu bắt được cũng sẽ được lưu vào thư mục gốc /root và có dạng capturefile_nn.ivsnn là hai con số, ví dụ như capturefile_01.ivs. Trong trường hợp của chúng tôi, dòng lệnh cụ thể như sau: với
airodump-ng --ivs --channel 5 --bssid 00:06:25:B2:D4:19
--write capturefile ath0
Hình 5 dưới đây thể hiện kết quả của lệnh trên. Chú ý rằng tại thời điểm này, chúng ta chỉ thấy Channel 5, AP linksys và máy client đang kết nối với nó.
Hình 5: airodump-ng đang bắt gói dữ liệu từ AP mục tiêu
Nếu nhìn vào các cột #Data và #/s thì chúng ta có thể thấy được tốc độ bắt dữ liệu rất thấp như đã nói ở trên. Vậy thì hãy làm cho mọi thứ tăng tốc với aireplay-ng. Mở một cửa sổ shell khác và gõ vào các dòng lệnh cùng với thông tin về mạng WLAN mục tiêu như địa chỉ MAC của AP [AP BSSID] và MAC của client có được từ airodump.
aireplay-ng --arpreplay -b [AP BSSID]
-h [client MAC from airodump] ath0
Lệnh này sẽ khởi động ARP lặp lại đối với AP mục tiêu bằng cách giả mạo địa chỉ MAC của STA kết nối đến AP này. Trong trường hợp của chúng tôi, dòng lệnh cụ thể như sau:
aireplay-ng --arpreplay -b 00:06:25:B2:D4:19
-h 00:1A:70:7F:79:F2 ath0
Hình 6 cho thấy aireplay-ng lúc nó vừa mới khởi động và chưa bắt đầu quá trình phát sóng lặp lại.
Chỉ dấu ở đây là "sent 0 packets" ở dòng cuối. Chú ý rằng nếu drivers hoặc card WLAN của bạn không hỗ trợ packet injection, aireplay sẽ cho ra những dòng tương tự như dưới đây:
7: aireplay trong trường hợp không có packet injection
Bạn có thể kiểm tra xem drivers của mình có hỗ trợ injection hay không bằng cách đọc qua trang tài liệu của aircrack-ng ở đây.
Một khi các gói dữ liệu được bắt thành công và ARP replay khởi động, aireplay-ng sẽ có dạng như ở Hình 8. Lúc này, dấu chỉ sẽ là "sent N packets", cho thấy số lượng gói dữ liệu ARP phát ra bởi STA giả mạo.
Lúc này, bạn có thể quay lại với cửa sổ airodump và sẽ thấy rằng cột #/s đã tăng lên đáng kể, có khi lên tới số hàng trăm, như có thể thấy trong Hình 9.
Bạn cần để cho các chương trình này tiếp tục chạy cho đến khi con số trong cột #Data đạt đết ít nhất 300,000 IVs đối với khóa WEP 64 hoặc khoảng 1,500,000 đối với khóa WEP 128. Vấn đề là trong một cuộc tấn công dạng "zero knowledge", bạn không hề biết gì về độ dài của mã khóa.
Trong trường hợp của tôi, vì biết trước mã khóa thuộc loại 128 bit, tôi đợi đến lúc có hơn con số IVs dự kiến là 1.500.000. Để đạt được con số này, tôi mất khoảng hơn 01 giờ đồng hồ, với AP mục tiêu và toàn bộ các laptop liên quan nằm trong cùng một phòng. Trong điều kiện bình thường, với một AP nằm cách máy của bạn một khoảng khá xa, bạn có thể mất nhiều thời gian hơn. Còn giờ, ta sẽ mở ra cửa sổ shell thứ 3 để bắt đầu với aircrack-ng:
aircrack-ng -b [AP BSSID] [capture file(s) name]
Chú ý rằng trong dòng lệnh có chứa dấu sao (*) để aircrack-ng sử dụng toàn bộ các file IVs bắt được đã được lưu trên thư mục gốc. Ví dụ trong trường hợp của chúng tôi dòng lệnh sẽ như sau:
aircrack-ng -b 00:06:25:B2:D4:19 capturefile*.ivs
Aircrack sẽ bắt đầu lục lọi trong số những gói dữ liệu đã bắt được để tìm ra khóa WEP. Điều này cũng mất thời gian nhưng không nhiều lắm nếu so với việc bắt và lưu dữ liệu. Trong một số trường hợp aircrack-ng sẽ kết thúc mà không tìm thấy khóa, nhưng đưa ra cho bạn một số đề xuất mà bạn có thể làm theo. Một khi thành công, màn hình aircrack sẽ trông tương tự như trong Hình 10.
Khóa WEP 128 bit tìm thấy ở dưới dạng hệ thập lục phân (hexadecimal) và bạn có thể dùng nó để nhập vào phần thiết lập mạng Wireless sau khi loại bỏ các dấu hai chấm (:)
Để việc tìm key nhanh hơn.Ta phải có một thư viện(từ ñiển) key.Phòng trừơng hợp Key là các ký tự đặc biệt.Hệ thống sẽ ñối chiếu dữ liệu nhận đựơc và thư viện key.
The end