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

Báo cáo Thực Tập PTIT

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 (1.54 MB, 29 trang )

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

KHOA VIỄN THÔNG 1

BÁO CÁO
THỰC TẬP TỐT NGHIỆP
Đề tài: Thử nghiệm xâm nhập mạng WiFi

(WiFi Penetration Testing)
Đơn vị thực tập: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN
Người hướng dẫn: TH.S ĐẶNG QUANG DŨNG
Sinh viên thực hiện: NGUYỄN VĂN KHOA
Lớp: D12VT6
Mã sinh viên: B12DCVT261
Khóa: 2012-2017
Hệ đào tạo: ĐẠI HỌC CHÍNH QUY

Hà Nội, tháng 8 năm 2016
LỜI MỞ ĐẦU


Báo cáo TTTN: WiFi Penetration Testing

Cùng với sự phát triển mạnh mẽ của công nghệ thông tin, càng ngày, các doanh
nghiệp, tổ chức, các nhân càng có nhu cầu trao đổi thông tin. Một cách đơn giản và
thông dụng nhất, đó chính là sử dụng mạng WLAN, với ứng dụng được biết đến nhiều
nhất là WiFi. Với rất nhiều lợi thế như sự linh động, hiệu quả, có khả năng mở rộng,
WiFi đang rất được ưu chuộng và đã trở thành một yếu tố cực kì quan trọng trong công
việc, học tập, giải trí của các cá nhân, tổ chức trên toàn thế giới.
Tuy nhiên, ngoài các điểm yếu như tốc độ, phạm vi, và độ tin cậy, người dùng sử
dụng WiFi lại rất lo lắng về vấn đề bảo mật. Với những công ty chuyên về công nghê


hoặc có đội ngũ CNTT trình độ cao thì mối lo có thể giảm đi, nhưng với những người
dùng cá nhân, hộ gia đình, nhất là các điểm phát WiFi miễn phí, thì nguy cơ bị hacker
đột nhập và ăn cắp, lợi dụng thông tin cá nhân là rất cao.
Tuy vậy, “hack wifi” – một thuật ngữ mà không phải ai cũng hiểu rõ, thậm chí là
hiểu sai về nó, thực chất lại là một phần trong quá trình kiểm tra, kiểm soát, khắc phục
các lỗ hổng về bảo mật trong mạng WiFi. Quá trình này được gọi chung là Thử
nghiệm xâm nhập WiFi (WiFi Penetration Testing).
Bài báo cáo thực tập này sẽ tập trung tìm hiểu về các khía cạnh của quá trình
Penetration Tesing, cũng như đi sâu vào WiFi Penetration Tesing, với các nội dung
sau:






Chương 1: Giới thiệu chung về Penetration Testing
Chương 2: WiFi Penetration Testing
Chương 3: Các công cụ hỗ trợ
Chương 4: Giả lập một cuộc tấn công
Chương 5: Giải pháp bảo mật WiFi

2
Nguyễn Văn Khoa – D12VT6


Báo cáo TTTN: WiFi Penetration Testing

Lời Cảm Ơn
Trong sáu tuần thực tập tại Viện Khoa Học Kỹ Thuật Bưu Điện, sinh viên chúng

em đã nhận được sự chỉ bảo, giúp đỡ tận tình của các Thầy Cô giáo trong Viện. Đặc
biệt, sinh viên ngành Kỹ Thuật Điện Tử Truyền Thông chúng em đã được tìm hiểu,
nghiên cứu, học hỏi, tiếp thu rất nhiều kiến thức dưới sự hướng dẫn tận tâm của thầy
cô.
Trước hết em xin gửi lời cảm ơn chân thành sâu sắc nhất tới các Thầy Cô giáo của
Viện nói chung và các thầy cô thuộc Trung tâm Đo lường nói riêng, đã tận tình giảng
dạy, truyền đạt kiến thức và những kinh nghiệm quý báu trong sáu tuần thực tập vừa
qua. Với vốn kiến thức được tiếp thu trong quá trình thực tập sẽ là hành trang quý báu
để chúng em tự tin xây dựng sự nghiệp trên con đường mình đã chọn.
Đặc biệt, em xin tỏ lòng biết ơn sâu sắc đến Thầy giáo ThS. Đặng Quang Dũng,
người đã tận tình giúp đỡ, trực tiếp chỉ bảo hướng dẫn em trong suốt quá trình thực
tập, giúp em hoàn thành tốt báo cáo thực tập của mình.
Em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đặc biệt là các thành viên
thuộc tập thể lớp D12VT6 đã động viên, đóng góp ý kiến và giúp đỡ em trong quá
trình học tập, nghiên cứu và hoàn thành thực tập.
Cuối cùng, em xin kính chúc quý thầy, cô và gia đình luôn dồi dào sức khoẻ,
thành công trong sự nghiệp cao quý. Chúc các bạn sinh viên luôn luôn phấn đấu và
thành công!
Em xin chân thành cảm ơn!
Hà Nội, Ngày……Tháng......Năm………
Sinh viên thực hiện

Nguyễn Văn Khoa

MỤC LỤC

DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
3
Nguyễn Văn Khoa – D12VT6



Báo cáo TTTN: WiFi Penetration Testing

