Hack mật khẩu WiFi chuẩn mã hóa WPA/WPA2 trên Kali Linux

Bài này thuộc phần 7 trong 7 phần của series Hướng dẫn sử dụng Kali Linux

Tiếp tục với series chuyên về bảo mật ứng dụng KaliTheKey, ở bài viết lần trước chúng ta đã cùng thực hành tấn công bẻ khóa Wifi chuẩn WEP rồi, một chuẩn bảo mật tương đối cũ và kém an toàn của Wifi.

Với các chuẩn mới hiện nay như là WPA/WPA2 thì việc thực hiện các cuộc tấn công là không hề dễ dàng, do không có những lỗ hổng bảo mật thực sự hiện hữu để có thể khai thác.

Dù vậy, cho đến thời điểm hiện tại đã có một số phương thức Cracking được giới Hacker phát triển thành công nhằm vào giao thức bắt tay 4 bước (4-way handshake).

Trong bài viết ngày hôm nay mình sẽ giới thiệu tới các bạn cách thực hiện một cuộc tấn công tương đối đơn giản vào giao thức WPA/WPA2, đó là tấn công từ điển (Dictionary Attack) trên Kali Linux. Các bạn muốn hiểu rõ hơn về lí thuyết xin mời đọc lại các bài viết trước của Series này nha.

Cần lưu ý một điều đó là, giống như những từ ngữ địa phương không xuất hiện trong từ điển, có rất nhiều mật khẩu Wifi thậm chí không tồn tại trong bất kì bộ Dictionary/wordlist nào trên thế giới vì độ ít phổ biến hoặc phức tạp của nó.

Vì vậy mà một cuộc tấn công Dictionary Attack có xác suất thành công không quá cao, và Hacker thường chọn những bộ Wordlist có khả năng (nói chung) chứa mật khẩu người dùng lớn nhất trước khi nghĩ tới những bộ từ điển đồ sộ hàng chục GB để tăng xác suất thành công và giảm hao phí tài nguyên máy/thời gian đợi.

Như thường lệ đối với các bài viết về chủ đề bảo mật, mình xin nhắc các bạn rằng chỉ nên thực hiện các cuộc tấn công này trên máy ảo giả định/ với mục đích nghiên cứu và tìm hiểu về an toàn thông tin. Mọi hành vi tấn công các mục tiêu thực tế có thể gây thiệt hại và thậm chí dẫn tới rắc rối pháp luật !

I. Cần chuẩn bị những gì trước khi hack mật khẩu Wi-Fi ?

Về cơ bản chuẩn bị cho một cuộc tấn công WPA/WPA2 là giống với WEP. Chúng ta vẫn cần những phần cứng giống nhau và thực hiện trên công cụ Fern wifi Cracker trong Kali Linux. Nhắc lại cho những bạn chưa đọc bài viết trước:

Hiển thị
  • Một máy tính có card wifi hỗ trợ Monitor mode. Phần này mình nghĩ đa số Laptop sản xuất từ 2010 trở lại đây đều có cả. Chắc chắn là càng mạnh càng tốt, và dĩ nhiên là phải cài sẵn Kali Linux rồi ! Nếu chưa cài, mời các bạn đọc lại các bài viết trước trong series này (cụ thể là bài này) để có những hướng dẫn chi tiết nhất.
  • Một router wifi đóng vai trò AP của Victim cho chúng ta hành hạ. Hầu hết các router trên thị trường hiện nay đều hỗ trợ chuẩn WEP như một tùy chọn dự phòng và để đảm bảo tương thích ngược cho các hệ thống cũ.
  • Một thiết bị Client wifi bất kì như smartphone để tạo lưu lượng truy cập giả định đến AP. Về cơ bản các phương thức tấn công đều khai thác luồng lưu lượng này để tấn công bẻ khóa AP.

Trong bài viết này, mình sử dụng thiết bị với cấu hình thử nghiệm:

