HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA AN TỒN 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ụ mdk3 trên Kali Linux
Giảng viên hướng dẫn: TS. Đặng Minh Tuấn
Sinh viên thực hiện: Trần Thị Mai Anh
Mã SV: B18DCAT013
Hà Nội 2021
LỜI MỞ ĐẦU
Ngày nay với sự tiện lợi của chuẩn mạng không dây IEEE 802.11, các mạng
truy cập không dây đã có sự bùng nổ trong lĩnh vực tiêu dùng, công nghiệp cũng
như quân sự. Các điểm yếu trong giao thức 802.11 đã được công nhận rộng rãi, điều
này đã dẫn đến sự gia tăng các cuộc tấn công từ chối dịch vụ.
Với bài tiểu luận với đề tài “ Tìm hiểu về cơng cụ mdk3 trên Kali Linux”
chúng ta sẽ cùng tìm hiểu về cơng cụ mdk3 và ứng dụng của nó để hiểu rõ hơn và
tiến hành thử nghiệm kiểm chứng.
2
MỤC LỤC
1.
2.
3.
4.
5.
Giới thiệu khái niệm ..................................................................... 4
Hướng dẫn cài đặt và sử dụng ...................................................... 8
Lab và kịch bản demo ................................................................ 17
Một chút tìm hiểu về aireplay-ng ............................................... 26
So sánh MDK3 và Aireplay-ng .................................................. 29
Tài liệu tham khảo .......................................................................... 30
3
1. Giới thiệu khái niệm
Hiện nay có khá nhiều phương thức truyền tải thông tin qua mạng phổ biến nhất là
mạng WLAN. Vậy WLAN là gì ?
WLAN là một loại mạng máy tính nhưng việc kết nối giữa các thành phần trong
mạng không sử dụng các loại cáp như một mạng thông thường , môi trường truyền
thông của các thành phần trong mạng là khơng khí .
Mạng cục bộ khơng dây (WLAN) đã thay đổi cách Internet được sử dụng trên thế
giới ngày nay. Cơng nghệ khơng dây có ở những nơi như Sân bay, Công viên,
Khách sạn, Quán cà phê, Trường học, Văn phòng các tòa nhà, v.v. Kẻ tấn cơng có
thể bắt đầu một cuộc tấn cơng vào một client khơng biết.
Tấn cơng Denial-of-Service (DoS) là gì?
Denial-of-Service (DoS) là một cuộc tấn công nhằm tắt máy hoặc ngắt kết nối,
khiến người dùng ngừng truy cập. Các cuộc tấn công DoS thường hoạt động bằng
cách áp đảo hoặc làm quá tải mục tiêu với các request cho đến khi không thể xử lý,
dẫn đến từ chối dịch vụ cho người dùng. Trong cả hai trường hợp, DoS đều tước
quyền sử dụng dịch vụ hoặc tài nguyên hợp pháp của người dùng. Một cuộc tấn
công DoS được đặc trưng bằng cách sử dụng một máy tính duy nhất để khởi động
cuộc tấn công.
Nạn nhân của các cuộc tấn công DoS thường là email, website, tài khoản trực
tuyến... ngồi ra cịn có mạng, máy hoặc một chương trình. Mặc dù DoS khó để
đánh cắp thơng tin quan trọng, nhưng chúng có thể khiến nạn nhân phải mất rất
nhiều thời gian và tiền bạc để giải quyết hậu quả. Bởi vì một cuộc tấn cơng DoS có
thể dễ dàng được thực hiện từ bất kỳ đối tượng nào, việc tìm kiếm người chịu trách
nhiệm rất khó khăn.
Có hai phương pháp tấn cơng DoS: Flooding attack hoặc crashing attack.
4
Tấn công flooding xảy ra khi hệ thống nhận quá lưu lượng truy cập tối đa, khiến hệ
thống chạy chậm lại và cuối cùng dừng lại. DoS wifi chẳng hạn như
Authentication DoS, Deauthentication DoS là những dạng tấn công flooding
Tấn công crashing khai thác các lỗ hổng hệ thống hoặc dịch vụ. Trong các cuộc tấn
công này, tận dụng các lỗi trong mục tiêu sau đó khiến hệ thống bị sập hoặc tổn hại
nghiêm trọng, do đó khơng thể truy cập hoặc tạm ngừng sử dụng nó.
Cách DoS attack hoạt động?
Trọng tâm chính của một cuộc tấn cơng DoS là làm quá tải công suất của máy
được nhắm mục tiêu, dẫn đến việc từ chối dịch vụ đối với các yêu cầu bổ sung.
Có nhiều điểm tương đồng giữa một cuộc tấn công DoS và các lỗi kết nối mạng
không độc hại như: Sự cố kỹ thuật mạng, hệ thống bảo trì.. Tuy nhiên, các triệu
chứng sau đây có thể chỉ ra một cuộc tấn công DoS:
Hiệu suất mạng chậm một cách bất thường như tải tệp hoặc website chậm
Không thể tải bất kỳ website nào
Mất kết nối đột ngột giữa các thiết bị trên cùng một mạng
Cách tốt nhất để phát hiện và xác định một cuộc tấn công DoS sẽ là thơng qua
giám sát và phân tích lưu lượng mạng. Lưu lượng mạng có thể được giám sát
thơng qua tường lửa hoặc hệ thống phát hiện xâm nhập.
Một cuộc tấn công DoS ngăn người dùng truy cập dịch vụ bằng cách làm quá tải
các tài nguyên vật lý hoặc kết nối mạng của họ. Cuộc tấn công về cơ bản làm ngập
dịch vụ với rất nhiều lưu lượng hoặc dữ liệu mà khơng ai khác có thể sử dụng cho
đến khi luồng độc hại được xử lý.
Một cách để làm quá tải tài nguyên vật lý của dịch vụ là gửi cho nó rất nhiều yêu
cầu trong một thời gian ngắn đến mức nó chiếm hết hard disk space, memory hoặc
CPU time có sẵn. Trong trường hợp cực đoan, điều này thậm chí có thể dẫn đến
thiệt hại của các thành phần vật lý cho các tài nguyên này.
5
Tương tự, để phá vỡ các kết nối mạng của dịch vụ, một cuộc tấn cơng DoS có thể
gửi input không hợp lệ, không đúng định dạng hoặc chỉ là một số lượng lớn yêu
cầu kết nối đến nó. Trong khi những điều này đang được giải quyết, các yêu cầu
kết nối từ người dùng hợp pháp không thể được hồn thành.
Đơi khi, một cuộc tấn cơng DoS khai thác lỗ hổng trong chương trình hoặc website
để buộc sử dụng tài nguyên hoặc kết nối mạng không đúng cách, điều này cũng
dẫn đến việc từ chối dịch vụ.
Một số phần mềm độc hại cũng bao gồm khả năng khởi chạy các cuộc tấn cơng
DoS. Khi chúng lây nhiễm máy tính hoặc thiết bị, những mối đe dọa này có thể sử
dụng tài nguyên của các máy bị nhiễm để thực hiện cuộc tấn công. Nếu nhiều máy
bị nhiễm khởi chạy các cuộc tấn cơng vào cùng một mục tiêu, thì đó được gọi là
cuộc tấn cơng Distributed-Denial-of-Service (DDoS).
Khối lượng dữ liệu được sử dụng trong một cuộc tấn công DoS hoặc DDoS có thể
rất lớn, lên tới tốc độ vài gigabit mỗi giây. Botnet thường được sử dụng để thực
hiện các cuộc tấn cơng DDoS, vì nhiều dịch vụ khơng có tài nguyên cần thiết để
chống lại một cuộc tấn cơng từ hàng ngàn, thậm chí hàng trăm ngàn thiết bị bị
nhiễm.
Không giống như virus hoặc malware, một cuộc tấn cơng DoS khơng phụ thuộc
vào một chương trình để chạy. Thay vào đó, nó lợi dụng một lỗ hổng cố hữu trong
cách các mạng máy tính giao tiếp.
Trong một cuộc tấn cơng DoS, một máy tính được trang bị để gửi không chỉ một
lời giới thiệu vào một server, mà là hàng trăm hoặc hàng ngàn. Server không thể
biết các lời giới thiệu là giả, gửi lại response, đợi tối đa một phút trong mỗi trường
hợp để nghe response. Khi không nhận được response, server sẽ tắt kết nối và máy
tính thực hiện cuộc tấn cơng lặp lại, gửi một loạt yêu cầu giả mạo mới.
Các cuộc tấn công DoS chủ yếu ảnh hưởng đến các tổ chức, các kết nối. Đối với
người dùng, các cuộc tấn công cản trở truy cập dịch vụ, website.
6
DoS wifi là một kĩ thuật tấn công khá là đơn giản nhưng hậu quả để lại rất lớn.
Giống như DoS thường gặp ở các cuộc tấn công vào các Web / Server thì việc tấn
cơng vào AP ( Điểm truy cập Wifi ) cũng với mục đích làm gián đoạn hoạt động
của một mạng Wifi nào đó . Tin tặc tấn công bằng cách thực hiện một số thăm dị
trên mạng khơng dây xung quanh, xác thực các điểm truy cập không dây và tin tặc
sẽ gởi deauthentication packets hợp lệ đến client đã kết nối đến access point.
MDK3 là một công cụ khai thác vào điểm yếu của giao thức mạng khơng dây
IEEE 802.11. Có 2 chức năng hay dùng nhất ở công cụ này: một là tạo ra điểm truy
cập (Access Point – AP) giả, hai là tấn công DoS (Denial of Service – từ chối dịch
vụ), tức là tạo ra rất nhiều client giả mạo đòi yêu cầu kết nối với router wifi, dẫn
tới việc quá tải cho router khiến thiết bị tạm thời ngắt hết kết nối hoặc khởi động
lại. Mức độ thành công của mdk3 phụ thuộc nhiều vào cường độ tín hiệu của máy
tấn cơng. Do đó tốt nhất nên sử dụng modem wifi cắm ngoài.
7
2. Hướng dẫn cài đặt và cách sử dụng
Mdk3 đã được cài đặt sẵn trên Kali Linux
Cài đặt Musket modification (mod-musket-r1) trên Kali Linux
Cài đặt trên Linux (Debian, Mint, Ubuntu)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
MDK USAGE:
mdk3 <interface> <test_mode> [test_options]
Try mdk3 --fullhelp for all test options
Try mdk3 --help <test_mode> for info about one test only
TEST MODES:
b
- Beacon Flood Mode
Sends beacon frames to show fake APs at clients.
This can sometimes crash network scanners and even drivers.
a
- Authentication DoS mode
Sends authentication frames to all APs found in range.
Too much clients freeze or reset some APs.
p
- Basic probing and ESSID Bruteforce mode
Probes AP and check for answer, useful for checking if SSID has
been correctly decloaked or if AP is in your adaptors sending range
SSID Bruteforcing is also possible with this test mode.
d
- Deauthentication / Disassociation Amok Mode
Kicks everybody found from AP
m
- Michael shutdown exploitation (TKIP)
Cancels all traffic continuously
x
- 802.1X tests
w
- WIDS/WIPS Confusion
Confuse/Abuse Intrusion Detection and Prevention Systems
f
- MAC filter bruteforce mode
This test uses a list of known client MAC Adresses and tries to
authenticate them to the given AP while dynamically changing
8
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
g
b
a
p
its response timeout for best performance. It currently works only
on APs who deny an open authentication request properly
- WPA Downgrade test
deauthenticates Stations and APs sending WPA encrypted packets.
With this test you can check if the sysadmin will try setting his
network to WEP or disable encryption.
- Beacon Flood Mode
Sends beacon frames to show fake APs at clients.
This can sometimes crash network scanners and even drivers.
OPTIONS:
-n <ssid>
Use SSID <ssid> instead of randomly generated ones
-f <filename>
Read SSIDs from file
-v <filename>
Read MACs and SSIDs from file. See example file.
-d
Show station as Ad-Hoc
-w
Set WEP bit (Generates encrypted networks)
-g
Show station as 54 Mbit
-t
Show station using WPA TKIP encryption
-a
Show station using WPA AES encryption
-m
Use valid accesspoint MAC from OUI database
-h
Hop to channel where AP is spoofed
This makes the test more effective against some devices/drivers
But it reduces packet rate due to channel hopping.
-c <chan>
Fake an AP on channel <chan>. If you want your card to hop on
this channel, you have to set -h option, too.
-s
Set speed in packets per second (Default: 50)
- Authentication DoS mode
Sends authentication frames to all APs found in range.
Too much clients freeze or reset almost every AP.
OPTIONS:
-a <ap_mac>
Only test the specified AP
-m
Use valid client MAC from OUI database
-c
Do NOT check for test being successful
-i <ap_mac>
Perform intelligent test on AP (-a and -c will be ignored)
This test connects clients to the AP and reinjects sniffed data to keep the
-s
Set speed in packets per second (Default: unlimited)
- Basic probing and ESSID Bruteforce mode
Probes AP and check for answer, useful for checking if SSID has
9
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
d
m
x
been correctly decloaked or if AP is in your adaptors sending range
Use -f and -t option to enable SSID Bruteforcing.
OPTIONS:
-e <ssid>
Tell mdk3 which SSID to probe for
-f <filename>
Read lines from file for bruteforcing hidden SSIDs
-t <bssid>
Set MAC adress of target AP
-s
Set speed (Default: unlimited, in Bruteforce mode: 300)
-b <character set>
Use full Bruteforce mode (recommended for short SSIDs only.)
Use this switch only to show its help screen.
- Deauthentication / Disassociation Amok Mode
Kicks everybody found from AP
OPTIONS:
-w <filename>
Read file containing MACs not to care about (Whitelist mode)
-b <filename>
Read file containing MACs to run test on (Blacklist Mode)
-s
Set speed in packets per second (Default: unlimited)
-c [chan,chan,chan,...]
Enable channel hopping. Without providing any channels, mdk3 will hop an al
14 b/g channels. Channel will be changed every 5 seconds.
- Michael shutdown exploitation (TKIP)
Cancels all traffic continuously
-t <bssid>
Set Mac address of target AP
-w <seconds>
Seconds between bursts (Default: 10)
-n
Set packets per burst (Default: 70)
-j
Use the new TKIP QoS-Exploit
Needs just a few packets to shut AP down.
-s
Set speed (Default: 400)
- 802.1X tests
0 - EAPOL Start packet flooding
-n <ssid>
Use SSID <ssid>
-t <bssid>
Set MAC address of target AP
-w <WPA type>
Set WPA type (1: WPA, 2: WPA2/RSN; default: WPA)
-u <unicast cipher>
Set unicast cipher type (1: TKIP, 2: CCMP; default: TKIP)
-m <multicast cipher>
Set multicast cipher type (1: TKIP, 2: CCMP; default: TKIP)
-s
Set speed (Default: 400)
1 - EAPOL Logoff test
-t <bssid>
Set MAC address of target AP
-c <bssid>
10
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
w
f
g
Set MAC address of target STA
-s
Set speed (Default: 400)
- WIDS/WIPS/WDS Confusion
Confuses a WDS with multi-authenticated clients which messes up routing tables
-e <SSID>
SSID of target WDS network
-c [chan,chan,chan...]
Use channel hopping
-z
activate Zero_Chaos' WIDS exploit
(authenticates clients from a WDS to foreign APs to make WIDS go nuts)
- MAC filter bruteforce mode
This test uses a list of known client MAC Adresses and tries to
authenticate them to the given AP while dynamically changing
its response timeout for best performance. It currently works only
on APs who deny an open authentication request properly
-t <bssid>
Target BSSID
-m <mac>
Set the MAC adress range to use (3 bytes, i.e. 00:12:34)
Without -m, the internal database will be used
-f <mac>
Set the MAC adress to begin bruteforcing with
(Note: You can't use -f and -m at the same time)
- WPA Downgrade test
deauthenticates Stations and APs sending WPA encrypted packets.
With this test you can check if the sysadmin will try setting his
network to WEP or disable encryption. mdk3 will let WEP and unencrypted
clients work, so if the sysadmin simply thinks "WPA is broken" he
sure isn't the right one for this job.
(this can/should be combined with social engineering)
-t <bssid>
Target network
Trước khi sử dụng mdk3, ta cần khởi động chế độ giám sát (monitor mode) trên
wireless adapter, để theo dõi giao thông mạng qua lại giữa máy với điểm truy cập
mạng (Access Point). Lúc này wifi được sử dụng với mục đích khác, do đó ko thể
dùng nó truy cập internet được. Vì thế ta thực hiện airmon-ng check kill trước để
tắt hết các chương trình nào đang sử dụng card wifi. Sau đó thực hiện airmon-ng
start wlp6s0 để bắt đầu bật monitor mode. Lúc này chúng ta có dịng thơng báo
phía dưới: “monitor mode đã bật cho wlp6s0 với tên wlp6s0mon” thì các câu lệnh
tiếp theo sẽ sử dụng interface wlp6s0mon này.
11
12
Lưu ý cần set thiết bị đến kênh của AP mục tiêu, nếu không mdk3 sẽ không hoạt
động.
Thực hiện lệnh airodump-ng wlp6s0mon
Danh sách các wifi bắt được sẽ hiện ra. Ta quan tâm tới 2 cột là BSSID (địa chỉ
MAC của thiết bị wifi) và CH (kênh). Ấn Ctrl+C để dừng lệnh rồi copy mã bssid
của đối tượng mong muốn.
Chú ý cái nào gần mình nhất thì có chỉ số xung PWR lớn nhất, nhiều người đang
truy cập thì chỉ số Beacons hay Data lớn. Ta để ý danh sách thứ hai ở phía dưới
cho biết đang có một thiết bị wifi và một client kết nối với nhau. Ở đây ta thấy có 1
station. Vì phương pháp này là giải mã mật khẩu từ gói tin bắt trộm giữa router với
một client đang kết nối khác, nếu wifi mà khơng có ai kết nối thì khơng áp dụng
được.
Thực hiện lệnh airodump-ng --bssid [mã_bssid] -c [kênh] -w
[đường_dẫn_lưu]/[đặt_tên] wlp6s0mon
Ví dụ airodump-ng –bssid 90:8D:78:75:6D:4C -c 1 -w
home/hoang/Desktop/abcdef wlp6s0mon
13
Ta cần chạy lệnh này để trỏ airodump-ng tới một AP cụ thể và lưu file truyền
thông dưới tên và thư mục như trên. Mục đích giữ trên 1 kênh cụ thể là để card
wifi sẽ không thay đổi kênh nữa để tìm những station khác.
Cái hay của việc sử dụng airodump-ng là không cần lo về việc set up card đúng vì
airmon-ng và airodump-ng đã làm cơng việc này. Hardware bây giờ đã được set up
đúng và ta có thể bắt đầu sử dụng mdk3.
b - Beacon Flooding
AccessPoints send out approximately 10 beacon frames per second. They are to
identify the network. When you scan for networks, your card does in fact look for
beacon frames on every available channel. With MDK3, it is possible to send those
beacon frames, too. Therefor you are able to create as many networks as you like,
always keep in mind, that those networks are fake, and nobody can actually
connect to them. People will see those networks when they scan with their WiFi
device. Windows does scan automatically as long as it isn't connected and shows
an info, if a network is found. Additionally, this mode can be used to hide a
network by generating thousands of fake networks with the same name as the
original one. This mode has several options to set network name, i encryption,
speed etc.
a - Authentication Denial-Of-Service
When a station connects to an AccessPoint, it needs to fulfill several steps of
Authentication. The two basic steps are Authentication and Association. The first
step starts the whole process and asks the AP if another station may connect to it,
and lets the AP decide if the new client is allowed. A MAC Filter would deny this
request if an unknown station would try to connect. In the second step, the
14
encryption is checked. Most APs use the Open mode, so the Association Phase is
always accepted, and the real check if a clients key is valid is done later (i.e. in the
EAP phase for WPA). The weak point of this is, that you can start multiple
requests and forget about them, but the AP needs to keep those request in its
memory in order to complete it. This Denial-of-Service-Mode starts as much
requests as possible and keeps track of the answers, the AP sends. You can execute
this test on multiple APs at once, or you can select the intelligent variant, where
mdk3 does itself keep track about clients, and even re-injects valid Data packets it
intercepts from the network, so an AP may not be able to distinguish real and fake
clients, and may start dropping legitimate ones to free up space.
p - Probing
The IEEE standard defines Probe packets. Those packets allow a station to send a
request for a certain network into the air, with all matching APs responding to it.
With those packets you can check, if an AP is in your range (ie. if you can reach it
and it reaches you). Most APs have a feature called "hidden SSID". With a hidden
SSID, a network cannot be "found" with Windows, and will be displayed on other
Systems as "Hidden". The beacon frames emitted by those APs do NOT contain
the networks name. Instead they either contain ZEROS for each character in the
SSID, or only a single Zero. In order to connect to such a hidden network, an
attacker must find out the networks real name. As far as the network's name is
being transmitted in plaintext upon Association to the AP, an attacker could simply
wait until some client connects to the AP or disconnect an already connected one
with aireplay-ng or any other Deauthentication tool (mdk3 can do it too, Mode d),
and wait for it to reconnect (which it usually does instantly). However, if there is
NO CLIENT connected, the SSID stays hidden. With mdk3 however, you are able
to try SSIDs from a Wordlist or via Bruteforce. It sends Probe Frames and waits
for responses. If you hit the right SSID, the AP will respond to you, and it's name
isn't hidden anymore. If you are lucky, the AP keeps the original length of the real
SSID in its beacon frames. mdk3 will detect that and will only try SSIDs that
match.
15
d - Deauthentication ans Disassociation
If a station wants to leave a network, it sends a Deauthentication packet to the AP
to deregister itself from it. Additionally, the AP is allowed to disconnect stations
when it thinks it is necessary (for example, the AP is full, and the oldest stations
gets kicked from it to allow new clients to connect). As far as those packets are not
encrypted our signed (if you are not using the new amendment IEEE_802.11w), an
attacker can easily forge them to disconnect legitimate clients from your AP. mdk3
is capable of creating different types of those packets, with different options:
Deauthentication from AP to client: mdk3 injects a deauthentication packet with
the MAC Adress of the AP to the Station, telling the station is has been
disconnected for unspecified reasons.
Deauthentication from client to AP: mdk3 injects a deauthentication packet from
the Station to the AP, telling the AP, the station is leaving the network.
Disassociation from AP to client: mdk3 tells the client, it has been kicked because
the AP is full.
Disassociation from client to AP: mdk3 tells the AP, the client is leaving the
network.
mdk3 listens on the current channel for Data packets, extracts the addresses of AP
and Station from them, and sends one packet of each type. Every second, a status
message is displayed, if something has happened.
16
3. Lab và kịch bản demo
1. Tấn công Authentication DoS
- Trước tiên khởi động máy ảo Kali (sử dụng card wifi usb rời) hoặc boot kali trên USB. Và kiểm
tra card mạng đã kết nối
- Mở cửa số Terminal và chuyển đổi card mạng thành chế độ Monitor bằng lệnh
airmon-ng start <interface>
17
- Sau đó kiểm tra các wifi đang tồn tại xung quanh bằng lệnh: airodump-ng <interface>
- Chọn mục tiêu muốn tấn cơng sau đó dùng lệnh mdk3 <interface> a -a < địa chỉ mac>
mdk3 wlan0 a -a 00:1C:E0:38:4B:3F (ở đây chọn tấn công dos vào Access ChungCuMini)
18
Kết quả là dù cho ping đến mạng được nhưng vẫn không lên mạng được
2. Tấn công Deauthentication
Deauthentication attack là một kiểu tấn công từ chối dịch vụ nhắm mục tiêu đến sự
liên lạc giữa người dùng và điểm truy cập khơng dây Wi-Fi. Nói cách khác, kiểu
tấn cơng này được sử dụng để ngắt kết nối các thiết bị khơng dây gần đó khỏi một
điểm truy cập bằng cách gửi khung xác nhận từ các địa chỉ MAC giả mạo.
Tấn công không qua chứng thực là sự khai thác gần như hoàn hảo lỗi nhận dạng
trong mạng 802.11. Trong mạng 802.11 khi một nút mới gia nhập vào mạng nó sẽ
phải đi qua q trình xác nhận cũng như các q trình có liên quan khác rồi sau đó
mới được phép truy cập vào mạng. Bất kỳ các nút ở vị trí nào cũng có thể gia nhập
vào mạng bằng việc sử dụng khố chia sẻ tại vị trí nút đó để biết được mật khẩu
của mạng. Sau quá trình xác nhận, các nút sẽ đi tới các quá trình có liên quan để có
thể trao đổi dữ liệu và quảng bá trong tồn mạng. Trong suốt q trình chứng thực
chỉ có một vài bản tin dữ liệu, quản lý và điều khiển là được chấp nhận. Một trong
19
các bản tin đó mang lại cho các nút khả năng địi hỏi khơng qua chứng thực từ mỗi
nút khác. Bản tin đó được sử dụng khi một nút muốn chuyển giữa hai mạng khơng
dây khác nhau. Ví dụ nếu trong cùng một vùng tồn tại nhiều hơn một mạng khơng
dây thì nút đó sẽ sử dụng bản tin này. Khi một nút nhận được bản tin “không qua
chứng thực” này nó sẽ tự động rời khỏi mạng và quay trở lại trạng thái gốc ban đầu
của nó.
Trong tấn cơng không qua chứng thực, tin tặc sẽ sử dụng một nút giả mạo để tìm ra
địa chỉ của AP đang điều khiển mạng. Khơng q khó để tìm ra địa chỉ của AP bởi
nó khơng được bảo vệ bởi thuật tốn mã hố, địa chỉ của chúng có thể được tìm
thấy nếu chúng ta lắng nghe lưu lượng giữa AP và các nút khác. Khi tin tặc có
được địa chỉ của AP, chúng sẽ gửi quảng bá các bản tin khơng chứng thức ra tồn
mạng khiến cho các nút trong mạng ngay lập tức dừng trao đổi tin với mạng. Sau
đó tất cả các nút đó sẽ cố kết nối lại, chứng thực lại và liên kết lại với AP tuy nhiên
do việc truyền các bản tin không qua chứng thực được lặp lại liên tục khiến cho
mạng rơi vào tình trạng bị dừng hoạt động.
20
21
mdk3 nhảy trên kênh 1, 6 và 11 đồng thời ngắt kết nối mọi station được tìm thấy ở
đó. Hầu hết các station cố gắng kết nối lại, tuy nhiên gần như khơng thể liên lạc
được nữa vì chúng hầu như bị ngắt kết nối một lần nữa ngay sau khi chúng yêu cầu
lại địa chỉ IP với DHCP và ARP. Điều này sẽ kích hoạt một chu kỳ
deauthentication khác trong mdk3. Sử dụng 802.11w nếu có sẵn hoặc một số hệ
thống phát hiện xâm nhập IDS để ít nhất là phát hiện các cuộc tấn công như này
vào mạng của bạn.
3. Bạn muốn kiểm tra xem mạng của mình có dễ bị tấn cơng từ chối dịch vụ
hay khơng. Vì vậy trước tiên bạn hãy thử một cuộc tấn công đơn giản để xem cách
AP của bạn xử lý quá nhiều client được kết nối. Thông thường ở một giới hạn nhất
định (128 hoặc 256 client), AP từ chối thêm các client. Các AP giá rẻ cũng có xu
hướng treo máy và cần được reset, vì vậy hãy cẩn thận với điều này. Giả sử AP của
bạn có địa chỉ MAC 00: 00: 11: 22: 33: 44, đây là bước kiểm tra đầu tiên:
a kích hoạt chế độ Auth DoS
-a chọn AP mục tiêu của bạn
-m mdk3 chỉ sử dụng những địa chỉ hợp lệ để việc lọc trở nên khó hơn. Sau
một vài giây, mdk3 hiển thị một trong những thông báo sau:
AP 00:00:11:22:33:44 is responding: AP của bạn đang phản hồi các client
giả mạo của mdk3. Điều này chỉ cho bạn biết rằng thử nghiệm của bạn đang hoạt
động.
22
AP 00:00:11:22:33:44 has stopped responding and seems to be frozen
after 157 clients: AP của bạn đã ngừng phản hồi các yêu cầu của mdk3. Kiểm tra
xem AP của bạn có cịn hoạt động hay khơng. Nếu khơng, nó rất dễ bị tấn công
Auth DoS và cần phải được reset nếu xảy ra. Bạn nên yêu cầu sửa chữa từ nhà
cung cấp.
AP 00:00:11:22:33:44 is reporting ERRORs and denies connections
after 251 clients: AP của bạn đã ngừng chấp nhận các client mới, khơng phải do
gặp sự cố mà nó từ chối các client mới. Mạng của bạn hiện đã FULL nhưng hoạt
động kém. Tuy nhiên, bạn không thể kết nối với AP này nữa cho đến khi các client
giả mạo từ mdk3 hết thời gian sử dụng và AP chấp nhận lại các client mới. Điều đó
khơng có gì sai, điều kiện DoS này tuân theo tiêu chuẩn IEEE 802.11.
Sau đó, bạn muốn thử kiểm tra xem AP của bạn có khó phân biệt client giả
và client thật. Điều này gây ra tình trạng Từ chối Dịch vụ liên tục cho các client
mới khi cuộc tấn công đang diễn ra. Và ngay sau khi một client hợp pháp ngắt kết
nối, nó khơng thể tham gia lại mạng.
mdk3 sẽ hiện thống kê mỗi giây:
Created: Số lượng client giả mạo mdk3 hiện đang xử lý và cố gắng kết
nối và giữ kết nối với mạng
Authenticated: Số chu kỳ xác thực thành công
Associated: Số chu kỳ Assocation thành công
Denied: Số chu kỳ khơng thành cơng (vì AP đã full)
Got kicked: Số lượng client giả mạo đã từng được kết nối nhưng AP đã
gửi các gói Deauthentication đến
Captured: Số lượng gói dữ liệu VALID đã được chụp
Sent: Số gói dữ liệu đã được gửi đến mạng với danh tính client giả mạo
Responses: Số phản hồi mà client giả nhận được sau khi gửi dữ liệu
23
Relayed: Số lượng gói dữ liệu mà AP đã chấp nhận từ các client giả mạo
(nếu chúng ta chặn gói được chuyển tiếp, AP chuyển tiếp các gói đến để
chúng ta biết khi nào nó chấp nhận một gói)
Trong demo này, cuộc tấn công thông minh đã được bắt đầu khoảng 10 phút
sau cuộc tấn công tiêu chuẩn. Như bạn có thể thấy, AP VẪN đang từ chối bất
kỳ client nào mới. Vì vậy, hãy cẩn thận khi bạn kiểm tra một mạng khơng có đủ
downtime.
4. Giả sử bạn có một mạng khá quan trọng được bảo mật tốt. Giả sử mạng này
chỉ được sử dụng vài giờ mỗi tháng, vì vậy kẻ tấn cơng có thể khơng may mắn bắt
được client xác thực nó. Bạn quyết định thêm một số bảo mật cho mạng đó bằng
cách tắt tính năng phát SSID. Bằng cách đó, kẻ tấn cơng khơng thể kết nối được
với nó vì khơng biết SSID của nó, và do đó khơng thể thực hiện các cuộc tấn công
Từ chối Dịch vụ Xác thực. Bạn chọn một SSID khá ngắn, nhưng bạn thêm một ký
tự đặc biệt vào đó với hy vọng rằng nó khơng thể đốn được: aa1*
Hãy kiểm tra xem SSID này có thể được giải mã bởi một cuộc tấn công
Wordlist hay không:
Thật đáng buồn, AP của bạn chỉ ghi đè chính SSID bằng ZEROS chứ khơng
phải thẻ độ dài của nó, vì vậy mdk3 biết rằng SSID của bạn chỉ dài 4 ký tự.
Do đó, nó chỉ thử những từ trong tệp được chỉ định dài 4 ký tự. May mắn
thay, aa1* không được tìm thấy trong danh sách và mdk3 khơng thể tìm thấy
SSID ẩn. Bây giờ kẻ tấn cơng có thể cố gắng sử dụng Bruteforce vì SSID rất
ngắn. Giả sử kẻ tấn công đã thử một số bộ ký tự và cuối cùng muốn thử tất
cả các ký tự có thể:
24
Lần này mdk3 đã thành cơng. -b lnus có nghĩa là bắt đầu bằng chữ thường,
sau đó là số, sau đó là chữ hoa và cuối cùng là các ký hiệu. Sau khoảng 2500
lần thử, SSID đã được tìm thấy. Do đó hãy sử dụng một SSID dài hơn.
25