HÌNH 2.1. Các thuật toán mã hóa bảo mật WiFi trên router TP Link WR740N…………..9
HÌNH 2.2. Cơ chế mã hóa WEP……………………………………………………………9
HÌNH 2.3. Bắt tay 4 bước trong WPA/WPA2 Personal…………………………………..11
HÌNH 3.1. Hệ điều hành Backtrack……………………………………………………….12
HÌNH 3.2. Hệ điều hành Kali……………………………………………………………...13
HÌNH 3.3. Hệ điều hành Wifislax…………………………………………………………13
HÌNH 3.4. Công cụ Linset…………………………………………………………………14
HÌNH 3.5. Phần mềm Dumper……………………………………………………………..15
HÌNH 3.6. Phần mềm Wpspin……………………………………………………………...15
HÌNH 3.7. Phần mềm Jumpstart……………………………………………………………16
HÌNH 3.8. Phần mềm Kismet………………………………………………………………17
HÌNH 3.9. Công cụ InSSIDer………………………………………………………………18
HÌNH 4.1. Tạo USB Boot HDH Kali………………………………………………………19
HÌNH 4.2. Boot Options – HĐH Kali………………………………………………………19
HÌNH 4.3. Giao diện khởi động Kali……………………………………………………….20
HÌNH 4.4. Các bước kích hoạt monitor mode……………………………………………...20
HÌNH 4.5. Bảng thông số có được từ câu lệnh airodump-ng ……………………………...21
HÌNH 4.6. Bắt gói tin với airodump-ng…………………………………………………….22
HÌNH 4.7. Lọc các client kết với tới AP trong kênh đơn…………………………………..23
HÌNH 4.8. Câu lệnh aireplay-ng……………………………………………………………23
HÌNH 4.9. Bắt thành công một quá trình WPA Handshake………………………………..24
HÌNH 4.10. Bẻ khóa thành công…………………………………………………………....25
HÌNH 4.11. Bẻ khóa không thành công…………………………………………………….25
HÌNH 5.1. MAC Filtering trên router TP Link WR740N…………………………………..27

KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
4

Nguyễn Văn Khoa – D12VT6


Báo cáo TTTN: WiFi Penetration Testing

Từ viết
tắt
AES
API

Diễn giải
Advanced Encryption Standard
Chuẩn mã hóa nâng cao
Application Programming Interface
Giao diện lập trình ứng dụng

Từ viết
tắt
PSK
PT

BHH

Black Hat Hacker
Hacker mũ đen

RC4

BSSID


Basic Service Set Identifier
Nhận dạng gói dịch vụ cơ bản

SQL

ESSID

Extended Service Set Identifer
Nhận dạng gói dịch vụ mở rộng

SSID

Exploit

Khai thác

TKIP

Firmware Chương trình cơ sở

VA

GPT

GUID Partition Table
Bảng phân vùng GUID

VPN

GUID


Globally Unique Identifier
Đơn vị định danh toàn cầu

WEP

MAC
MBR
MIC

Media Access Control
Điều khiển truy cập môi trường
Master Boot Record
Message Integrity Code
Mã toàn vẹn bản tin

WHH
WiFi
WPA

Payload

Trọng tải

WPA2

PIN

Personal Identification Number
Mã số nhận dạng cá nhân


WPS

PMK

Pairwise Master Key
Khóa chủ song hướng

XSS

Diễn giải
Pre-Share Key
Khóa được chia sẻ trước
Penetration Testing
Thử nghiệm xâm nhập
Rivest Cipher 4
Giải thuật mật mã hóa của
Rivest
Structured
Query
Language
Ngôn ngữ truy vấn cấu trúc
Service Set Identifier
Nhận dạng gói dịch vụ
Temporal Key Integrity
Protocol
Giao thức toàn vẹn khóa
tạm thời
Vulnerability Assessment
Đánh giá lỗ hổng

Virtual Private Network
Mạng riêng ảo
Wired Equivalent Privacy
Bảo mật tương đương
mạng dây
White Hat Hacker
Hacker mũ trắng
Wireless Fidelity
WiFi Protected Access
Truy cập WiFi được bảo vệ
WiFi Protected Access II
Truy cập WiFi được bảo vệ
phiên bản 2
WiFi Protected Setup
Cài đặt WiFi được bảo vệ
Cross-site Scripting
Kịch bản địa chỉ chéo (Lỗ
hổng)

CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1. Khái niệm Penetration Testing
Penetration Testing (gọi tắt là Pen Test hay PT) là phương thức nhằm đánh giá,
ước chừng độ an toàn và tin cậy của một hệ thống máy tính hay một môi trường mạng
bằng cách giả lập (simulating) một cuộc tấn công từ hacker.
Có một sự nhầm lẫn thường thấy giữa hai khái niệm Penetration Testing (PT) và
Vulnerablity Assessment (VA) do định nghĩa của chúng. Thực chất, cả PT và VA đều là
quá trình đánh giá độ tin cậy của hệ thống mạng, máy tính v.v..
5
Nguyễn Văn Khoa – D12VT6



Báo cáo TTTN: WiFi Penetration Testing