1/ Laptop đóng vai trò máy tấn công có cấu hình như bên dưới:

  • CPU: Intel core i7-3740QM
  • GPU NVIDIA Quadro K2000m
  • 16GB RAM DDR3-1600
  • Hệ điều hành Kali Linux 2019.2

2/ Router đóng vai trò Victim:

  • TP-Link WR802n Firmware v4.0 rất tiếc là chiếc router này của mình chỉ nạp được Firmware tiếng Trung Quốc.

3/ Máy Client tạo lưu lượng giả định: Xiaomi Mi A1-Android 9.0

Trên thực tế, có rất nhiều công cụ khác nhau cho phép thực hiện các cuộc tấn công vào mạng wifi. Nổi tiếng nhất có lẽ là Aircrack-ng sử dụng dòng lệnh để điều khiển.

Tuy nhiên, với tinh thần viết bằng ngôn ngữ dễ hiểu nhất có thể, mình xin giới thiệu một công cụ khác cũng được tích hợp trong Kali Linux, dựa trên aircrack-ng và hỗ trợ giao diện đồ họa rất dễ sử dụng: Fern wifi cracker.

Và thêm một thành phần không thể thiếu với mọi cuộc tấn công kiểu Dictionary Attack, đó là:

Bộ wordlist phục vụ tấn công từ điển giao thức WPA/WPA2. Trên Internet hiện nay các bạn có thể dễ dàng tìm kiếm các wordlist này với mỗi bộ chứa hàng triệu key được chọn lọc từ các nguồn rò rỉ mật khẩu hoặc tự tạo cho các kịch bản người dùng khác nhau (theo tên, số điện thoại, các password đã từng bị rò rỉ phổ biến nhất…).

Trong bài viết mình sử dụng wordlist tự tạo định dạng 8 chữ số ngày-tháng-năm sinh được sinh bằng công cụ Crunch trong phân mục Password Attack của Kali Linux. Các bạn quan tâm có thể tải về bộ Wordlist ngày tháng năm sinh và wordlist 8 chữ số của mình tại đây hoặc tại đây !

Vậy là bước chuẩn bị đã đủ, giờ bắt tay cùng làm thôi nào !

II. Thực hiện cuộc tấn công bẻ khóa pass Wifi mã hóa chuẩn WPA/WPA2

Note: AP là viết tắt của từ AccessPoint !

1/ Thiết lập cấu hình cho Router làm AP mục tiêu

Vì mục đích là trình diễn tấn công bẻ khóa WPA/WPA2 nên mình sẽ cấu hình Router với chuẩn WPA2-PSK và đặt một khóa có dạng ngày tháng năm sinh (12111995).

Các bạn có thể cấu hình lại Router thử nghiệm của mình theo các thông số như bên dưới.

be-khoa-wifi-chuan-wpa-wpa2 (1)

2/ Tấn công AP mục tiêu (hack mật khẩu Wifi)

+ Bước 1: Tương tự cuộc tấn công giao thức WEP, các bạn nhấn Refresh để phần mềm nhận diện các phần cứng mạng có trong máy.

Thông thường mỗi máy sẽ có một card wifi đặt tên là wlan0. Các bạn chọn card này và nhấn Scan for Access Point để quét các AP xung quanh.

be-khoa-wifi-chuan-wpa-wpa2 (2)

+ Bước 2: Tại mục WPA, máy mình nhận diện được 60 AP xung quanh sử dụng chuẩn này (tất nhiên có AP do mình thiết lập). Các bạn click vào đây để mở giao diện bẻ khóa.

be-khoa-wifi-chuan-wpa-wpa2 (3)

+ Bước 3: Một cuộc tấn công Dictionary Attack nhắm vào giao thức WPA/WPA2 sẽ phức tạp hơn tấn công WEP ở chỗ bạn cần chuẩn bị nguồn từ điển để thực hiện tấn công.

