MỤC LỤC
DANH MỤC THUẬT NGỮ VÀ VIẾT TẮT............................................................. 3
DANH MỤC HÌNH ẢNH........................................................................................... 5
LỜI MỞ ĐẦU.............................................................................................................. 6
CHƯƠNG 1: GIỚI THIỆU VỀ TÍNH NĂNG WPS TRÊN WIFI..........................7
1.1 Giới thiệu chung về WPS.................................................................................. 7
1.1.1 WPS là gì ?.................................................................................................. 7
1.1.2 Ưu điểm và nhược điểm của WPS WiFi................................................... 7
1.1.3 Chế độ cài đặt............................................................................................. 7
1.2 Cơ chế hoạt động của WPS............................................................................... 8
1.2.1 Các định nghĩa............................................................................................ 8
1.2.2 Giao thức đăng ký...................................................................................... 9
1.2.3 Các thông điệp trao đổi giữa User và AP................................................ 11
1.3 Các lỗ hổng phổ biến....................................................................................... 15
1.3.1 Tấn công Brute Force trực tuyến............................................................ 15
1.3.2 Tấn công Brute Force ngoại tuyến.......................................................... 15
1.3.3 Các vấn đề về bảo mật vật lý................................................................... 16
CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG CỤ PIXIEWPS........................................ 17
2.1 Tổng quan về PixieWPS.................................................................................. 17
2.2 Sử dụng............................................................................................................ 18
CHƯƠNG 3: GIỚI THIỆU CÔNG CỤ REAVER................................................. 20
3.1 Tổng quan về Reaver...................................................................................... 20
3.2 Sử dụng............................................................................................................ 21
CHƯƠNG 4: TẤN CÔNG WPS PIN BẰNG PIXIEWPS KẾT HỢP VỚI
REAVER.................................................................................................................... 22
4.1 Sơ lược về WPS offline bruteforce attack...................................................... 22
4.2 Chi tiết cách thức tấn công............................................................................. 23
4.3 Demo thực hiện................................................................................................ 25
TÀI LIỆU THAM KHẢO........................................................................................ 29
1
DANH MỤC THUẬT NGỮ VÀ VIẾT TẮT
STT
Từ viết
tắt
Thuật ngữ tiếng anh
1
AP
Access Point
2
CRC
Cyclic Redundancy
Check
Thuật ngữ Tiếng Việt / Giải thích
Là điểm truy cập WiFi.
Kiểm tra dự phòng theo chu kỳ
Là đơn vị đo tổng năng lực vận tải an
toàn của một tàu thủy tính bằng tấn
chiều dài, khơng phải là trọng lượng
của tàu và cũng không phải là trọng
lượng của tàu khi chở theo bất kỳ khối
lượng hàng nào.
3
EAP
Extensible
Authentication
Protocol
4
SSID
Service Set Identifier
Mã định danh nhóm dịch vụ
GUI
Graphical User
Interface IE
Information Element
Giao diện người dùng đồ họa Thành
phần thơng tin IE.
5
Wi-Fi Simple
Cấu hình đơn giản Wi-Fi, được sử
Configuration, used for
dụng để thiết lập Wi-Fi được bảo vệ
Wi-Fi Protected Setup
6
WSC
7
WPA2
Wi-Fi Protected
Access® version 2
8
WLAN
Wireless LAN
Là giao thức bảo mật của WiFi
Mạng LAN không dây
9
PIN
Personal Identification
Number
Số nhận dạng cá nhân
10
MAC
Media Access Control
Địa chỉ MAC của PC
DANH MỤC HÌNH ẢNH
Hình 1: Giao thức đăng ký WPS................................................................................. 10
Hình 2: Thơng điệp M1............................................................................................... 11
Hình 3: Thơng điệp M2............................................................................................... 12
Hình 4: Thơng điệp M3............................................................................................... 12
Hình 5: Thơng điệp M4............................................................................................... 13
Hình 6: Thơng điệp M5............................................................................................... 13
Hình 7: Thơng điệp M6............................................................................................... 14
Hình 8: Thơng điệp M7............................................................................................... 14
Hình 9: Brute Force WPS PIN bằng PixieWPS.......................................................... 17
Hình 10: Crack WPA-PSK bằng PixieWPS................................................................ 18
Hình 11: Man page của PixieWPS.............................................................................. 19
Hình 12: Man page của Reaver................................................................................... 21
Hình 13: Thơng điệp M1............................................................................................. 24
Hình 14: Thơng điệp M3............................................................................................. 24
Hình 15: Thiết lập ban đầu.......................................................................................... 26
Hình 16: Capture bằng airodump................................................................................ 26
Hình 17: Capture và đầu ra của Reaver....................................................................... 27
Hình 18: Kết quả......................................................................................................... 27
LỜI MỞ ĐẦU
Trong thời đại công nghệ 4.0 đang phát triển như vũ bão ngày nay, thiết bị phát
sóng WiFi là một thành phần không thể thiếu trong hệ thống mạng của gia đình cũng
như cơng ty hay doanh nghiệp. Mạng WiFi đang mang lại những lợi ích to lớn không
thể phủ nhận như tiện nghi, cài đặt dễ dàng. Nhưng bên cạnh những lợi ích đó mạng
WiFi cũng tiềm ẩn những lỗ hổng những điểm yếu nguy hiểm, thông qua đó hacker có
thể lợi dụng những lỗ hổng trên để tấn cơng vào mạng WiFi với mục đích như dùng
chùa hay mục đích xấu khác.
Như đã nói ở trên, thiết bị WiFi mang lại lợi ích to lớn, với rất nhiều tính năng
hữu ích có thể kể đến như: hỗ trợ kết nối khơng dây lẫn có dây, kiểm sốt truy cập, lọc
thiết bị theo MAC,… Nhưng tính năng bài báo cáo này nói tới đó là WPS - tính năng
hỗ trợ kết nối mạng WiFi.
Trong bài báo cáo dưới đây, em xin trình bày về WPS, cơng cụ PixieWPS và
công cụ Reaver sử dụng để Bruteforce WPS.
CHƯƠNG 1: GIỚI THIỆU VỀ TÍNH NĂNG WPS TRÊN WIFI
1.1 Giới thiệu chung về WPS
1.1.1 WPS là gì ?
WPS là từ viết tắt của cụm từ WiFi Protected Setup, là tính năng hỗ trợ kết nối
mạng WiFi giữa các thiết bị thu và phát với nhau, nhưng lại bỏ qua bước phải nhập
mật khẩu WiFi truyền thống.
Được giới thiệu vào năm 2007 bởi Wi-Fi Alliance, điểm quan trọng của giao
thức là cho phép người dùng gia đình biết ít về bảo mật khơng dây và có thể bị đe dọa
bởi các tùy chọn bảo mật có sẵn để thiết lập Wi-Fi Protected Access , cũng như làm
cho nó dễ dàng để thêm thiết bị mới vào mạng hiện có mà không cần nhập mật khẩu
dài. Thiết lập Wi-Fi được bảo vệ cho phép chủ sở hữu đặc quyền Wi-Fi chặn người
dùng khác sử dụng Wi-Fi gia đình của họ. Chủ sở hữu cũng có thể cho phép mọi
người sử dụng Wi- Fi. Điều này có thể được thay đổi bằng cách nhấn nút WPS trên bộ
định tuyến gia đình.
WPS WiFi được sinh ra nhằm phục vụ nhu cầu sử dụng Internet của con người,
nhất là khi càng ngày càng có nhiều thiết bị đang phụ thuộc vào nó hằng ngày.
1.1.2 Ưu điểm và nhược điểm của WPS WiFi
a. Ưu điểm của WPS wifi
WPS sẽ tự động cấu hình tên nhà mạng (SSID) và key bảo mật cho những điểm
truy cập, WPS sẽ tự động kích hoạt thiết bị của khách trên mạng.
Bảo mặt của bạn rất khó bị rị bởi vì chúng được tạo ra ngẫu nhiên.
Điều tiện lợi ở đây là bạn không cần phải ghi nhớ SSID, các phím bảo mật hay
mật khẩu wifi khi truy cập Internet khi thiết bị WPS đã kích hoạt
Thơng tin và chứng chỉ mạng được trao đổi một cách an toàn
Vẫn có thể dùng WPS và phương pháp nhập key mà khơng ảnh hưởng gì
WPS được tích hỗ trợ trên nhiều thiết bị khác nhau
b. Nhược điểm của WPS wifi
Vì là cơng nghệ mới nên tính năng vẫn cịn chưa phổ biến trên nhiều
modem wifi khác.
WPS wifi yêu cầu bắt buộc thiết bị truy cập phải có hỗ trợ WPS nếu khơng có
thì khơng sử dụng được tính năng này.
Khả năng kết nối khơng an tồn so với WPA/WPA2 nhưng tính năng vẫn hữu
ích với nhiều người dùng.
1.1.3 Chế độ cài đặt
a. Phương thức mã PIN
Trong đó mã PIN phải được đọc từ nhãn dán hoặc màn hình trên thiết bị khơng
dây mới . Mã PIN này sau đó phải được nhập tại "đại diện" của mạng, thường là điểm
truy cập của mạng . Ngoài ra, mã PIN do điểm truy cập cung cấp có thể được nhập
vào thiết bị mới. Phương pháp này là chế độ cơ sở bắt buộc và mọi thứ phải hỗ trợ nó.
Thơng số kỹ thuật Wi-Fi Direct thay thế yêu cầu này bằng cách nêu rõ rằng tất cả các
thiết bị có bàn phím hoặc màn hình phải hỗ trợ phương thức mã PIN.
b. Phương pháp nút nhấn
Trong đó người dùng phải nhấn một nút, thực tế hoặc ảo, trên cả điểm truy cập
và thiết bị khách không dây mới. Trên hầu hết các thiết bị, chế độ khám phá này sẽ tự
tắt ngay khi kết nối được thiết lập hoặc sau độ trễ (thường là 2 phút hoặc ít hơn), tùy
điều kiện nào đến trước, do đó giảm thiểu lỗ hổng bảo mật. Hỗ trợ chế độ này là bắt
buộc đối với các điểm truy cập và tùy chọn để kết nối các thiết bị. Thông số kỹ thuật
Wi-Fi Direct đã thay thế yêu cầu này bằng cách nêu rõ rằng tất cả các thiết bị phải hỗ
trợ phương pháp nút nhấn.
c. Phương thức giao tiếp gần
Trong đó người dùng phải đưa máy khách mới đến gần điểm truy cập để cho
phép giao tiếp trường gần giữa các thiết bị. Thẻ RFID tuân theo Diễn đàn NFC cũng
có thể được sử dụng. Hỗ trợ của chế độ này là tùy chọn.
d. Phương pháp USB
Trong đó người dùng sử dụng ổ USB flash để truyền dữ liệu giữa thiết bị khách
mới và điểm truy cập của mạng. Hỗ trợ chế độ này là tùy chọn, nhưng không được
dùng nữa.
Hai chế độ cuối cùng thường được gọi là phương pháp ngồi băng tần vì có sự
truyền thơng tin bởi một kênh khác với chính kênh Wi-Fi. Hiện chỉ có hai chế độ đầu
tiên là được chứng nhận WPS. Phương thức USB không được dùng nữa và không phải
là một phần của thử nghiệm chứng nhận của Alliance.
Một số điểm truy cập khơng dây có nút WPS chức năng kép và việc giữ nút này
trong thời gian ngắn hơn hoặc lâu hơn có thể có các chức năng khác, chẳng hạn như
khôi phục cài đặt gốc hoặc bật tắt WiFi.
Một số nhà sản xuất, chẳng hạn như Netgear , sử dụng logo và / hoặc tên khác
cho WPS, Wi-Fi Alliance khuyến nghị sử dụng Dấu nhận dạng thiết lập được bảo vệ
Wi-Fi trên nút phần cứng cho chức năng này.
1.2 Cơ chế hoạt động của WPS
1.2.1 Các định nghĩa
Enrollee: Một thiết bị tìm cách tham gia mạng WLAN.
Registrar : Một thực thể có quyền cấp thơng tin đăng nhập WLAN.
External Registrar : Một nhà đăng ký tách biệt với AP.
AP : Điểm truy cập chế độ 802.11.
Headless Device : Một thiết bị khơng có màn hình.
STA: AP với khả năng đăng ký tích hợp định cấu hình một trạm ghi danh.
AP: Access Point
CRC: Cyclic Redundancy Check
EAP: Extensible Authentication Protocol
GUI: Graphical User Interface IE Information Element
LED: Light Emitting Diode
Legacy Client: Client that does not support Wi-Fi Protected Setup
MODP: Modular Exponential
PBC: Push Button Configuration
PIN: Personal Identification Number
RSSI: Receive Signal Strength Indicator
SSID: Service Set Identifier
UI: User Interface
UUID: Universally Unique Identifier
WLAN: Wireless LAN
WPA2™: Wi-Fi Protected Access® version 2
WSC: Wi-Fi Simple Configuration, used for Wi-Fi Protected Setup
1.2.2 Giao thức đăng ký
Quy trình tương tác hoàn chỉnh của giao thức Registration Protocol được thể
hiện trong hình:
Hình 1: Giao thức đăng ký WPS
Giao thức Registration Protocol được chia thành hai phần, được phân tách bằng
dòng "Nhập mật khẩu của Người đăng ký", trong đó:
1.
Giai đoạn Khám phá là phần trên. Trong giai đoạn này, STA tìm kiếm các AP xung
quanh bằng cách sử dụng khung Báo hiệu hoặc khung Yêu cầu thăm dò. Đối với các
AP có kích hoạt WSC, các khung này phải mang WSC IE. Khung khơng có WSC IE
chỉ ra rằng người gửi khơng hỗ trợ hoặc khơng kích hoạt chức năng WSC. Sau khi
Giai đoạn Khám phá kết thúc, STA sẽ xác định một AP mục tiêu;
2.
Nếu là chế độ PIN, người dùng cần nhập mã PIN được STA hiển thị vào trang cài đặt
của AP mục tiêu;
3.
STA sẽ kết hợp với AP mục tiêu. Khơng giống như quy trình khơng sử dụng WSC, STA
và AP sẽ không thực hiện giao thức bắt tay 4 bước mà thực hiện quy trình EAP-WSC
trước;
4.
Quá trình EAP-WSC bắt đầu từ EAPOL-Start và kết thúc bằng một khung EAP- Fail,
bao gồm tổng cộng 14 lần trao đổi khung EAPOL / EAP. Trong 14 tương tác khung
này, cả STA và AP sẽ thương lượng thông tin cấu hình bảo mật (ví dụ: phương thức
xác
thực nào, phương pháp mã hóa nào sẽ sử dụng và PSK, v.v.). Ngoài ra, trong 14 khung
này, M1 đến M8 thuộc nội dung của thuật toán EAP-WSC, và chúng được sử dụng
cho cả STA và AP để xác nhận danh tính và truyền thơng tin cấu hình bảo mật;
5.
Cuối cùng, EAP-WSC kết thúc bằng một khung EAP-Fail, nhưng STA và AP đã hồn
tất thành cơng việc đàm phán thơng tin bảo mật với sự trợ giúp của M1 đến M8. Do
đó, STA đã có được cấu hình bảo mật của AP. Ngồi ra, vì STA nhận được một khung
EAP-Fail, nó sẽ ngắt kết nối khỏi AP (AP sẽ gửi một khung Deauthentication tới
STA);
6.
STA sẽ sử dụng thông tin cấu hình bảo mật đã thương lượng để liên kết lại với AP. Quá
trình tiếp theo giống như liên kết mạng không dây không WSC, nghĩa là sau khi STA
liên kết với AP, công việc RSNA sẽ được thực hiện (công việc RSNA được chỉ định
bởi các thông số kỹ thuật WPA và WPA2), chẳng hạn như 4 chiều giao thức bắt tay và
quy trình Bắt tay nhóm.
1.2.3 Các thơng điệp trao đổi giữa User và AP
Trong quá trình xác thực WPS PIN giữa User và AP có tám thơng điệp M1-M8
được trao đổi giữa hai bên.
Thông điệp một, AP sẽ gửi cho User số N1 và khóa PKE, trong đó N1 là một
nonce ngẫu nhiên 128 bit được tạo bởi Enrollee, PKE là khóa cơng khai của Enrollee.
Hình 2: Thơng điệp M1
Thông điệp hai, User sẽ gửi cho AP số N2, khóa PKR và AuthKey.
Hình 3: Thơng điệp M2
Thơng điệp ba, AP gửi cho User E-Hash1, E-Hash2, trong đó PSK1 và PSK2 lần
lượt là 4 số đầu và 4 số cuối của WPS PIN, E-S1 và E-S2 là 2 số ngẫu nhiên mà chúng
ta sẽ đốn sau này.
Hình 4: Thơng điệp M3
Thơng điệp bốn, User sẽ gửi lại cho AP R-Hash1, R-Hash2 và R-S1
Hình 5: Thơng điệp M4
Sau đó AP sẽ giải mã R-S1 và tính tốn xem R-Hash1 của hai bên có giống nhau
khơng.
Thơng điệp 5, AP sẽ gửi E-S1 của mình sang cho User.
Hình 6: Thơng điệp M5
User sẽ giải mã ra E-S1 và tính tốn E-Hash1 rồi so sánh.
Thơng điệp 6, User sẽ gửi R-S2 của mình sang cho AP. AP xác thực E-Hash2 từ
R-S2 này.
Hình 7: Thơng điệp M6
Thông điệp 7, AP gửi E-S2 và thông tin đăng nhập mạng sang cho User.
Hình 8: Thơng điệp M7
Đến đây là gần như hồn thành q trình xác thực WPS PIN.
1.3 Các lỗ hổng phổ biến
1.3.1 Tấn công Brute Force trực tuyến
Vào tháng 12 năm 2011, nhà nghiên cứu Stefan Viehböck đã báo cáo một lỗ
hổng thiết kế và triển khai khiến các cuộc tấn công bạo lực chống lại WPS dựa trên
mã PIN khả thi trên các mạng Wi-Fi hỗ trợ WPS. Một cuộc tấn công thành công vào
WPS cho phép các bên không được phép truy cập vào mạng và cách giải quyết hiệu
quả duy nhất là vô hiệu hóa WPS. Lỗ hổng tập trung xung quanh các thông báo xác
nhận được gửi giữa nhà đăng ký và người đăng ký khi cố gắng xác thực mã PIN, là
một số gồm tám chữ số được sử dụng để thêm người đăng ký WPA mới vào mạng. Vì
chữ số cuối cùng là tổng tổng của các chữ số trước đó, có bảy chữ số chưa biết trong
mỗi mã PIN, tạo ra 10 7 = 10.000.000 kết hợp có thể có.
Khi người đăng ký cố gắng giành quyền truy cập bằng mã PIN, nhà đăng ký sẽ
báo cáo tính hợp lệ của nửa đầu tiên và nửa thứ hai của mã PIN một cách riêng biệt.
Vì nửa đầu của mã pin bao gồm bốn chữ số (10.000 khả năng) và nửa sau chỉ có ba
chữ số hoạt động (1000 khả năng), nên cần nhiều nhất 11.000 lần đoán trước khi mã
PIN được khôi phục. Đây là mức giảm ba bậc so với số lượng mã PIN sẽ được yêu
cầu kiểm tra. Do đó, một cuộc tấn cơng có thể được hồn thành trong vịng chưa đầy
bốn giờ. Việc khai thác lỗ hổng này dễ dàng hay khó khăn là tùy thuộc vào việc triển
khai, vì các nhà sản xuất bộ định tuyến Wi-Fi có thể bảo vệ chống lại các cuộc tấn
công như vậy bằng cách làm chậm hoặc tắt tính năng WPS sau nhiều lần thử xác thực
mã PIN không thành công.
Một nhà phát triển trẻ sống tại một thị trấn nhỏ ở phía đơng New Mexico đã tạo
ra một công cụ khai thác lỗ hổng này để chứng minh rằng cuộc tấn công là khả thi.
Công cụ này sau đó được Tactical Network Solutions ở Maryland mua với giá 1,5
triệu đơ la. Họ nói rằng họ đã biết về lỗ hổng bảo mật từ đầu năm 2011 và đã sử dụng
nó.
Trong một số thiết bị, việc tắt WPS trong giao diện người dùng khơng dẫn đến
việc tính năng thực sự bị vơ hiệu hóa và thiết bị vẫn dễ bị tấn công này. Firmware cập
nhật đã được phát hành cho một số trong những thiết bị cho phép WPS để bị vơ hiệu
hóa hồn tồn. Các nhà cung cấp cũng có thể vá lỗ hổng bảo mật bằng cách thêm
khoảng thời gian khóa nếu điểm truy cập Wi-Fi phát hiện một cuộc tấn công bạo lực
đang diễn ra, điều này sẽ vơ hiệu hóa phương thức mã PIN đủ lâu để khiến cuộc tấn
công không thực tế.
1.3.2 Tấn công Brute Force ngoại tuyến
Vào mùa hè năm 2014, Dominique Bongard phát hiện ra cái mà anh gọi là cuộc
tấn công Pixie Dust . Cuộc tấn công này chỉ hoạt động trên việc triển khai WPS mặc
định của một số nhà sản xuất chip không dây, bao gồm Ralink, MediaTek, Realtek và
Broadcom. Vụ tấn công tập trung vào một thiếu ngẫu nhiên khi tạo E-S1 và E-S2 "bí
mật" nonces . Biết được hai ký tự này, mã PIN có thể được khơi phục trong vịng vài
phút. Một cơng cụ có tên là PixieWPS đã được phát triển và một phiên bản Reaver
mới đã được phát triển để tự động hóa quy trình.
Vì cả điểm truy cập và máy khách (người đăng ký và nhà đăng ký, tương ứng)
cần phải chứng minh họ biết mã PIN để đảm bảo máy khách không kết nối với AP giả
mạo, kẻ tấn cơng đã có hai hàm băm chứa mỗi nửa mã PIN và tất cả họ cần là bắt
buộc mã PIN thực tế. Điểm truy cập gửi hai hàm băm, E-Hash1 và E-Hash2, cho máy
khách, chứng minh rằng nó cũng biết mã PIN. E-Hash1 và E-Hash2 lần lượt là các
hàm băm của (E-S1 | PSK1 | PKe | PKr) và (E-S2 | PSK2 | PKe | PKr). Hàm băm là
HMAC-SHA- 256 và sử dụng "authkey" là khóa được sử dụng để băm dữ liệu.
1.3.3 Các vấn đề về bảo mật vật lý
Tất cả các phương thức WPS đều dễ bị người dùng trái phép sử dụng nếu điểm
truy cập không dây không được giữ trong khu vực an tồn. Nhiều điểm truy cập khơng
dây có thơng tin bảo mật (nếu nó được bảo mật tại nhà máy) và mã PIN WPS được in
trên chúng; mã PIN này cũng thường được tìm thấy trong menu cấu hình của điểm
truy cập khơng dây. Nếu khơng thể thay đổi hoặc vơ hiệu hóa mã PIN này, cách khắc
phục duy nhất là cập nhật chương trình cơ sở để có thể thay đổi mã PIN hoặc thay thế
điểm truy cập khơng dây.
Có thể trích xuất cụm mật khẩu không dây bằng các phương pháp sau mà không
sử dụng cơng cụ đặc biệt:
Một cụm mật khẩu khơng dây có thể được trích xuất bằng WPS trong Windows
Vista và các phiên bản Windows mới hơn, theo đặc quyền quản trị bằng cách kết nối
với phương pháp này, sau đó hiển thị các thuộc tính cho mạng khơng dây này và nhấp
vào "hiển thị ký tự".
Một khai thác đơn giản trong tiện ích máy khách khơng dây Intel PROset có thể
tiết lộ cụm mật khẩu không dây khi WPS được sử dụng, sau một động tác đơn giản
của hộp thoại hỏi bạn có muốn định cấu hình lại điểm truy cập này hay không.
CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG CỤ PIXIEWPS
2.1 Tổng quan về PixieWPS
PixieWPS là một công cụ được viết bằng C được sử dụng để Brute Force offline
mã PIN WPS khai thác entropy thấp hoặc không tồn tại của một số triển khai phần
mềm, cái gọi là "cuộc tấn công Pixie-Dust" được phát hiện bởi Dominique Bongard
vào mùa hè năm 2014. Nó chỉ có ý nghĩa giáo dục.
Trái ngược với cuộc tấn công Brute Force online truyền thống, được thực hiện
trong các công cụ như Reaver hoặc Bully nhằm khôi phục mã pin trong vài giờ,
phương pháp này có thể lấy mã PIN chỉ trong vài giây hoặc vài phút , tùy thuộc vào
mục tiêu, nếu dễ bị tổn thương.
Hình 9: Brute Force WPS PIN bằng PixieWPS
Kể từ phiên bản 1.4, PixieWPS cũng có thể khơi phục WPA-PSK từ q trình chụp
thụ động hoàn toàn (từ M1 đến M7) cho một số thiết bị (hiện tại chỉ một số thiết bị
hoạt động với --mode 3).
PixieWPS yêu cầu phiên bản sửa đổi của Reaver hoặc Bully sẽ in khóa Phiên
xác thực ( --authkey, -a). Phiên bản được đề xuất là reaver-wps-fork-t6x .
Hình 10: Crack WPA-PSK bằng PixieWPS
2.2 Sử dụng
PixieWPS tương đối dễ dàng sử dụng, được tích hợp các tùy chọn rất tiện ích.
Người dùng có thể chạy chương trình với tùy chọn –help để in ra man page của ứng
dụng.
Để Brute Force WPS PIN ứng dụng yêu cầu 6 tham số cần có là:
-e, --pke
: Enrollee public key
-r, --pkr
: Registrar public key
-s, --e-hash1
: Enrollee hash 1
-z, --e-hash2
: Enrollee hash 2
-a, --authkey
: Authentication session key
-n, --e-nonce : Enrollee nonce
Để có được các tham số này chúng ta có thể nhập trực tiếp khi đã biết hoặc có
thể sử dụng thêm ứng dụng Reaver, ứng dụng giúp lấy các tham số cần thiết từ một
AP, các tham số cung cấp cho PixieWPS để Brute Force WPS PIN.
Hình 11 hiển thị các tham số yêu cầu cũng như các tùy chọn của PixieWPS.
Hình 11: Man page của PixieWPS
CHƯƠNG 3: GIỚI THIỆU CÔNG CỤ REAVER
3.1 Tổng quan về Reaver
Reaver là công cụ thực hiện một cuộc tấn công Brute Force vào Wifi Protected
Setup (WPS) PIN để khôi phục WPA / WPA2 passphrase, như mô tả trong Brute
Force Wi-Fi Protected Setup của Stefan Viehböck.
Reaver đã được thiết kế để trở thành một cuộc tấn công mạnh mẽ và thiết thực
chống lại mã PIN của nhà đăng ký Wi-Fi Protected Setup (WPS) nhằm khôi phục mật
khẩu WPA / WPA2 và đã được thử nghiệm dựa trên nhiều điểm truy cập và triển khai
WPS.
Tùy thuộc vào Điểm truy cập (AP) của mục tiêu, để khôi phục mật khẩu WPA /
WPA2 văn bản thuần túy, lượng thời gian trung bình cho phương pháp vũ phu trực
tuyến chuyển tiếp là từ 4-10 giờ . Trong thực tế, thường sẽ mất một nửa thời gian này
để đốn đúng mã pin WPS và khơi phục cụm mật khẩu. Khi sử dụng cuộc tấn công
ngoại tuyến , nếu AP dễ bị tấn cơng, có thể chỉ mất vài giây đến vài phút .
Phiên bản đầu tiên của reaver-wps (reaver 1.0) được tạo bởi Craig Heffner vào
năm 2011.
reaver-wps-fork-t6x phiên bản 1.6.x là một phiên bản cộng đồng được chia nhỏ
bao gồm các bản sửa lỗi khác nhau , các tính năng mới và phương pháp tấn cơng bổ
sung (chẳng hạn như các ẩn Pixie Dust tấn công).
Reaver gốc (phiên bản 1.0 đến 1.4) có thể được tìm thấy trong kho lưu trữ mã
của google .
Phiên bản cộng đồng reaver-wps-fork-t6x đã ngừng hoạt động, phiên bản reaver
1.5.3, bao gồm cuộc tấn cơng Pixie Dust, hiện là nhánh chính cũ từ kho lưu trữ này.
Phiên bản mới nhất của phiên bản cộng đồng reaver-wps-fork-t6x là nhánh chính
từ kho này.
Phiên bản Reaver đã được cập nhật lên 1.6.x để xác định chu kỳ mới.
Tất cả các bản ổn định liên quan kể từ phiên bản beta đầu tiên của reaver 1.6 có
thể được tải xuống từ trang Bản phát hành của chúng tơi .
Có thể tìm thấy thêm thơng tin về cuộc tấn công Pixie Dust (bao gồm cả những
AP nào dễ bị tấn công ) trong kho lưu trữ pixiewps , chủ đề Pixie Dust (trong diễn đàn
Kali) & tiết lộ đầy đủ của Dominique Bongard
Hình 12 hiển thị các tham số yêu cầu cũng như các tùy chọn của Reaver.
Hình 12: Man page của Reaver
3.2 Sử dụng
Cơng cụ được viết cho hệ điều hành Linux, với rất nhiều các tùy chọn phục vụ
cho cuộc tấn công. Hai tham số mà công cụ yêu cầu là:
-i, --interface=<wlan>
Tên của card WiFi ở chế độ monitor-mode.
-b, --bssid=<mac>
BSSID của AP
Để có được hai tham số này ta cần sử dụng phần mềm aircrack-ng, phần mềm
này sẽ rà quét các mạng WiFi đang có trong khu vực của người dùng và thực hiện lấy
ra các tham số cần thiết như BSSID, Channel, MAC, …
Trong Reaver đã được tích hợp sẵn module PixieWPS, việc này sẽ dễ dàng cho
tấn công Pixie Dust vào WPS PIN. Để sử dụng được module này Reaver cho chúng ta
hai tùy chọn đó là -K hoặc -Z // --pixie-dust
Tùy chọn -K và -Z thực hiện tấn công ngoại tuyến Pixie Dust (pixiewps), bằng
cách tự động chuyển các biến PKE, PKR, E-Hash1, E-Hash2, E-Nonce và Authkey
vào module PixieWPS sau đó sẽ cố gắng tấn công chipset phát hiện được của Ralink,
Broadcom và Realtek. Lưu ý đặc biệt: Nếu bạn đang tấn công một AP Realtek, không
sử dụng tùy chọn DH Keys (-S). Người dùng sẽ phải thực thi trình phục hồi bằng mã
PIN đã bị bẻ khóa (tùy chọn -p) để nhận được mật khẩu WPA. Đây là một giải pháp
tạm thời và một tùy chọn để thực hiện một cuộc tấn cơng tồn diện sẽ sớm được triển
khai.
CHƯƠNG 4: TẤN CÔNG WPS PIN BẰNG PIXIEWPS KẾT
HỢP VỚI REAVER
4.1 Sơ lược về WPS offline bruteforce attack
Dominique Bongard đã phát hiện ra rằng một số AP tồn tại điểm yếu khi tạo ra
các nonces (được gọi là E-S1 và E-S2 ) được cho là bí mật. Nếu chúng tơi có thể tìm
ra những khác biệt này là gì, chúng tơi có thể dễ dàng tìm thấy mã PIN WPS của một
AP vì AP phải cung cấp cho chúng tơi dưới dạng băm để chứng minh rằng nó cũng
biết mã PIN và máy khách không kết nối đến một AP rouge. Các E-S1 và E-S2 này
thực chất là "chìa khóa để mở hộp khóa" có WPS PIN. Vấn đề giờ đây như một bài
toán đại số, chúng ta biết tất cả ngoại trừ 1 biến trong một phương trình, chúng ta chỉ
cần giải X, trong trường hợp này là WPS PIN.
Các phần quan trọng của trao đổi WPS PIN: M1,M2, M3, Authkey
Enrollee Nonce
PKE Public Key (Enrollee Public Key)
E-Hash1 = HMAC-SHA-256 (authkey) (E-S1 | PSK1 | PKE | PKR)
E Hash2 = HMAC-SHA-256 (authkey) (E-S2 | PSK2 | PKE | PKR)
Authkey
Trong đó:
E-Hash1 là một hàm băm trong đó có chứa nửa đầu mã PIN.
E-Hash2 là một hàm băm trong đó có chứa nửa sau mã PIN.
HMAC là một hàm băm tất cả dữ liệu. Chức năng là HMAC-SHA-256.
PSK1 là nửa đầu của mã PIN của bộ định tuyến (10.000 khả năng)
PSK2 là nửa sau của mã PIN của bộ định tuyến (10.000 khả năng)
PKE là Khóa cơng khai của Người đăng ký (được sử dụng để xác minh tính hợp
pháp của trao đổi WPS và ngăn phát lại.)
PKR là Khóa cơng khai của Nhà đăng ký (được sử dụng để xác minh tính hợp
pháp của trao đổi WPS và ngăn phát lại.)
Lỗ hổng của các nhà cung cấp chip set
Trong Broadcom eCos, hai số không liên quan này được tạo ngay sau khi đăng
ký (thông báo công khai do AP tạo.) Chúng tôi cũng biết hàm cung cấp cho chúng ta
dữ liệu này, vì vậy nếu chúng ta thay thế trong các hạt giống, cuối cùng chúng ta sẽ
tìm
thấy các nonces khác nhau và từ đó chúng ta có thể tìm thấy các E-S1 và E-S2 nonces.
Ở đây E-S1 và E-S2 được tạo từ cùng một bộ sinh số ngẫu nhiên PRNG, tạo ra N1
Enrollee Nonce
Trong Realtek, PRNG là một hàm sử dụng thời gian tính bằng giây từ ngày 1
tháng 1 năm 1970 cho đến khi dữ liệu được tạo (về cơ bản khi WPS bắt đầu trao đổi.)
Phần dễ bị tấn công là chip sử dụng cùng một bộ tạo để tạo ra Enrollee nonce như nó
làm để tạo ra E-S1 và E-S2. Vì vậy, nếu tồn bộ q trình trao đổi diễn ra trong cùng
một giây đó, E-S1 = E-S2 = Enrollee Nonce. Nếu nó xảy ra trong một vài giây, thì tất
cả những gì chúng ta phải làm là tìm hạt giống đã cung cấp cho chúng ta Enrolle
Nonce, sau đó tăng nó lên và lấy đầu ra là E-S1 và E-S2. Nó là một bạo lực đa biến, vì
vậy có thể mất nhiều thời gian hơn một chút nhưng không quá vài phút trên PC hiện
đại. E-S1 = E-S2
= N1 Enrollee Nonce hoặc được tạo với seed = time
Trong Ralink, E-S1 và E-S2 không bao giờ được tạo. Chúng luôn bằng 0. Do đó,
chúng ta chỉ cần Brute Force mã PIN là xong. E-S1 = E-S1 = 0
Trong MediaTek, cũng như trong Ralink. E-S1 và E-S2 không bao giờ được tạo
ra. E-S1 = E-S2 = 0
Ở Celeno, cũng như trong Ralink, những con chip này chỉ là những con chip
Ralink được đổi thương hiệu. E-S1 và E-S2 không bao giờ được tạo ra. Do đó chúng
ta có E-S1 = E-S2 = 0
Giả sử chúng ta đã biết PKE, PKR, Authkey, E-Hash1 và E-Hash2 vì bộ định
tuyến cung cấp cho chúng ta những giá trị này (và ngược lại) và chúng ta đã tìm ra ES1 và E-S2 bằng cách brute forcing chúng hoặc biết rằng chúng bằng 0, chúng ta có
thể chạy tất cả dữ liệu thông qua hàm băm và thử mọi WPS PIN cho đến khi chúng ta
có một hàm băm phù hợp (E-Hash1 và E-Hash2) mà AP đã cung cấp cho chúng ta.
Khi chúng tôi được trả về một kết quả trùng khớp, chúng tơi có thể nói "Ok, ghim cuối
cùng mà chúng tôi sử dụng khớp với mã băm từ tin nhắn M3. Đó là PIN." Bây giờ
chúng ta có thể lấy mã pin mà chúng ta vừa bắt buộc và ném nó vào Reaver hoặc
Bully và AP sẽ nói "Ok, bạn có mã pin phù hợp, đây là tất cả thông tin đăng nhập của
tôi", bao gồm cả SSID, WPS Pin và khóa WPA.
4.2 Chi tiết cách thức tấn cơng
Theo như hình 1 giao thức đăng ký WPS, chúng ta thấy rằng User và AP có trao
đổi với nhau tám thông điệp M1 – M8. Trong kỹ thuật WPS offline bruteforce attack
chúng ta sẽ tấn công vào thông điệp số ba M3.
Trình tự các bước tấn cơng sẽ được mơ tả trong các hình dưới đây.
Trong thơng điệp M1 AP gửi cho chúng ta PKE, đây là public key của AP. Hình
6 mơ tả thơng điệp M1.
Hình 13: Thơng điệp M1
Sau đó chúng ta sẽ gửi lại cho AP thông điệp M2, chúng ta không cần quan tâm
tới bước này. Tiếp đến AP lại gửi cho chúng ta thơng điệp M3, thơng điệp có chứa EHash1 và E-Hash2. Chi tiết mơ tả trong hình 7.
Hình 14: Thông điệp M3
Vậy là chúng ta đã có đủ các tham số cần thiết để Brute Force WPS PIN chính là
PSK1 và PSK2 ghép lại. Riêng Authkey chúng ta đã có, cịn E-S1 và E-S2 chúng ta đã
phỏng đoán theo chipset như ở phần trên.
E-S1 và E-S2 được tạo ngẫu nhiên bằng bộ tạo số giả ngẫu nhiên (PRNG). Bộ
tạo số ngẫu nhiên này thường khơng an tồn, khơng có hoặc có entropy thấp, trạng
thái nhỏ (32 bit).
Sau khi Bruteforce được PSK1 / PSK2 từ E-Hash1 / E-Hash2 chúng ta thực hiện
giao thức WPS đầy đủ để nhận thông tin đăng nhập.
4.3 Demo thực hiện
Các công cụ cần thiết để tấn công:
1. Aircrack-ng
2. Reaver
3. PixieWPS
Các bước thực hiện
Bước 1. Thiết lập ban đầu
Khởi động card mạng ở chế độ monitor để bắt đầu bắt các gói tin.
Command: service network-manager stop
Command: airmon-ng check
Kill các tiến trình gây nhiễu. Làm điều này lặp lại cho tất cả các quá trình cho đến
khi kiểm tra airmon-ng cho kết quả đầu ra “không gây nhiễu”.
Lệnh: kill -9
Khởi động chế độ monitor.
Command: airmon-ng check
Command: iwconfig
Command: airmon-ng start wlan0
Hình 15: Thiết lập ban đầu
Bước 2: Bắt đầu Capture và chọn mục tiêu.
Airodump kết xuất các gói nhận được trên monitor mod. Chúng ta có thể chọn ghi
hoặc khơng ghi các gói vào một tệp.
Command: airodump-ng wlan0mon
Hình 16: Capture bằng airodump