Tuy nhiên, PT là quá trình thực hiện thực tế (hoặc giả lập) các cuộc tấn công, để
chứng minh rằng lỗ hổng đó là có thật. Trong khi đó, VA là quá trình xem xét lại các
dịch vụ hệ thống để tìm ra các vấn đề an ninh tiềm tàng có thể xảy ra. Trong một số tài
liệu, VA có thể được coi như một bước trong cả quá trình PT.
1.2. Các khái niệm cơ bản
1.2.1. Lỗ hổng (Vulnerability)
Là một phần của phần mềm, phần cứng hoặc hệ điều hành có cấu trúc bảo mật có
thể bị khai thác, một cách bị động cung cấp một tiềm năng tấn công vào hệ thống.. Ví
dụ như các câu lệnh SQL không thoát được, hàm băm và mã hóa cũ…
1.2.2. Khai thác (Exploit)
Có thể là một chương trình, phần mềm nhỏ với tính chuyên môn cao, có chức
năng, mục đích chính là lợi dụng những lỗ hổng bảo mật cụ thể để cung cấp truy nhập
vào hệ thống máy tính.
Một số exploit thông dụng: Metasploit, Nessus, Nmap, OpenVAS, W3af…
1.2.3. Trọng tải (Payload)
Là các thành phần có trong exploit có khả năng tạo ra kết nối ngược giúp kiểm
soát hệ thống máy tính sau khi đã khai thác lỗ hổng. Payload
Ví dụ của Payload trong Metasploit là Meterpreter, Command Shells, Speech API hoặc
việc thực hiện một câu lệnh Windows..
1.3. Các hạng mục trong Penetration Testing
1.3.1. Đánh giá cơ sở hạ tầng mạng


Đánh giá cấu trúc mạng.




Đánh giá các biện pháp bảo mật được thiết lập.



Đánh giá việc tuân thủ các tiêu chuẩn.



Đánh giá các hệ thống như: firewall: Cấu hình, cấu trúc, quản trị, vá lỗi bảo
mật, ghi nhật ký, chính sách, khả năng sẵn sàng…



Đánh giá thiết bị phát hiện và phòng chống xâm nhập IPS: Cấu hình, khả
năng phát hiện xâm nhập, cấu trúc, quản trị, vá lỗi bảo mật, ghi nhật ký,
chính sách, khả năng sẵn sàng…



Đánh giá thiết bị VPN: Cấu hình, quản trị, chính sách truy nhập, nhật ký…



Đánh giá Router/ Switch: Cấu hình, xác thực, phân quyền, kiểm soát truy
nhập, nhật ký….

1.3.2. Đánh giá hệ thống máy chủ


Máy chủ Windows và Linux:

6

Nguyễn Văn Khoa – D12VT6


Báo cáo TTTN: WiFi Penetration Testing


Đánh giá phiên bản, cập nhật, cấu hình các dịch vụ, vá lỗi, chính sách tài
khoản và mật khẩu, chính sách ghi nhật ký, rà soát cấp quyền…



Khả năng dự phòng, cân bằng tải, cơ sở dử liệu phân tán.

1.3.3. Đánh giá ứng dụng web


Đánh giá từ bên ngoài: Dùng các công cụ chuyên dụng tấn công thử
nghiệm, từ đó phát hiện ra các lỗ hổng như: Lỗi tràn bộ đệm, SQL Injection,
XSS, upload, URL bypass và các lổ hổng ứng dụng khác…



Đánh giá từ bên trong: Kiểm tra mã nguồn web nhằm xác định các vấn đề về
xác thực, cấp quyền, xác minh dữ liệu, quản lý phiên, mã hóa…

1.4. Phân biệt White Hat Hacker (WHH) và Black Hat Hacker (BHH)
1.4.1. Sự cho phép
Trước khi tiến hành bất kì quá trình PT nào, cả WHH lẫn công ty được tiến hành

PT cần phải đồng ý với phạm vi của cuộc tấn công, bao gồm những thông tin chi tiêt
về các tài nguyên và hệ thống được sử dụng trong quá trình. WHH phải luôn tôn trọng
sự chấp thuận và làm việc trong phạm vi đã quy định trước. Ngược lại, BHH không có
bất kì ràng buộc nào đối với các mục tiêu mà họ nhắm đến, và chịu hoàn toàn trách
nhiệm pháp lý nếu có bất kỳ hậu quả nào xảy ra, với mục tiêu tấn công.
1.4.2. Động cơ, mục đích
BHH có động cơ là lợi ích cá nhân, như việc thu lợi từ những thông tin, tài nguyên
khai thác một cách bất hợp pháp từ nạn nhân, trả thù, lấy tiếng hoặc đơn giản vì ý
thích.
Trong khi đó, WHH được đối tượng PT chấp nhận trước và có động cơ là giúp
công ty, tổ chức cải thiện tính an toàn cho công ty, tổ chức đó thông qua việc giả lập
các cuộc tấn công y như thật, nhằm phát hiện sớm các lỗ hổng an ninh,và song song
với đó, luôn phải đảm bảo an toàn thông tin cho khách hàng hay đối tượng liên quan
1.5. Các giai đoạn chung
Các giai đoạn chung của một quá trình Penetration Testing bao gồm:
– Trinh sát (Reconnaissance): Giai đoạn này, hacker cố gắng thu thập càng nhiều
thông tin càng tốt về mục tiêu, thu thập càng nhiều thì tỉ lệ thành công ở các bước sau
càng cao.
– Quét (Scanning): Sau quá trình thu thập thông tin, chúng ta hầu như sẽ có trong tay
mình tối thiểu một vài IP của mục tiêu. Giai đoạn Scanning này có thể được chia làm
hai bước riêng biệt đó là Port Scanning và Vulnerability Scanning. Bước đầu tiên là
quét các IP có được để tìm ra danh sách các port đang mở và các dịch vụ có thể đang