Trước khi thực hiện tấn công bạn cần chọn AP mục tiêu đã định sẵn => sau đó nhấn Browse... để mở thư viện đã chuẩn bị.

be-khoa-wifi-chuan-wpa-wpa2 (4)

Thư viện của mình đặt tên là list1.txt, gồm ngày tháng năm sinh trong khoảng 1900-1999, nằm trong đường dẫn root/Documents/Dictionary/list1.txt => click Open để chọn.

be-khoa-wifi-chuan-wpa-wpa2 (5)

+ Bước 4: Sau khi đã chọn thư viện xong, bạn nhấn Attack và cuộc tấn công bắt đầu. Bước đầu là thăm dò (Probing) AP để xác định các liên kết Client-AP trong mạng.

be-khoa-wifi-chuan-wpa-wpa2 (6)

+ Bước 5: Bước tiếp theo, phần mềm sẽ can thiệp vào quá trình xác thực Client-AP đang tồn tại trong mạng.

Các bạn có thể thay đổi liên kết mục tiêu bằng cách thay đổi MAC để chọn Client khác ở phần bên tay phải, dưới phần chọn thư viện.

Client hoạt động càng tích cực, càng dễ để bắt các gói tin và can thiệp vào giao thức bắt tay 4 bước của nó với AP.

be-khoa-wifi-chuan-wpa-wpa2 (7)

+ Bước 6: Sau khi “lẻn” được vào đường truyền dữ liệu Client-AP này (Handshake Captured), quá trình thử bẻ khóa bắt đầu diễn ra.

Tốc độ của việc thử này phụ thuộc vào sức mạnh phần cứng máy bạn và độ phức tạp bộ key đang chạy. Với máy của mình, tốc độ trung bình là gần 6000 key/s. Khá là nhanh !

be-khoa-wifi-chuan-wpa-wpa2 (8)

+ Bước 7: Các key được thử không theo thứ tự bộ tư điển đầu vào mà được lấy ngẫu nhiên. Điều này nhằm tăng xác suất bắt gặp key đúng.

be-khoa-wifi-chuan-wpa-wpa2 (9)

+ Bước 8: Không ngoài dự đoán, mất chỉ 2 phút, máy đã tìm ra key đúng là 12111995. Tuy nhiên mình sẽ phân tích rõ hơn ở phần sau để biết rằng, kết quả này chỉ là trường hợp khá đặc biệt !

be-khoa-wifi-chuan-wpa-wpa2 (10)

+ Bước 9: Sau khi đã crack thành công, key sẽ được lưu lại trong database của công cụ, các bạn có thể tìm và xem lại bất cứ lúc nào cần.

be-khoa-wifi-chuan-wpa-wpa2 (11)

be-khoa-wifi-chuan-wpa-wpa2 (12)

III. Đánh giá cách làm

Với phần trình diễn bẻ khóa trong 2 phút vừa rồi, có thể nhiều bạn sẽ nghĩ việc này quá dễ vậy, hóa ra WPA/WPA2 lại yếu kém đến thế!

Nhưng không ! như đã trình bày ngay từ đầu, mọi điều kiện của cuộc tấn công đều do mình thiết lập trước, đã chắc chắn có kết quả và không phải chờ đợi quá lâu. Giả sử password của AP là một giá trị khác hoặc xét đến trường hợp xấu nhất, key cuối cùng trong Dictionary mà phần mềm thử mới là key đúng, ta xét vài trường hợp đơn giản sau:

+ Bộ password ngày tháng năm sinh do người viết tự tạo có dạng @@@@19@@@@@@20@@ (các năm của thế kỉ XX và XXI) gồm 2x10^6=20.000.000 khóa. Mất 20.000.000/5000=400s ~ 6,7 phút để thử hết

