vuongthaivan
10-06-2012, 06:44 AM
Giới thiệu chung
Những trang web đầu tiên dạy về hack mạng wifi dùng khóa WEP đã xuất hiện từ cách đây khoảng hơn 2 năm, chủ yếu là các trang web bằng tiếng Anh. Số liệu thống kê cho thấy đây là những trang được rất nhiều người viếng thăm chứng tỏ nhu cầu rất lớn về học hack WEP. Tuy nhiên, nhiều người khi đi theo nhiều hướng dẫn trên các trang web này sớm nhận ra rằng họ không được cập nhật! Chúng tôi đã nghiên cứu từ nhiều nguồn trên internet, thực nghiệm theo các hướng dẫn đó để đưa đến các bạn bài viết hướng dẫn hack WEP ngày hôm nay.
Trước khi đi vào nội dung chi tiết của bài, chúng tôi có một số lưu ý nhỏ như sau:
-Để có thể làm theo những hướng dẫn trong bài viết này, bạn cần có những kiến thức cơ bản liên quan đến các thuật ngữ và nguyên tắc của mạng. Nếu bạn đã quen với việc dùng các dòng lệnh (command lines) của hệ điều hành Linux thì sẽ rất hữu ích.
-Trong nội dung bài, chúng tôi liên tục sử dụng nguyên các thuật ngữ bằng tiếng Anh, có kèm chú thích đối với lần sử dụng đầu tiên. Điều này giúp bạn làm quen dần với giao diện và các dòng lệnh khi sử dụng do gói chương trình này đều bằng tiếng Anh.
-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.
-Việc xâm nhập vào mạng của người khác mà không được phép của người đó là BẤT HỢP PHÁP. Nếu để hữu sự thì đừng trách vì bài viết này xui dại.
Vietchovui & các thành viên không khuyến khích và sẽ không tha thứ việc sử dụng hướng dẫn này để crack mạng WEP người khác mà không được phép!
Đó là những vấn đề ngoài lề, còn giờ thì hãy bắt đầu! Vì sao bạn cần phải và có thể crack mạng WEP? Trước hết, hiện nay bạn có gần như mọi thứ cần thiết để làm điều này. Các bài hướng dẫn trên mạng dẫn tham chiếu đến vô vàn những công cụ khác nhau được viết bởi cả mã nguồn mở cũng như đóng, có phí cũng như… đồ chùa. Mặt khác, những công cụ mới này cũng không kén chọn phần cứng như trước đây. Bạn không cần phải đi tìm bằng được card wireless loại PRISM 2 Wi-Fi và cũng không cần dùng đến 02 máy tính đồng thời để hành sự. Ngày nay, nhiều loại chipset đã hỗ trợ các loại công cụ nói trên và bạn có thể crack WEP với chỉ một chiếc máy tính độc nhất.
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à chúng tôi 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, chúng tôi 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, chúng tôi 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ì chúng tôi 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 (http://www.remote-exploit.org/).
Lựa chọn phần cứng
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 (http://www.aircrack-ng.org/) 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. Mách nước với các bạn rằng chúng tôi đã từng sử dụng thành công với card Intel PRO/Wireless 3915 abg (card gắn sẵn trong laptop HP Pavilion dv6433cl) 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.
Phần mềm
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. Điều này chắc hẳn ai đã để tâm đọc bài này đến đây cũng phải biết nên chúng tôi không nhắc lại nhiều.
-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.
Và bây giờ là lúc… hành sự!
Bước 1: Kiểm tra WLAN card
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:
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/iwconfig_output.jpg
Hình 1: màn hình kết quả lệnh iwconfig
Hãy viết ra tên của card wireless của máy tính bạn. Trong trường hợp trên là ath0. Tuy nhiên, với máy bạn có thể là tên nào đó dạng như wlan1, eth0, wi0,…
Bước 2: Chuyển card sang chế độ monitor
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
để khởi động lại adapter ở chế độ monitor.
Chú ý rằng chú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:
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/airmon_ng_output.jpg
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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/monitor_mode_enabled.jpg
Hình 3: Card WLAN đang ở chế độ monitor mode
Bước 3: Tìm WLAN mục tiêu
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 (http://www.kismetwireless.net/) đượ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 (http://www.aircrack-ng.org/doku.php?id=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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/airodump_ng_wlan_scan_big.jpg
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:C4: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:C4: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.Ghi những thông số này ra giấy hoặc có thể copy rồi dán nó vào một trình xử lý văn bản nào đó để sử dụng về sau. Bạn có thể dùng chương trình Kedit có sẵn trong BT3 để lưu lại các thông số này dưới dạng file .txt. Bằng cách nhấn tổ hợp phím Ctrl+C, chúng ta có thể cùng lúc thoát khỏi airodump và copy nội dung các thông số trên.
Mách nước: 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.
Bước 4 – Tạo ra dòng dữ liệu để bắt
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 (http://www.aircrack-ng.org/doku.php?id=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. Chúng ta sẽ sử dụng kiểu tấn công lặp ARP Request Replay (http://aircrack-ng.org/doku.php?id=arp-request_reinjection) để 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:C4: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ó.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/airodump_ng_wlan_capture.jpg
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:C4: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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/aireplay_ng_start.jpg
Hình 6: aireplay-ng lúc vừa khởi động, còn chưa 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:
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/nopacketinjection.png
Hình 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 (http://aircrack-ng.org/doku.php?id=injection_test).
Bước 5 – Hành sự… crack
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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/aireplay_ng_replaying.jpg
Hình 8: aireplay với ARP replay đang chạy
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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/airodump_ng_wlan_capture_w_replay.jpg
Hình 9: airodump với ARP replay đang chạy
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 chúng tôi, vì biết trước mã khóa thuộc loại 128 bit, chúng 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, chúng 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ờ, chúng 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:C4: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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/aircrack_ng_keyfound.jpg
Hình 10: aircrack-ng tìm thấy khóa
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.
Và như vậy là bạn đã hoàn tất việc crack khóa mạng WEP! Quá tuyệt đúng không?
Những trang web đầu tiên dạy về hack mạng wifi dùng khóa WEP đã xuất hiện từ cách đây khoảng hơn 2 năm, chủ yếu là các trang web bằng tiếng Anh. Số liệu thống kê cho thấy đây là những trang được rất nhiều người viếng thăm chứng tỏ nhu cầu rất lớn về học hack WEP. Tuy nhiên, nhiều người khi đi theo nhiều hướng dẫn trên các trang web này sớm nhận ra rằng họ không được cập nhật! Chúng tôi đã nghiên cứu từ nhiều nguồn trên internet, thực nghiệm theo các hướng dẫn đó để đưa đến các bạn bài viết hướng dẫn hack WEP ngày hôm nay.
Trước khi đi vào nội dung chi tiết của bài, chúng tôi có một số lưu ý nhỏ như sau:
-Để có thể làm theo những hướng dẫn trong bài viết này, bạn cần có những kiến thức cơ bản liên quan đến các thuật ngữ và nguyên tắc của mạng. Nếu bạn đã quen với việc dùng các dòng lệnh (command lines) của hệ điều hành Linux thì sẽ rất hữu ích.
-Trong nội dung bài, chúng tôi liên tục sử dụng nguyên các thuật ngữ bằng tiếng Anh, có kèm chú thích đối với lần sử dụng đầu tiên. Điều này giúp bạn làm quen dần với giao diện và các dòng lệnh khi sử dụng do gói chương trình này đều bằng tiếng Anh.
-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.
-Việc xâm nhập vào mạng của người khác mà không được phép của người đó là BẤT HỢP PHÁP. Nếu để hữu sự thì đừng trách vì bài viết này xui dại.
Vietchovui & các thành viên không khuyến khích và sẽ không tha thứ việc sử dụng hướng dẫn này để crack mạng WEP người khác mà không được phép!
Đó là những vấn đề ngoài lề, còn giờ thì hãy bắt đầu! Vì sao bạn cần phải và có thể crack mạng WEP? Trước hết, hiện nay bạn có gần như mọi thứ cần thiết để làm điều này. Các bài hướng dẫn trên mạng dẫn tham chiếu đến vô vàn những công cụ khác nhau được viết bởi cả mã nguồn mở cũng như đóng, có phí cũng như… đồ chùa. Mặt khác, những công cụ mới này cũng không kén chọn phần cứng như trước đây. Bạn không cần phải đi tìm bằng được card wireless loại PRISM 2 Wi-Fi và cũng không cần dùng đến 02 máy tính đồng thời để hành sự. Ngày nay, nhiều loại chipset đã hỗ trợ các loại công cụ nói trên và bạn có thể crack WEP với chỉ một chiếc máy tính độc nhất.
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à chúng tôi 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, chúng tôi 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, chúng tôi 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ì chúng tôi 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 (http://www.remote-exploit.org/).
Lựa chọn phần cứng
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 (http://www.aircrack-ng.org/) 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. Mách nước với các bạn rằng chúng tôi đã từng sử dụng thành công với card Intel PRO/Wireless 3915 abg (card gắn sẵn trong laptop HP Pavilion dv6433cl) 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.
Phần mềm
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. Điều này chắc hẳn ai đã để tâm đọc bài này đến đây cũng phải biết nên chúng tôi không nhắc lại nhiều.
-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.
Và bây giờ là lúc… hành sự!
Bước 1: Kiểm tra WLAN card
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:
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/iwconfig_output.jpg
Hình 1: màn hình kết quả lệnh iwconfig
Hãy viết ra tên của card wireless của máy tính bạn. Trong trường hợp trên là ath0. Tuy nhiên, với máy bạn có thể là tên nào đó dạng như wlan1, eth0, wi0,…
Bước 2: Chuyển card sang chế độ monitor
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
để khởi động lại adapter ở chế độ monitor.
Chú ý rằng chú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:
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/airmon_ng_output.jpg
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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/monitor_mode_enabled.jpg
Hình 3: Card WLAN đang ở chế độ monitor mode
Bước 3: Tìm WLAN mục tiêu
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 (http://www.kismetwireless.net/) đượ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 (http://www.aircrack-ng.org/doku.php?id=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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/airodump_ng_wlan_scan_big.jpg
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:C4: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:C4: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.Ghi những thông số này ra giấy hoặc có thể copy rồi dán nó vào một trình xử lý văn bản nào đó để sử dụng về sau. Bạn có thể dùng chương trình Kedit có sẵn trong BT3 để lưu lại các thông số này dưới dạng file .txt. Bằng cách nhấn tổ hợp phím Ctrl+C, chúng ta có thể cùng lúc thoát khỏi airodump và copy nội dung các thông số trên.
Mách nước: 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.
Bước 4 – Tạo ra dòng dữ liệu để bắt
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 (http://www.aircrack-ng.org/doku.php?id=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. Chúng ta sẽ sử dụng kiểu tấn công lặp ARP Request Replay (http://aircrack-ng.org/doku.php?id=arp-request_reinjection) để 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:C4: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ó.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/airodump_ng_wlan_capture.jpg
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:C4: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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/aireplay_ng_start.jpg
Hình 6: aireplay-ng lúc vừa khởi động, còn chưa 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:
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/nopacketinjection.png
Hình 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 (http://aircrack-ng.org/doku.php?id=injection_test).
Bước 5 – Hành sự… crack
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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/aireplay_ng_replaying.jpg
Hình 8: aireplay với ARP replay đang chạy
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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/airodump_ng_wlan_capture_w_replay.jpg
Hình 9: airodump với ARP replay đang chạy
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 chúng tôi, vì biết trước mã khóa thuộc loại 128 bit, chúng 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, chúng 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ờ, chúng 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:C4: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.
http://www.smallnetbuilder.com/images/stories/wireless/wepcracking_reloaded/aircrack_ng_keyfound.jpg
Hình 10: aircrack-ng tìm thấy khóa
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.
Và như vậy là bạn đã hoàn tất việc crack khóa mạng WEP! Quá tuyệt đúng không?