7
Nguyễn Văn Khoa – D12VT6


Báo cáo TTTN: WiFi Penetration Testing

sử dụng các port này. Sau đó, chúng ta sẽ tìm ra các điểm yếu cụ thể mà các phần mềm

hay dịch vụ này đang mắc phải.
– Khai thác (Exploitation): sau khi có được đầy đủ các kết quả từ giai đoạn 2, chúng
ta bước qua quá trình “khai thác” mục tiêu. Sau khi biết được chính xác port nào đang
mở, dịch vụ nào đang chạy, điểm yếu hay lỗ hổng nào mà các dịch vụ này đang dính,
chúng ta có thể tiến hành khai thác, đây chính là bước gần giống với một cuộc tấn
công thực sự nhất. Mục đích cuối cùng của giai đoạn này là phải có được “complete
control” trên mục tiêu.
– Duy trì truy nhập (Maintaining Access): thông thường những gì chúng ta thực
hiện thành công tại quá trình Exploitation chỉ cho chúng ta một quyền truy cập tạm
thời vào mục tiêu. Do đó chúng ta phải tạo ra được cửa sau (backdoor) để có một sự
truy cập bền vững hơn. Bền vững nghĩa là phải có được quyền điều khiển hoàn toàn
(complete control) ngay cả trong tình huống dịch vụ dính lỗi tắt đi hay khởi động lại.

CHƯƠNG 2. WIFI PENETRATION TESTING
2.1. Đặt vấn đề
WiFi (hoặc Wireless) Penetration Testing là một khía cạnh của bất cứ dự án kiểm
tra bảo mật nào. Các tổ chức, công ty có thể đối mặt với những nguy cơ nghiêm trọng
từ mạng WiFi không an toàn. Rất nhiều cuộc tấn công vào các mạng WiFi ở khách sạn,
mà mục tiêu là các vị trí điều hành, đã đưa tới bài học: Các tổ chức cần thực hiện các
quá trình thử nghiệm xâm nhập WiFi theo định kỳ để đảm bảo an ninh.
2.2. WEP, WPA và WPA2
2.2.1. WEP
WEP (Wired Equivalent Privacy) là thuật toán bảo mật WiFi xuất hiện đầu tiên
trên thế giới (1999), và cũng là tùy chọn đầu tiên xuất hiệ n trong menu các chuẩn mã
hóa của rất nhiều bộ định tuyến.

8
Nguyễn Văn Khoa – D12VT6



Hình 2.1. Các thuật toán mã hóa bảo mật WiFi trên router TP Link WR740N
WEP sử dụng mã hóa dòng RC4 cho bảo mật và mã kiểm tra CRC32 cho toàn
vẹn.

Hình 2.2. Cơ chế mã hóa WEP
Với RC4, một khóa lưu lượng (traffic key) sẽ không được dùng lại. WEP sử dụng
vectơ khởi đầu (Initialization Vector – IV) để hình thành khóa RC4.
Tại thời điểm đầu mới được phác thảo, WEP bị giới hạn về công nghệ mật mã hóa
với chỉ 64 bit, về sau này các nhà sản xuất đã phát triển giao thức WEP 128 bit với
khóa 104 bit (104 bit tương ứng với 26 kí tự hệ thập lục phân cùng với 24 bit IV tạo
thành Wep 128 bit). Với 24 bit IV, có 50% khả năng một IV lặp lại sau khoảng 6000
gói dữ liệu. Nếu chúng ta có thể bắt được đủ số IV, chúng ta có thể giải mật mã hóa
khóa.


Trải qua nhiều bước phát triển lên 152 bit WEP và 256 bit WEP, nhưng 128 bit
WEP vẫn được sử dụng nhiều nhất. Tuy vậy, do có nhiều lỗ hổng và cơ chế nhận thực
rất yếu, dễ bị crack, nên thường các router đời mới sẽ không sử dụng WEP như chuẩn
mặc định nữa, mà chỉ còn là tùy chọn.
2.2.2. WPA & WPA2
WPA (WiFi Protected Access) là phương thức được Liên minh WiFi đưa ra để thay
thế WEP trước những nhược điểm không thể khắc phục của chuẩn cũ. WPA được áp
dụng chính thức vào năm 2003, một năm trước khi WEP bị loại bỏ. Phiên bản phổ biến
nhất của WPA là WPA-PSK (Pre-Shared Key). Các kí tự được sử dụng bởi WPA là loại
256 bit, tân tiến hơn rất nhiều so với kí tự 64 bit và 128 bit có trong hệ thống WEP.
WPA được tích hợp khả năng kiểm tra tính toàn vẹn của gói tin (message integrity
check) để xem liệu hacker có thu thập hay thay đổi gói tin truyền qua lại giữa điểm
truy cập và thiết bị dùng WiFi hay không. Ngoài ra còn có giao thức khóa toàn vẹn
thời gian (Temporal Key Integrity Protocol – TKIP). TKIP sử dụng hệ thống kí tự cho
từng gói, an toàn hơn rất nhiều so với kí tự tĩnh của WEP. Sau này, TKIP bị thay thế