+ Bộ password 8 số từ 00000000 đến 99999999 gồm 10^8=100.000.000 mã thử hết trong 100.000.000/5000=20000s ~ 5.5 giờ. Với password có 9, 10 chữ số, mỗi chữ số tăng thêm thì thời gian bẻ khóa trung bình cũng tăng gấp 10 (55 và 555 giờ máy chạy liên tục hết công suất ^^ )

+ Quan trọng hơn cả, Password của mục tiêu thật có dạng như thế nào, dài bao nhiêu chúng ta không hề biết ! Có thể chúng ta sẽ cần thử nhiều bộ password khác nhau, thậm chí thử tất cả bộ password tìm được mà vẫn không dò ra key của AP thực!

+ Quá trình bẻ khóa đòi hỏi phần cứng phải chạy liên tục ở công suất cao, với các bộ wordlist quá dài mà máy tản nhiệt không tốt, rất dễ sinh ra vấn đề ảnh hưởng tuổi thọ máy.

IV. Lời Kết

Như vậy chuẩn bảo mật WPA/WPA2 vẫn là một chuẩn bảo mật tương đối an toàn trong các tình huống sử dụng thông thường. Điều quan trọng nhất là ở ý thức tự vệ của người dùng, hạn chế sử dụng các mật khẩu ngắn, đơn giản và phổ biến sẽ hạn chế được khả năng bẻ khóa của Hacker.

Qua những bài viết gần đây, chúng ta đã cùng tìm hiểu về bảo mật mạng Wifi và thực hành các cuộc tấn công bẻ khóa bảo mật các giao thức WEP,WPA và WPA2.

OK, và bài viết hướng dẫn bẻ khóa mật khẩu WiFi sử dụng chuẩn mã hóa WPA/WPA2 cũng đã kết thúc. Hi vọng các bạn đã có được những kiến thức mới bổ ích.

Đừng quên tiếp tục theo dõi series để biết thêm những thủ thuật bảo mật thú vị khác nhé !

CTV: Vũ Hữu Thăng – Blogchiasekienthuc.com

Bài viết đạt: 3.7/5 sao - (Có 8 lượt đánh giá)
Bài viết cùng Serie<< Cách bẻ khóa mật khẩu WiFi (chuẩn mã hóa WEP)
Note: Bài viết này hữu ích với bạn chứ? Đừng quên đánh giá bài viết, like và chia sẻ cho bạn bè và người thân của bạn nhé !

Administrator: Kiên Nguyễn

Có một câu nói của người Nhật mà mình rất thích đó là " Người khác làm được thì mình cũng làm được ". Chính vì thế mà hãy theo đuổi đam mê, thành công sẽ theo đuổi bạn ! Nếu như bạn đang gặp khó khăn và cần sự trợ giúp thì hãy comment phía bên dưới mỗi bài viết để nhận được sự hỗ trợ từ cộng đồng Blog Chia Sẻ Kiến Thức nhé.

4 comments

  1. Tuyệt vời quá, rất cảm ơn anh. Để em thử hack wifi nhà hàng xóm xem được cái nào không 😀

  2. Nguyễn Thanh Luyện

    Mình chưa thực hiện đc vì không Browse đc ( Thư viện của mình đặt tên là list1.txt, gồm ngày tháng năm sinh trong khoảng 1900-1999, nằm trong đường dẫn root/Documents/Dictionary/list1.txt => click Open để chọn.). Mình thiếu chỗ mục nay. hướng dẫn dumfminhf. thanks

  3. Chị hàng sóm sin không cho pass sẽ chết với tôi!


Một vài lưu ý trước khi comment :

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Tất cả các comment của các bạn sẽ được giải đáp trong vòng 48h !
Không được sử dụng từ khóa trong ô 'Name', bạn hãy dùng tên thật hoặc Nickname của bạn !
Không dẫn link sang trang web/blog khác. Xem quy định comment tại đây. Thank All!

Leave a Reply

Your email address will not be published. Required fields are marked *

Shop