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.
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. 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.
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.
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ã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,…
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:
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.
Hình 3: Card WLAN đang ở chế độ monitor mode
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.
IV là gì?
WEP sử dụng một vector khởi tạo (Initialization
Vector - IV) cùng với khóa được chia sẽ (“shared-secret”) được người dùng
nhập vào để tạo ra một mã khóa RC4 nhằm mục đích mã hóa các gói dữ liệu. Vì
những lý do về cấu trúc kỹ thuật mà WEP có thể bị crack thông qua việc sử
dụng các IV.
|
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.
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.
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!
Bạn cần có bao nhiêu IVs?
Số lượng IVs bạn cần phụ thuộc vào độ dài của khóa
WEP, kỹ thuật crack mà bạn sử dụng và… sự may mắn mà trời ban cho (chính xác
hơn là luật quy luật xác suất).
Theo trang FAQ của aircrack, một khóa WEP 64 thường
cần ít nhất 300,000 IVs, và khóa WEP 128 cần nhiều hơn 1,500,000(!).
May mắn thay, với kỹ thuật PTW có trong aircrack-ng
phiên bản 0.9 đã giúp giảm số lượng IVs cần có đi đáng kể, khoảng 20.000 đối
với khóa WEP 64 và 40.000 đối với khóa WEP 128, nhưng nó chỉ hoạt động với
gói dữ liệu ARP bắt được ở dạng đầy đủ (không phải là dạng –ivs).
|
Đâ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. Chúng 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:
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 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: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.
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 (:)
Không có nhận xét nào:
Đăng nhận xét