bởi Advanced Encryption Standard (AES).
Phương pháp qua mặt WPA không phải bằng cách tấn công trực tiếp vào thuật
toán của nó mà là vào một hệ thống bổ trợ có tên WiFi Protected Setup (WPS), với cơ
chế WPS PIN, được thiết kế để có thể người dùng dễ dàng kết nối thiết bị tới các AP.
WPS PIN là một Pre-Shared Key, được coi như đại diện cho một AP, với 8 chữ số
(chữ số cuối là mã kiểm tra cho 7 chữ số trước). Từ đó, về lý thuyết ta thấy có 10^7
khả năng của WPS PIN.
Để dò mã PIN, ta chia làm 2 nửa, do đó có thể đoán 4 số đầu và 4 số cuối một
cách độc lập. Nửa đầu tiên sẽ cần 10^4 lần đoán, nửa sau cần 10^3 lần. Chúng ta cần
tổng cộng 10^4 + 10^3 = 11000 lần đoán, nếu cứ mỗi 1 giây đoán 1 lần, thì sẽ mất
khoảng hơn 3 tiếng để tìm ra PIN. Thực tế, sẽ mất từ 2-10s cho mỗi lần đoán, do đó
thời gian cần sẽ dài hơn, có thể lên tới 9-13 tiếng đồng hồ. Quá trình trên thường được
với cái tên là Brute-force attack.
Đến năm 2006, WPA chính thức bị thay thế bởi WPA2. Một trong những cải tiến
đáng chú ý nhất của WPA2 so với WPA là sự có mặt bắt buộc của AES và CCMP
(Counter Mode Cipher with Block Chaining Message Authentication Code Protocol)
nhằm thay thế cho TKIP. TKIP vẫn có mặt trong WPA2 để làm phương án dự phòng
và duy trì khả năng tương tác với WPA. Không may là lỗ hổng lớn nhất trên WPA vẫn


còn tồn tại trong WPA2, đó là WPS. WPS nên được tắt hoặc xóa bỏ hoàn toàn khỏi hệ
thống thông qua các lần cập nhật firmware của AP.
Và thực tế, khi WPS bị tắt trên AP, thì chúng ta cần tìm giải pháp khác. Đơn cử
như sử dụng các “wordlist”. Để hiểu được giải pháp này, chúng ta sẽ tìm hiểu quá
trình tryền thông giữa AP và client trong WPA/WPA2 Personal.
Trong pha đầu tiên, một Pairwise Master Key (PMK) – không đổi trong cả quá
trình truyền thông.
PMK bao gồm:
-


Passphrase – là Pre-Share Key (PSK)

SSID (Service Set Identification – Nhận dạng và thiết lập dịch vụ): Tên của
mạng không dây.

-

Độ dài SSID

-

Số vòng lặp băm (4096)

-

Độ dài (256 bit) của PMK
Cả AP lẫn client đều biết PSK nên PMK sẽ không được truyền đi qua không gian.

Tới pha thứ 2, quá trình bắt tay 4 bước được tiến hành, với mục đích tạo một kênh
truyền thông và trao đổi các khóa mã hóa giữa AP và client.

Hình 2.3. Bắt tay 4 bước trong WPA/WPA2 Personal
MIC: Message Integrity Code – Mã kiểm tra tính toàn vẹn bản tin
Ack: Bản tin xác thực gửi từ AP về client


Trong quá trình bắt tay 4 bước, một khóa ngắn song phương PTK (Pairwise
Transient Key) được tạo ra và được dùng để mã hóa lưu lượng giữa AP và client. Bên
cạnh đó, một nhóm khóa ngắn GTK (Group Transient Key) được tạo để mã hóa lưu
lượng quảng bá (broadcast). Khóa PTK được cấu thành từ:

+ Shared Key: là khóa PMK tạo từ pha đầu tiên.
+ Anonce: Một số ngẫu nhiên (Nonce) được tạo ra từ Access Point (A)
+ SNonce: Một số ngẫu nhiên từ phía client (S – Supplicant)
+ Địa chỉ MAC của Access Point
+ Địa chỉ MAC của client
Quá trình bắt tay 4 bước trong WPA/WPA2 Personal
Bước 1: AP gửi ANonce tới client
Bước 2: Client chọn một Nonce, tạo ra PTK và gửi SNonce tới AP. Cùng với đó,
client gửi mã toàn vẹn bản tin MIC để chống các cuộc tấn công giả mạo.
Bước 3: AP tự tạo PTK dựa vào SNonce và MAC của client, rồi kiểm tra MIC gửi
từ client. Nếu đúng thì client được nhận thực thành công, AP gửi GTK và MIC tới
client.
Bước 4: Client chấp nhận GTK và gửi lại bản tin Ack cho AP.
Vấn đề đặt ra là, PTK sẽ khác nhau với mỗi client do các Nonce là khác nhau, tuy
nhiên chúng ta có thể bắt một quá trình bắt tay 4 bước từ bất kỳ client được xác thực
nào, sử dụng địa chỉ MAC và Nonce của nó để tìm ra PTK cho passphrase cho sẵn.
Ví dụ, chúng ta có thể dùng SSID và một passphrase bất kỳ (“password” chẳng
hạn) để tạo ra PMK, sau đó so sánh PMK đó với Nonce và MAC đã bắt được để tính
PTK. Nếu các MIC đi ra giống với các MIC bắt được, thì chứng tỏ “password” chính
là passphrase mà AP và các client hợp lệ đã sử dụng.
Từ ý tưởng này, các “wordlist” – danh sách các passphrase có thể xảy ra được các
hacker sử dụng để đoán WPS PIN như đã nhắc đến ở trên. Các wordlist thường được
compile bằng các trình compiler nhanh như C++…để lưu lại thành các file plain text
(*.txt).


Bên cạnh đó, các wordlist lớn (dung lượng lên tới hàng chục GB) được dùng trong
trường hợp WPS bị tắt. Tuy nhiên phương pháp này rất tốn thời gian cũng như yêu cầu
hiệu năng phần cứng rất cao đối với thiết bị dùng để tấn công của hacker.
CHƯƠNG 3. CÁC CÔNG CỤ HỖ TRỢ

Để khai thác triệt để khả năng của phần cứng trong việc thử nghiệm xâm nhập
WiFi, chúng ta có thể sử dụng các bản phân phối Linux như Backtrack, Kali (kế thừa
của Backtrack), Wifislax với rất nhiều công cụ hỗ trợ.

Hình 3.1. Hệ điều hành Backtrack


Hình 3.2. Hệ điều hành Kali

Hình 3.3. Hệ điều hành Wifislax


Các công cụ hữu dụng thường dùng

+ Aircrack-ng
Aircrack-ng là một chương trình bẻ khóa WEP và WPA-PSK với khả năng phục
hồi khóa khi thu thập đủ lượng gói dữ liệu truyền thông giữa AP và một client trong
mạng. Aircrack can thiệp vào quá trình bắt tay 4 bước giữa AP và Client và bắt các gói
dữ liệu.
+ Reaver-WPS
Reaver-WPS thực hiện các cuộc tấn công theo kiểu Brute-force vào mã WPS PIN
của AP. Nếu WPS PIN được tìm thấy, WPA PSK sẽ được khôi phục và các thiết lập
của AP sẽ được cấu hình lại.
+ Linset
Công cụ được tích hợp sẵn trong Wifislax, thực hiện chức năng tương tự như rất
nhiều công cụ, quá trình khác như aircrack-ng, aireplay-ng, airodump-ng v.v..


Hình 3.4. Công cụ Linset
+ Dumper + Jumpstart + Wpspin

Bộ 3 phần mềm quen thuộc nhất với Networker và người dùng Internet Việt Nam.
Cả 3 đều là các ứng dụng chạy trên nền Windows.
Dumper có chức năng dò tìm các mạng WiFi lân cận, kết nối với Jumpstart với
chức năng kết nối, cấu hình một AP, thông qua WPS PIN mà AP gửi đi.
Wpspin cũng có chức năng tương tự Dumper, tuy nhiên không hỗ trợ chạy trên
windows XP, và cần cài .NET Framework 4.0 trở lên.

Hình 3.5. Phần mềm Dumper


Hình 3.6. Phần mềm Wpspin


Hình 3.7. Phần mềm Jumpstart


+ Kismet
Kismet là một phần mềm phát hiện, đánh hơi và phát hiện xâm nhập mạng không
dây ở lớp 2 theo chuẩn 802.11. Là một phần mềm mã nguồn mở thường sử dụng trên
các phân phối của Linux, hỗ trợ bất cứ card mạng nào có chế độ giám sát trực tiếp
(rfmon). Tùy vào phần cứng, Kismet có thể đành hoi được các lưu lượng theo các
chuẩn 802.11b, 802.11a, 802.11g và 802.11n. Kismet cũng hỗ trợ các plugin đánh hơi
các dữ liệu đa phương tiện như DECT.

Hình 3.8. Phần mềm Kismet
Netstumbler
Netstumbler là công cụ trên Windows nổi tiếng nhất trong việc tìm các điểm truy
cập không dây mở (open WAPs). Tuy nhiên công cụ này chỉ có trên Windows và
không có mã nguồn mở. Netstumbler tìm các WAPs một cách chủ động thông qua liên
kết với card mạng trên PC.

InSSIDer
InSSIDer là công cụ quét các mạng không dây, dành cho Windows, OS X và
Android, được thiết kế để vượt qua các rào cản với Netstumbler (như không hoạt động
tốt trên Windows 64 bit và Windows Vista). Các chức năng chính: Tìm các open
WAPs, theo dõi cường độ tín hiệu theo thời gian, lưu lại log với các bản ghi GPS.


Hình 3.9. Công cụ InSSIDer

CHƯƠNG 4. GIẢ LẬP MỘT CUỘC TẤN CÔNG
Trong phần này, chúng ta sẽ giả lập một cuộc tấn công mạng với chuẩn bảo mật
WPA2-PSK.
Chuẩn bị:
+ Một USB có dung lượng lớn hơn 4 GB
+ File cài đặt định dạng .iso của HĐH Kali: Kali-linux 2016.1 amd64 (phiên bản 64
bit) ( )
+ Phần mềm tạo USB Boot: Rufus ( ) hoặc AIO Boot
( ), UNetbootin
( ) v.v..
Các bước tiến hành:
Bước 1: Tạo USB Boot
Kết nối USB vào máy tính, mở Rufus. Nếu chỉ có 1 USB này thì không cần chọn
lại trong danh sách USB. Chọn theo mặc định của từng tùy chọn.
Mặc định:
Partition scheme: MBR partition scheme for BIOS or UEFI
File system: FAT32
Cluster size: 16 kilobytes
Sử dụng tùy chọn Create a bootable disk using ISO, chọn đường dẫn tới file Kalilinux-2016.1-amd64.iso



Hình 4.1. Tạo USB Boot HDH Kali
Nhấn Start, chọn Yes cho tất cả các thông báo tiếp theo.
Sau khi hoàn thành, USB sẽ mang tên họ phân phối Debian.
Bước 2: Boot vào HĐH Kali
Khởi động lại máy, chú ý chọn chế độ boot Legacy với MBR. Nếu muốn boot
UEFI thì ở bước trên cần chọn Partition scheme: GPT partition scheme for UEFI.
Các boot options của Kali hiện lên. Chọn Live (amd64)

Hình 4.2. Boot Options – HĐH Kali


HĐH Kali sẽ được boot lên, đăng nhập với user ‘root’, password ‘toor’.
Giao diện khi khởi động hoàn tất:

Hình 4.3. Giao diện khởi động Kali
Khởi động Terminal bằng cách click vào icon thứ 2 từ trên xuống ở khung bên trái
màn hình, hoặc tổ hợp phím Ctrl + Shift + T, hoặc Alt + F sau đó gõ ‘gnome-terminal’
và Enter.
Bước 3: Kích hoạt monitor mode

Hình 4.4. Các bước kích hoạt monitor mode


Câu lệnh:
airmon-ng check kill -> Kiểm tra và tắt các tiến trình cản trờ monitor mode – chế độ
giám sát các giao diện không dây.
airmon-ng start wlan0 -> Khởi động giao diện wlan0 (liên kết với card mạng không
dây trên máy)
Ở đây, airmon-ng là công cụ giám sát lưu lượng mạng.
Sau câu lệnh này, giao diện wlan0 sẽ được đưa vào monitor mode, và giao diện

wlan0mon được kích hoạt.
Bước 4: Tìm BSSID
(Basic Service Set Identifier – Định danh cho Access Point, là địa chỉ MAC của AP)
Câu lệnh:
airodump-ng wlan0mon

Hình 4.5. Bảng thông số có được từ câu lệnh airodump-ng
Danh sách các mạng không dây ở khu vực xung quanh sẽ hiện lên với các thông số:
+ BSSID – Basic Service Set Identifier: Địa chỉ MAC của AP
+ PWR: Mức tín hiệu do card mạng báo về. Tùy vào driver, nhưng PWR thường
tăng khi đến gần AP hơn. Nếu có một số PWR bằng -1, thì tức là các gói đi từ AP tới
client nhưng quá trình truyền của client lại không nằm trong phạm vi card mạng của
chúng ta. Nếu tất cả PWR đều bằng -1 tức là driver không hỗ trợ báo cáo mức tín hiệu.


+ Beacons: Số gói thông báo (announcement packets) gửi từ AP. Mỗi AP thường
gửi 10 beacons trong 1 giây.
+ #Data: Số gói dữ liệu đã thu được (nếu là WEP thì là số vecto khởi đầu IV duy
nhất), bao gồm cả các gói quảng bá dữ liệu.
+ #/s: Số gói dữ liệu được tính trong 10 giây gần nhất.
+ CH – CHannel number (Lấy từ các gói thông báo – beacon packets) : Số hiệu
kênh của từng AP
+ MB: Tốc độ tối đa được hỗ trợ bởi AP. MB = 11 => 802.11b; MB = 22 =>
802.11b+ hoặc mức cao hơn là 802.11g. Dấu chấm chỉ ra lời tựa được hỗ trợ. Chữ cái
“e” đi sau giá trị tốc độ nếu mạng có QoS được kích hoạt.
+ ENC (ENCryption algorithm): Giải thuật mã hóa đang được sử dụng. OPN =
Không mã hóa; “WEP?” = WEP hoặc cao hơn, WEP = WEP tĩnh hoặc WEP động;
WPA, hoặc WPA2 nếu có TKIP hay CCMP.
+ CIPHER: Mật mã hóa được phát hiện. CCMP, WRAP, TKIP, WEP, WEP 40
hoặc WEP104.

+ AUTH (AUTHentication): Giao thức nhận thực được sử dụng. MGT
(WPA/WPA2 sử dụng server nhận thực riêng), SKA (chia sẻ khóa với WEP), PSK
(khóa được chia sẻ trước dùng cho WPA/WPA2) hoặc OPN (mở với WEP – không
nhận thực).
+ ESSID (Extended Service Set IDentifier) – Tên của mạng, thường giống SSID
(Bao gồm AP và các client).
Ở bước này, ta sẽ sao chép BSSID của AP trong mạng muốn tấn công. Sau khi đã
xác định được BSSID của mạng cần Pen Test, có thể dùng tổ hợp Ctrl + C để dừng
việc quét lại. Dùng chuột bôi đen BSSID đó, bấm tổ hợp Ctrl + Shift + C hoặc click
phải chọn Copy.
Bước 5: Bắt gói tin từ các khung 802.11 thô (raw 802.11 frames), lưu vào file.
Câu lệnh: airodump-ng -c [CH] –bssid [BSSID] -w [full_directory/filename]

Hình 4.6. Bắt gói tin với câu lệnh airodump-ng
Ở ví dụ này, CH và BSSID lần lượt là số hiệu kênh và địa chỉ MAC của AP ứng
với mạng cần bắt gói tin.
Full_directory/filename: Là đường dẫn mà chúng ta muốn lưu file chứa lưu lượng
đã bắt giữ được, cùng với tên file. File được lưu sẽ có tên filename-01.cap (có thể mở
bằng Wireshark).


Ở ví dụ trên, file “Khoa-01.cap”. Nếu file này đã tồn tại, filename sẽ tiếp tục là
filename-02.cap / filename-03.cap v.v…

Hình 4.7. Lọc các client kết nối tới AP trong kênh đơn
Ở bước này, xuất hiện thông số RXQ – Receive Quality: % số gói được nhận
thành công (khung quản lý và khung dữ liệu) trong 10 giây gần nhất. Chỉ khi giới hạn
trong một kênh đơn, thì chỉ số RXQ mới xuất hiện.
Airodump sẽ chỉ giám sát mạng đích (đã chỉ định Channel và MAC của AP). Việc
mà chúng ta phải làm, là chờ cho một thiết bị nào đó kết nối lại, yêu cầu router thực

hiện quy trình bắt tay 4 bước rồi bắt lấy các gói tin, từ đó bé khóa password.
Sẽ có 4 file xuất hiện để lưu quá trình bắt tay mà chúng ta bắt được nên không
được xóa chúng. Quy trình tưởng chừng đơn giản, nhưng thường sẽ rất mất thời gian.
Hacker, dù là mũ trắng hay mũ đen thì đều không muốn vậy.
Chúng ta sẽ sử dụng một công cụ đi cùng với bộ aircrack rất thông dụng, là
“aireplay-ng” để đẩy nhanh quá trình đó. Thay vì đợi một thiết bị nào đó kết nối,
hacker sử dụng aireplay để bắt thiét bị đó kết nối lại bằng cách gửi các gói tin hủy
nhận thực tới một trong các thiết bị trong mạng, làm nó nghĩ rằng cần phải kết nối lại
vào mạng.
Bước 6: Hủy nhận thực (Deauthentication)
Mở một Termnal mới, để Terminal chạy airodump tiếp tục chạy.
Trên Terminal mới, câu lệnh: aireplay-ng -0 2 -a [BSSID] -c [STATION] wlan0mon

Hình 4.8. Câu lệnh aireplay-ng


Trong câu lệnh aireplay-ng, -0 được dùng để chỉ cách tấn công là “Deauthenticate
1 or all stations”, với số “stations” bị deauth ở phía sau (trong TH này, là 2). Có thể
chọn số station để ngắt là tùy ý.
-a [BSSID] chỉ ra địa chỉ MAC của AP trong mạng đích.
-c [STATION] chỉ ra địa chỉ MAC của thiết bị muốn deauth.
wlan0mon là giao diện đang giám sát.
Trong bảng rất nhiều Station lấy được từ airodump-ng, chúng ta chọn một địa chỉ
MAC của thiết bị muốn yêu cầu kết nối lại. Ví dụ CC:F3:A5:53:A5:CB
Sau khi nhấn Enter, aireplay-ng sẽ gửi các gói tin đi. Nếu hacker có mặt đủ gần
với mục tiêu, và quá trình hủy nhận thực hoạt động, sẽ có một thông báo xuất hiện ở
góc trên bên phải màn hình airodump, cho thấy đã quá trình WPA Handshake đã bắt
thành công

Hình 4.9. Bắt thành công một quá trình WPA Handshake

Bước 7: Bẻ khóa
Câu lệnh:
aircrack-ng -a2 -b [BSSID] -w [path_to_word_list] fullpath_filename-01.cap
Ở đây chúng ta sử dụng công cụ aircrack-ng, một công cụ chuyên dùng để tìm
password WEP, WPA/WPA2.
Tùy chọn -a2 mang ý nghĩa, chọn kiểu tấn công “Force attack mode” ( -a ) và kiểu
mã hóa “WPA/WPA2” (2). Nếu chọn -a1 thì sẽ là dành cho WEP
Tùy chọn -b [BSSID] dùng để chỉ định mạng đích bị tấn công (vẫn là địa chỉ MAC
của AP đã chọn)
Tùy chọn -w đưa ra yêu cầu chỉ dẫn tới một “wordlist”, thường lưu dưới dạng file
plain text (.txt), chứa tất cả các trường hợp có thể xảy ra của passphrase. Như đã trình
bày ở phần 2.2.2, chúng ta dùng SSID và passphrase có trong wordlist (lần lượt từ trên
xuống) để tạo ra PMK, sau đó so sánh PMK đó với Nonce và MAC đã bắt được để
tính PTK. Nếu các MIC đi ra giống với các MIC bắt được, thì passphrase tương ứng
chính là passphrase mà AP và các client hợp lệ đã sử dụng.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×