HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA VIỄN THƠNG 1
TIỂU LUẬN MÔN HỌC
AN NINH MẠNG THÔNG TIN
MÃ HỌC PHẦN: TEL1401M
ĐỀ TÀI:
TẤN CƠNG BRUTEFORCE VÀ CÁCH PHỊNG CHỐNG
Giảng viên : Phạm Anh Thư
Sinh viên thực hiện : Nguyễn Tiến Anh – B17DCVT015
Phạm Văn Phong – B17DCVT279
Võ Anh Tuấn
– B17DCVT 391
Nhóm : 8
Hà Nội. 6/2021
Bài thi cuối kỳ môn An Ninh Mạng
MỤC LỤC
MỞ ĐẦU .........................................................................................................................3
BẢNG THUẬT NGỮ, VIẾT TẮT .................................................................................3
BẢNG HÌNH ẢNH .........................................................................................................4
BẢNG PHÂN CÔNG CÔNG VIỆC ...............................................................................5
KIỂM TRA TRÙNG LẶP............................................................................................... 5
LÝ DO CHỌN ĐỀ TÀI ...................................................................................................6
MỤC ĐÍCH VÀ PHẠM VI. ............................................................................................6
PHƯƠNG PHÁP: ............................................................................................................6
I. TỔNG QUÁT VỀ TẤN CÔNG BRUTE FORCE.......................................................7
1. Lịch sử ra đời. ..........................................................................................................7
2. Các khái niệm liên quan đến tấn công Brute Force: ................................................8
2.1 Các thể loại tấn công: .........................................................................................8
2.2 Phương pháp Thử Và Sai (Trial And Error Method): ........................................9
2.3 Khái niêm về tấn công Brute Force: ...................................................................9
2.4 Nguyên nhân và hậu quả của tấn công Brute Force: ........................................10
3. Các loại tấn công Brute Force: ...............................................................................11
II. CƠ CHẾ HOẠT ĐỘNG CỦA TẤN CƠNG BRUTE FORCE. ............................... 12
1. Cơ chế tấn cơng: .....................................................................................................12
1.1 Tấn công từ điển: .............................................................................................. 12
1.2 Tấn công Brute Force đơn giản: .......................................................................13
1.3 Tấn công Brute Force hỗn hợp .........................................................................14
2. Các lý thuyết toán học liên quan. ...........................................................................15
2.1 Thuật toán quay lui. ..........................................................................................15
2.2 Thuật toán vét cạn. ............................................................................................ 16
3. Các công cụ hỗ trợ tấn công Brute Force:.............................................................. 17
3.1 Gobuster: ...........................................................................................................17
3.2 BruteX:..............................................................................................................18
3.3 Dirsearch ...........................................................................................................18
3.4 Callow ...............................................................................................................18
3.5 SSB ...................................................................................................................19
3.6 THC - Hydra ....................................................................................................19
3.7 Burp Suite .........................................................................................................19
3.8 Patator: ..............................................................................................................20
3.9 Pydictor .............................................................................................................20
3.10 Ncrack: ............................................................................................................21
3.11 Hashcat: ..........................................................................................................21
Nhóm 8
2
Bài thi cuối kỳ môn An Ninh Mạng
4. Ưu nhược điểm của tấn công Brute Force: ............................................................ 22
5. Mô phỏng. ..............................................................................................................22
III. CÁC PHƯƠNG PHÁP CHỐNG LẠI TẤN CÔNG BRUTE FORCE: ..................26
1. Đối với người sử dụng: ..........................................................................................26
2. Đối với nhà cung cấp, quản lý dịch vụ: .................................................................27
IV. KẾT LUẬN. ............................................................................................................28
TÀI LIỆU THAM KHẢO ............................................................................................. 29
MỞ ĐẦU
Ngày này, có rất nhiều phương thức tấn công được giới hacker sử dụng để xâm
nhập vào các hệ thống máy tính, mạng máy tính, trang web hoặc các dịch vụ trực
tuyến để đánh cắp thông tin người dùng, cướp quyền truy cập, hay chỉ đơn giản là xem
các thơng tin bí mật. Tấn cơng Brute Force là một trong số những phương pháp đó. Nó
là một phương thức tấn cơng cổ điển nhưng khơng bao giờ lỗi thời. Chính cơ chế tấn
cơng đơn giản của nó, cùng với sự phát triển của các hệ thống máy tính, các siêu máy
tính, máy tính lượng tử,… đã làm cho tấn công Brute Force luôn là một trong những
thách thức lớn đối với các nhà bảo mật.
Trong bài tiểu luận này, nhóm chúng em sẽ trình bày tổng quát về khái niệm, các
cơ chế tấn công, lý thuyết tốn học liên quan, các cơng cụ hỗ trợ và các biện pháp
chống lại tấn công Brute Force. Do thời gian gấp rút nên bài tiểu luận sẽ không tránh
khỏi những sai sót, nhóm chúng em mong nhận được những góp ý của cơ và các bạn.
BẢNG THUẬT NGỮ, VIẾT TẮT
Thuật ngữ
Từ tiếng Anh
Nghĩa tiếng Việt
AFP
Apple Filing Protocol
Giao thức truyền tệp của Apple
API
Application Programming Interface
Giao diện lập trình ứng dụng
CPU
Central Processing Unit
Bộ xử lý trung tâm
CVS
Concurrent Versions System
Hệ thống phiên bản đồng thời
DES
Data Encryption Standard
Tiêu chuẩn mã hóa dữ liệu
DNS
Domain Name Server
Máy chủ tên miền
FTP
file transfer protocol
Giao thức truyền tệp
GPU
Graphics Processing Units
Bộ xử lý đồ họa
GUI
Graphic User Interface
Giao diện người dùng đồ họa
HTTP(secure)
Hyper Text
(secure)
IMAP
Internet Message Access Protocol
Nhóm 8
Transfer
Protocol Giao thức truyền siêu văn bản (có
bảo mật)
Giao thức truy cập tin nhắn
3
Bài thi cuối kỳ môn An Ninh Mạng
Internet
Tên cuộc thi bảo mật quốc tế
MTC3
MysteryTwister C3
OAST
Out-of-band application security Kiểm tra bảo mật ứng dụng ngoài
testing
băng tần
OWA
Outlook Web Access
OWASP
Open Web Application Security Dự án bảo mật ứng dụng web
Project
nguồn mở
RDP
Remote Desktop Protocol
Giao thức máy tính từ xa
RSA
Rivest–Shamir–Adleman
Tên 3 người tạo ra thuật toán RSA
SHA
Secure Hashing Algorithm
Thuật toán băm an toàn
SMB(s)
Small to Medium-sized Businesses
Doanh nghiệp vừa và nhỏ
SMTP
Simple Mail Transfer Protocol
Giao thức truyền Email đơn giản
SSB
Secure Shell Brute Forcer
Tên một công cụ hỗ trợ tấn công
Brute Force
SSH
Secure Shell Protocol
Giao thức kiểm soát và chỉnh sửa
server từ xa
SSO
Single sign-on
Cơ chế đăng nhập một lần duy
nhất
VNC
Virtual Network Computing
Điện toán mạng ảo
Truy nhập Outlook qua web
BẢNG HÌNH ẢNH
Hình 1.2.1
Tấn cơng Brute Force thủ cơng
10
Hình 1.2.2
Tấn cơng Brute Force tự động
10
Hình 2.1.1
Mơ tả cơ chế tấn cơng từ điển
13
Hình 2.1.2
Mơ tả cơ chế tấn cơng Brute Force cơ bản
14
Hình 2.2.1
Tiến trình thuật toán quay lui
16
Hình 2.2.2
Tiến trình thuật toán vét cạn
17
Hình 2.3.1
Biểu tượng của cơng cụ THC-Hydra
19
Hình 2.3.2
Biểu tượng cơng ty PortSwigger
20
Hình 2.5.1
Chương trình Brute-Force cơ bản
23
Hình 2.5.2
Giao diện người dùng nhập mật khẩu
23
Hình 2.5.3
Kết quả chạy thuật toán Brute Force đơn giản
24
Hình 2.5.4
Chương trình mơ phỏng tấn cơng từ điển
25
Nhóm 8
4
Bài thi cuối kỳ mơn An Ninh Mạng
Hình 2.5.5
Từ điển chứa các từ thơng dụng trong mật khẩu
26
Hình 2.5.6
Kết quả tấn cơng từ điển
26
BẢNG PHÂN CƠNG CƠNG VIỆC
Họ và tên
Nguyễn Tiến Anh
Phạm Văn Phong
Võ Anh Tuấn
Mã sinh viên
Nội dung
B17DCVT015
Lịch sử ra đời.
Các lý thuyết tốn học liên
quan.
Mơ phỏng.
B17DCVT279
Cơ chế tấn công.
Công cụ hỗ trợ.
Ưu, nhược điểm.
B17DCVT391
Các khái niệm liên quan đến
tấn công Brute Force.
Phân loại các thuật toán
tổng quát.
Các phương pháp chống lại
tấn cơng Brute Force.
KIỂM TRA TRÙNG LẶP
Nhóm 8
5
Bài thi cuối kỳ môn An Ninh Mạng
LÝ DO CHỌN ĐỀ TÀI
Trong quá trình tìm kiếm đề tài cho bài tiểu luận, đọc một số tài liệu liên quan đến
môn học, chúng em có ấn tượng với chủ điểm tấn cơng Brute Force, và cả nhóm đã
quyết định chọn đề tài “Tấn công Brute Force và biện pháp chống lại” là đề tài của tiểu
luận. Trong quá trình tham khảo, trao đổi và nghiên cứu về đề tài, chúng em cảm thấy
có một số kiến thức cực kì bổ ích và rất mới mẻ mà chúng em đã tiếp thu được.
MỤC ĐÍCH VÀ PHẠM VI
Mục đích: Qua bài tiểu luận này, chúng em đã hiểu thêm về cơ chế tấn cơng vét
cạn này. Tuy nó là một kiểu tấn cơng đơn giản nhưng rất nguy hiểm. Từ đó chúng em
đã học được cách chống lại kiểu tấn công này, cũng như các công cụ hỗ trợ trong việc
tấn công. Các cơng cụ này vừa là vũ khí của giới hacker, nhưng cũng là cơng cụ hữu
ích cho các nhà bảo mật để nghiên cứu và chống lại những kẻ tấn công.
Phạm vi: Lịch sử ra đời, khái niệm, phân loại các kiểu tấn cơng, cơ chế, lí thuyết
tốn học, các cơng cụ và biện pháp chống lại.
PHƯƠNG PHÁP
Tìm hiểu tài liệu, phân tích, trao đổi, nghiên cứu.
Mơ phỏng tấn cơng.
Nhóm 8
6
Bài thi cuối kỳ môn An Ninh Mạng
I. TỔNG QUÁT VỀ TẤN CÔNG BRUTE FORCE.
1. Lịch sử ra đời.
Trong giai đoạn cuối của chiến tranh thế giới thứ nhất, Arthur Scherbiusm, một kĩ
sư người Đức đã phát minh ra máy Enigma, một loại máy có hệ thống đĩa quay dùng
để tạo mật mã và giải thông tin cơ mật. Ban đầu, máy Enigma được dùng với mục đích
dân sự, nhưng sau đó đã được quân đội của nhiều quốc gia sử dụng, đặc biệt là quân
đội Đức quốc xã ở giai đoạn trước và trong chiến tranh thế giới thứ hai.
Tuy nhiên, máy Enigma chỉ được nhắc đến nhiều khi qn Đồng Minh có thể giải
mã được thơng tin chỉ huy quân sự mật của Đức, theo đó chiếm được thế thượng
phong trong chiến lược và chiến thuật. Những lực lượng tham gia giải mã đã được lịch
sử ghi nhận như:
Cơ quan tình báo vơ tuyến Anh: Một trong những lực lượng giải mã Enigma
nổi tiếng nhất của quân Đồng minh là nhóm nhân viên do Alan Turing lãnh đạo,
gọi là Hut 8 của tình báo Anh Quốc. Alan và các cộng sự đã chế tạo ra một cỗ
máy cơ- điện tử, đặt tên là Bombe. Máy Bombe dò tìm cơng thức cài đặt của khối
quay trong Enigma, nó cần phải có một bộ mã, bao gồm một dịng chữ chưa mã
hóa và một dịng mã hóa tương ứng. Với mỗi thông dự kiến cài đặt của khối
quay, máy Bombe sẽ hồn thiện một chuỗi các tiến trình suy luận logic. Máy
Bombe thử và phát hiện kết quả sai, loại bỏ các thông số dự kiến gây ra kết quả
sai đó, rồi lại tiếp tục tìm một thơng số dự kiến khác hợp lí hơn. Đa số các thơng
số dự kiến đều gây ra sai xót, bị loại bỏ, chỉ cịn lại một số ít các cơng thức khả dĩ
được giữ lại để nghiên cứu.
Quân đội Mỹ: Khi Mỹ tham chiến, họ đã xây dựng một Bombe để giải mã máy
Enigma 4 rotor của hải quân Đức. Bombe này được thiết kế để có thể giải mã
nhanh hơn sự kết hợp lớn hơn các thiết lập của loại máy 4 rotor của hải quân
Đức. So với loại Enigma 3 rotor, số lượng kết hợp rotor tăng 60-336 (8 x 7 x 6).
Hệ thống này của người Mỹ nhanh hơn người Anh tới 34 lần. Những bombe này
thực sự khổng lồ và nặng tới 2.5 tấn, đã có 121 bombe của Mỹ được xây dựng
trong chiến tranh.
Cơ quan mật mã Ba Lan: Tham gia nhiệm vụ ngăn chặn, thu thập và đọc các
điện mật của quân đội Đức gồm có Trung úy Jan Kowaleski, Thiếu tá Franciszek
Pokomy và Marian Rejewski, một sinh viên của Viện Toán Trường Đại học
Tổng hợp Poznan. Năm 1934, Rejewski đã phát minh ra Cyclometer, một thiết bị
hỗ trợ giải mã Enigma.
Các kĩ thuật và thiết bị thời điểm đó như Bombe hay Cyclometer tuy khơng thể
kiểm tra hết tất cả các khóa, nhưng chúng đã tạo tiền đề phát triển kĩ thuật tấn công
Brute Force sau này.
Dưới đây là một số mốc quan trọng trong lịch sử của các cuộc tấn công brute-force
vào mật mã đối xứng hiện đại:
1977: Công bố lớn đầu tiên về cuộc tấn công Brute Force vào DES của Whitfield
Diffie (Phân tích mã hóa vét cạn tính năng đặc biệt của Tiêu chuẩn mã hóa dữ
liệu NBS)
Nhóm 8
7
Bài thi cuối kỳ môn An Ninh Mạng
1996: Michael Wiener xuất bản bài báo Tìm kiếm khóa DES hiệu quả
1997: Thử thách chìa khóa bí mật RSA
1997: Ian Goldberg phá vỡ mã hóa 40 bit trong vịng vài giờ
1997: Dự án DESCHALL phá vỡ DES sau 96 ngày
1998: EFF DES Cracker (Deep Crack) phá vỡ DES trong vòng 56 giờ
1999: Deep Crack và distributed.net phá vỡ DES trong vòng 22 giờ 15 phút
2002: Mã hóa RC5 64 bit bị phá vỡ bởi distributed.net sau 1.757 ngày
2006: COPACABANA (Trình ngắt mã song song được tối ưu hóa chi phí)
2009: Thách thức Kỷ lục Thế giới MTC3
2017: Luận án Tiến sĩ của Nils Kopal về Điện tốn tình nguyện bảo mật cho
Phân tích mật mã phân tán
Tương lai: Máy tính lượng tử tấn công mật mã đối xứng
Các cuộc tấn công Brute Force diễn ra mọi lúc và có rất nhiều ví dụ điển hình để
nói đến. Chúng ta có thể thậm chí khơng biết về nhiều cuộc tấn cơng đã qua và đang
diễn ra, nhưng đây là một số cuộc tấn công đã được đưa ra ánh sáng trong những năm
gần đây:
Dunkin ’Donuts: Thương hiệu cà phê nổi tiếng đã u cầu trả hàng trăm nghìn
đơ la để đối phó với một sự cố năm 2015 trong đó các cuộc tấn công Brute Force
và nhồi nhét thông tin xác thực được sử dụng để ăn cắp tiền thông qua ứng dụng
di động và qua website.
Alibaba: Một cuộc tấn công Brute Force lớn vào năm 2016 vào trang thương
mại điện tử phổ biến này đã ảnh hưởng đến hàng triệu tài khoản.
Magento: Vào tháng 3 năm 2018, Magento đã phải cảnh báo người dùng rằng có
tới 1.000 bảng quản trị đã bị xâm phạm do các cuộc tấn công Brute Force.
Quốc hội Bắc Ireland: Cũng trong tháng 3 năm 2018, tài khoản của một số
thành viên của Quốc hội Bắc Ireland đã bị truy cập bởi những kẻ tấn công Brute
Force.
Nghị viện Westminster: Một cuộc tấn cơng trước đó đã tấn cơng Quốc hội
Westminster vào năm 2017, nơi có tới 90 tài khoản email bị xâm nhập.
Firefox: Được tiết lộ vào đầu năm 2018 rằng tính năng ‘mật khẩu chính’ của
Firefox có thể dễ dàng bị tấn cơng Brute Force. Điều này có nghĩa là trong chín
năm qua, nhiều thơng tin đăng nhập của người dùng có thể đã bị lộ.
2. Các khái niệm liên quan đến tấn công Brute Force:
2.1 Các thể loại tấn công:
Tấn công thụ động : Là việc cố gắng lấy hoặc lợi dụng thông tin hệ thống nhưng
không ảnh hưởng đến các tài nguyên hệ thống
Tấn công chủ động: Là các hành động cố gắng thay đổi các tài nguyên hệ thống
hoặc gây ảnh hưởng đến hoạt động của họ. Kiểu tấn cơng này liên quan đến việc sửa
đổi dịng dữ liệu hoặc tạo dịng dữ liệu sai lệch
Nhóm 8
8
Bài thi cuối kỳ môn An Ninh Mạng
2.2 Phương pháp Thử Và Sai (Trial And Error Method):
Là phương pháp thử triển khai lần lượt các giả thuyết, loại bỏ dần các giả thuyết
không đúng cho đến khi xác định được giải pháp mang lại kết quả đúng hoặc giải pháp
tốt nhất. Phương pháp này được ứng dụng phổ biến trong cuộc sống khi đối diện với
vấn đề mới phát sinh và cả trong nghiên cứu khoa học. Phương pháp này được thực
hiện tuần tự qua một số bước và lặp lại cho đến khi đạt được kết quả mong muốn.
Khi gặp bài toán, việc đầu tiên người giải cần làm là tiếp nhận, phân tích bài toán
để hiểu nội dung và yêu cầu của bài toán. Trên cơ sở đã biết yêu cầu của bài toán,
người giải xử lý các dữ kiện, đi tìm các mối liên hệ có thể có và đưa ra ý tưởng tiếp
cận bài toán. Tiếp theo, các ý tưởng này được triển khai thử nghiệm và được cố gắng
phát triển thành các phương án (các phép thử ), có khả năng đi đến lời giải. Nếu các
phép thử này sai, người giải phải quay trở lại bài toán và lặp lại quá trình vừa nêu.
Trong quá trình giải bài toán , người giải có thể phải tìm thêm sự trợ giúp hoặc thơng
tin từ bên ngoài (Mơi trường bên ngoài). Nói chung, người giải quyết bài tốn trong
các tình huống khơng có cách nào suy nghĩ có hiệu quả cả, việc tìm lời giải thường
diễn ra một cách mò mẫm – thử các phương pháp, phương pháp nào mang lại kết quả
thì sẽ giữ lại, do đó gọi là “Thử” và “Sai”.
2.3 Khái niêm về tấn cơng Brute Force:
Tấn cơng Brute Force hay cịn gọi là tấn công vét cạn là kiểu tấn công chủ động,
sử dụng phương pháp “Thử và sai” bằng cách đoán mật khẩu (khóa) của người dùng,
kẻ tấn cơng cũng có thể thường sử dụng thư viện mật khẩu (Password dictionary) để tự
động thử các khóa cho đến khi thành cơng. Đầu tiên kẻ tấn công thu thập thông tin cơ
bản về người dùng (vì đa phần người dùng sẽ sử dụng những thơng tin cơ bản, có ý
nghĩa để tạo một mật khẩu). Ví dụ: tên đầy đủ của người dùng, số phịng, số xe, tên trẻ
em.
Sau đó kẻ tấn cơng liên tục thử tồn bộ các trường hợp mật khẩu có thể được tạo
ra trên cơ sở thơng tin cá nhân của người dùng. Kẻ tấn công cố gắng thực hiện điều
này cho đến khi họ đạt được thành cơng. Q trình này có thể mất hàng giờ, hàng
ngày, hàng tháng và hàng năm.
Do đó nếu kích cỡ, độ dài của mật khẩu được sử dụng càng cao, thì việc tấn công
càng cần nhiều thời gian. Brute Force chỉ được dùng khi các phương pháp khác đều
khơng có hiệu quả. Tấn cơng Brute Force là hình thức tấn cơng cổ điển, nhưng nó vẫn
hiệu quả và được các hacker ưa chuộng.
Nhóm 8
9
Bài thi cuối kỳ mơn An Ninh Mạng
Hình 1.2.1 Tấn cơng Brute Force thủ cơng
Kẻ tấn cơng có thể thực hiện thủ công lần lượt các mật khẩu trong trường hợp số
lần thử ít. Như trong hình 2.1 kẻ tấn công sẽ thủ công thử các mật khẩu để xâm nhập
hệ thống đến khi thành cơng
Hình 1.2.2 Tấn cơng Brute Force tự động
Trong trường hợp nếu như số lần thử là quá lớn, kẻ tấn công sẽ sử dụng một hệ
thống tự động, nhờ đó tốc độ thử sẽ tăng, và không tốn công sức của con người.
Thường đây là cách sử dụng phổ biến hơn việc thử lần lượt.
2.4 Nguyên nhân và hậu quả của tấn công Brute Force:
Những người dùng, hệ thống bị tấn công Brute Force khi họ để mật khẩu (khóa)
quá đơn giản và dễ đoán. Với trường hợp này thì chỉ mất từ 2-10 phút là sau cuộc tấn
công, hacker đã lấy được mật khẩu hệ thống máy. Người dùng cũng vơ tình truy cập
vào những trang web độc hại, tải những tệp độc hại về máy là những nơi dễ dàng chứa
virus máy tính, mã độc, từ đó để lộ thơng tin cá nhân, mật khẩu cho kẻ tấn công trục
lợi. Họ cũng thờ ơ không quan tâm đến việc sử dụng các bảo mật đường dẫn đăng
nhập, không thay đổi mật khẩu thường xun.
Hậu quả là Sau tấn cơng có thể dẫn tới lộ mật khẩu, lộ thông tin đăng nhập và
những thông tin lưu trữ bên trọng cũng có nguy cơ cao bị lấy đi. Bên cạnh đó Server /
Hosting của người dùng sẽ mất một lượng lớn tài nguyên, gần tương tự như việc bị tấn
cơng DDoS. Server thì có khả năng bị treo, yếu đi vì bị tấn cơng Brute Force với tần
suất cao.
Nhóm 8
10
Bài thi cuối kỳ môn An Ninh Mạng
Mức độ nghiêm trọng sẽ tùy thuộc vào loại thơng tin bị rị rỉ. Thơng tin của người
dùng càng giá trị thì mức độ nghiêm trọng càng cao
3. Các loại tấn công Brute Force:
Tấn công Brute Force đơn giản: Là kiểu tấn công cơ bản, địi hỏi ít khả năng
tính toán cũng như sự linh hoạt. Tấn công Brute Force đơn giản dễ dàng đến mức có
thể được thực hiện theo cách thủ công, mặc dù điều này rõ ràng là tốn nhiều thời gian
hơn. Chúng xoay vịng một cách có hệ thống thông qua các tổ hợp từ, chữ cái và ký tự
cho đến khi chúng đột nhập được. Mật khẩu dài và phức tạp nằm ngồi phạm vi của
kiểu tấn cơng này. Tuy nhiên, tiềm năng tồn tại để tăng tốc độ đó theo các bậc của độ
lớn. Vào năm 2012, một nhà nghiên cứu đã sử dụng một cụm máy tính để đoán tới 350
tỷ mật khẩu mỗi giây.
Tấn cơng từ điển: Là một biến thể của tấn công Brute Force, tuy nhiên kẻ tấn
cơng nhắm vào các từ có nghĩa thay vì thử tất cả mọi khả năng. Cũng có những cơng
cụ lưu trữ tập hợp các từ sẵn có, thường hay gặp trong tên, thơng tin của người dùng,
gọi là “Từ điển”, công cụ này giúp kẻ tấn công linh hoạt, tiết kiệm thời gian và công
sức.
Tấn công nhồi nhét thông tin xác thực: Trong những năm qua, đã có hàng tỷ
người dùng internet bị rị rỉ, đánh cắp thông tin cá nhân, mật khẩu. Những thông tin
đăng nhập bị đánh cắp này được bán giữa những kẻ xấu trên dark web và sau đó chúng
được sử dụng với mục đích giả mạo, chiếm đoạt tài khoản, hoặc spam
Nhồi nhét thông tin xác thực là kiểu tấn công khi một tin tặc lấy thành công tên
người dùng và mật khẩu của họ tại một trang web nào đó, sau đó thử đăng nhập ở nơi
khác với chính những thơng tin đăng nhập đó. Kiểu tấn cơng này dựa trên lý do mọi
người có xu hướng sử dụng lại tên đăng nhập và mật khẩu của họ nhiều lần tại nhiều
trang web, và tin tặc lợi dụng điều này để tấn công chiếm đoạt tài khoản.
Tấn công Brute Force ngược: Trong một cuộc tấn công Brute Force cơ bản, kẻ
tấn công bắt đầu bằng thông tin đã biết, thường là tên người dùng hoặc số tài khoản.
Sau đó, họ thủ công hoặc sử dụng các công cụ tự động hóa để tìm ra mật khẩu phù
hợp. Trong một cuộc tấn công Brute Force ngược, kẻ tấn công biết mật khẩu và cần
tìm tên người dùng hoặc số tài khoản.
Mật khẩu của người dùng bị rò rỉ do khi họ vơ tình để lộ, hoặc truy cập các trang
trực tuyến độc hại, đó là cơ sở để thực hiện các cuộc tấn công Brute Force ngược.
Tấn công Brute Force lai, hỗn hợp: Là kiểu tấn công kết hợp giữa tấn công từ
điển và tấn công Brute Force cơ bản hoặc tấn công Brute Force ngược. Đây là một
cách tiếp cận hiệu quả hơn so với việc chỉ sử dụng đơn độc một kiểu tấn công
Phun mật khẩu: Các cuộc tấn công Brute Force cơ bản cố gắng đoán mật khẩu
cho một tài khoản. Việc phun mật khẩu có cách tiếp cận ngược lại và cố gắng áp dụng
một mật khẩu chung cho nhiều tài khoản. Cách tiếp cận này có khả năng đánh lừa các
chính sách giới hạn số lần thử mật khẩu. Phun mật khẩu thường được sử dụng để
chống lại các mục tiêu tấn công sử dụng cơ chế đăng nhập một lần (SSO) và các ứng
dụng dựa trên đám mây sử dụng xác thực liên kết.
Nhóm 8
11
Bài thi cuối kỳ môn An Ninh Mạng
Botnets: Botnet là từ được dùng để chỉ một mạng các máy tính sử dụng phần mềm
tính tốn phân tán.
Có những cuộc tấn cơng Brute Force cần rất nhiều sức mạnh tính toán để thực hiện
trên quy mô lớn. Bằng cách tấn công vào một hoặc một vài máy tính đơn lẻ, sau đó lan
ra các máy tính khác trong mạng máy tính bị tấn cơng rồi thực hiện thuật tốn tấn
cơng, những kẻ tấn cơng có thể tiết kiệm chi phí và sự phức tạp khi tự mình vận hành
hệ thống của chính họ. Ngồi ra, việc sử dụng mạng botnet bổ sung thêm một lớp ẩn
danh. Botnet có thể được sử dụng trong bất kỳ kiểu tấn công Brute Force nào.
II. CƠ CHẾ HOẠT ĐỘNG CỦA TẤN CÔNG BRUTE FORCE.
1. Cơ chế tấn công:
1.1 Tấn công từ điển:
- Là một biến thể của tấn công Brute Force, tuy nhiên kẻ tấn cơng nhắm vào các từ
có nghĩa thay vì thử tất cả mọi khả năng
- Tấn công từ điển sử dụng từ điển các mật khẩu có thể có và kiểm tra tất cả
chúng.
- Một cuộc tấn công từ điển cố gắng kết hợp các từ và cụm từ phổ biến.
- Trước đây, các cuộc tấn công từ điển sử dụng các từ trong từ điển cũng như các
con số.
- Ngày nay các cuộc tấn công từ điển cũng sử dụng mật khẩu đã bị rò rỉ bởi các
vụ vi phạm dữ liệu trước đó. Những mật khẩu bị rị rỉ này có sẵn để bán trên dark web
và thậm chí có thể được tìm thấy miễn phí trên web thơng thường.
- Có sẵn phần mềm từ điển thay thế các ký tự tương tự để tạo ra các phỏng đoán
mới.
- Ví dụ, phần mềm sẽ thay thế chữ “l” viết hoa bằng chữ “I” hoặc chữ “a” viết
thường bằng dấu “@”.
- Phần mềm chỉ thử các kết quả mà logic của nó cho biết là có nhiều khả năng
thành cơng nhất.
Nhóm 8
12
Bài thi cuối kỳ môn An Ninh Mạng
Từ điển mật
khẩu
012345
222222
333333
Dự đoán của
kẻ tấn công
Abcdef
rat nhieu
Kết quả tấn công
123456
Ab4^%jdh
abcd
i love you
phong dep
trai
tuanyeutien
anh
Mật Khẩu
Người Dùng
Đặt
Cdj34*9)
Shshfhsh90
tuanyeutienanhrat
nhieu
Hình 2.1.1: Mơ tả cơ chế tấn cơng từ điển
1.2 Tấn công Brute Force đơn giản:
- Một cuộc tấn công Brute Force đơn giản sử dụng tự động hóa và các phần mềm
đoán mật khẩu.
- Các cuộc tấn cơng Brute Force điển hình thực hiện vài trăm lần đoán mỗi giây.
- Mật khẩu đơn giản, chẳng hạn như những mật khẩu thiếu sự kết hợp giữa chữ
hoa và chữ thường và những mật khẩu sử dụng các biểu thức phổ biến như ‘123456’
hoặc ‘password’, có thể bị bẻ khóa trong vài phút.
Nhóm 8
13
Bài thi cuối kỳ môn An Ninh Mạng
- Một cuộc tấn công Brute Force đơn giản được sử dụng để truy cập vào các tệp
cục bộ, vì khơng có giới hạn về số lần truy cập. Quy mô của cuộc tấn công càng cao,
cơ hội nhập cuộc thành công càng nhiều.
- Các cuộc tấn công Brute Force đơn giản luân chuyển việc nhập tất cả các mật
khẩu có thể có cùng một lúc.
012345
Phần
mềm hỗ
trợ
222222
333333
Abcdef
Tự động đoán
mật khẩu
rat nhieu
Kết quả tấn
công
123456
Ab4^%jdh
abcd
Cdj34*9)
i love you
phong dep
trai
Mật Khẩu
Người Dùng
Đặt
Shshfhsh90
tuanyeutienan
hratnhieu
tuan yeu
tien anh
Hình 2.1.2: Mơ tả cơ chế tấn công Brute Force cơ bản
1.3 Tấn công Brute Force hỗn hợp
Tấn công hỗn hợp là một loại tấn cơng mạng trong đó thủ phạm kết hợp hai
hoặc nhiều loại công cụ để thực hiện cuộc tấn cơng.
Một cuộc tấn cơng kết hợp điển hình là một cuộc tấn công kết hợp một
cuộc tấn công từ điển và một cuộc tấn cơng Brute Force.
Nhóm 8
14
Bài thi cuối kỳ mơn An Ninh Mạng
Một ví dụ về cách thức hoạt động của một cuộc tấn công hỗn hợp như sau:
Sử dụng danh sách tên người dùng và mật khẩu bị vi phạm có được từ các
sự cố trước đó, tin tặc khởi động một cuộc tấn công nhồi nhét thông tin xác
thực được coi là một đối sánh đơn giản với các trường đăng nhập trên (các)
doanh nghiệp mục tiêu.
Tuy nhiên, cuộc tấn công được khuếch đại thông qua việc sử dụng phương
pháp brute-force để thử kết hợp nhiều hơn những gì đã biết bằng cách tự
động bổ sung các số, ký hiệu và những thứ tương tự để đáp ứng với thói
quen của người dùng nhằm sửa đổi tối thiểu mật khẩu theo thời gian.
2. Các lý thuyết toán học liên quan.
2.1 Thuật toán quay lui.
Về bản chất, tư tưởng của phương pháp là thử từng khả năng cho đến khi tìm thấy
lời giải đúng. Đó là một q trình tìm kiếm theo chiều sâu trong một tập hợp các lời
giải. Trong quá trình tìm kiếm, nếu ta gặp một hướng lựa chọn không thỏa mãn, ta
quay lui về điểm lựa chọn trước đó và thử hướng lựa chọn tiếp theo tại đó. Quá trình
tìm kiếm thất bại khi khơng cịn lựa chọn nào nữa.
Quy trình đó thường được cài đặt bằng một hàm đệ quy mà trong đó, mỗi thể hiện
của hàm lấy thêm một biến và lần lượt gán tất cả các giá trị có thể cho biến đó, với mỗi
lần gọi chuỗi đệ quy tiếp theo để thử các biến tiếp theo. Chiến lược quay lui tương tự
với tìm kiếm theo độ sâu nhưng sử dụng ít khơng gian bộ nhớ hơn, nó chỉ lưu giữ
trạng thái của một lời giải hiện tại và cập nhật nó.
Ví dụ. Sử dụng chiến lược quay lui dùng để giải bài toán liệt kê các cấu hình. Mỗi cấu
hình được xây dựng bằng cách xây dựng từng phần tử, mỗi phần tử được chọn bằng
cách thử tất cả các khả năng.
Phương pháp: Giả thiết cấu hình cần liệt kê có dạng (x1, x2, …, xn). Khi đó thuật tốn
quay lui được thực hiện như sau:
1) Xét tất cả các giá trị x1 có thể nhận, thử cho x1 nhận lần lượt các giá trị đó. Với
mỗi giá trị thử cho x1, ta sẽ:
2) Xét tất cả các giá trị x2 có thể nhận, lại thử cho x2 nhận lần lượt các giá trị đó.
Với mỗi giá trị gán cho x2, ta lại xét tiếp các khả năng có thể có của x3, cứ tiếp tục như
vậy đến bước:
3) Xét tất cả các giá trị xn có thể nhận, nhận lần lượt các giá trị đó, thơng báo cấu
hình tìm được (x1, x2,…, xn)
Mơ tả thuật toán:
def Attemp(i):
for x[i] in range(V):
<gán x[i] =V>
if <x[i] là phần tử cuối cùng của cấu hình>:
<thơng báo cấu hình tìm được>
Nhóm 8
15
Bài thi cuối kỳ môn An Ninh Mạng
else:
<ghi nhận việc thử x[i] = V>
Attemp(i+1)
<bỏ ghi nhận việc thử x[i] = V>
Tiến trình:
Try 1
Try 2
Try 3
Try 2
Try 3
Try 3
Try 3
Hình 2.2.1: Tiến trình thuật tốn quay lui
2.2 Thuật tốn vét cạn.
Khi chúng ta tiếp cận một bài toán yêu cầu kết quả tối ưu, thì cách đơn giản nhất
để giải quyết là thử tất cả các trường hợp có thể xảy ra. Đây là cách tiếp cận dễ thấy
nhất cho các bài tốn, cho dù nó khơng phải là cách tốt nhất. Chiến thuật tiếp cận này
gọi là vét cạn (Brute Force) – xét qua tất cả các trường hợp có thể xảy ra để tìm kết
quả.
Đầu tiên, chúng ta phải xem xét trường hợp xấu nhất có thể xảy ra là gì, và liệu có
đủ thời gian để chúng ta vét cạn tất cả các trường hợp hay không. Nếu có thể, hãy sử
dụng vét cạn vì code sẽ đơn giản và ít mắc lỗi hơn. Bạn cũng cần phải có đủ kiến thức
về mơi trường lập trình (programming environment) để ước lượng thời gian chạy của
chương trình. Có nhiều trường hợp không ước lượng đúng nên đã bỏ qua cách vét cạn
và tốn thời gian vào debug những cách phức tạp, cũng tương tự như việc bị qua thời
gian (time limit exceeded) khi không dự đoán được đến trường hợp xấu nhất.
Nói chung, nếu bạn khơng tìm ra được cách giải nào khác, thì hãy nghĩ đến vét
cạn.
Mơ tả thuật toán:
def search (i):
if (i>n):
Đưa ra lời giải tối ưu>
else:
for j in list (lựa chọn có thể có của bước i):
Nhóm 8
16
Bài thi cuối kỳ môn An Ninh Mạng
C[i] = j
search (i+1) # gọi đệ quy
C[i] = null # hủy bỏ lựa chọn
Tiến trình:
Lựa chọn 1
Bước i+1:
C[i] = 1
Bước i tìm thành phần thứ i của lời
giải
Lựa chọn 2
Bước i+1:
Bước i:
C[i] = 2
Lựa chọn k
…
Bước i+1:
C[i] = k
Hình 2.2.2: Tiến trình thuật tốn vét cạn
3. Các cơng cụ hỗ trợ tấn công Brute Force:
Những kẻ tấn công sử dụng nhiều công cụ khác nhau để đạt được mục tiêu là
chiếm đoạt quyền kiểm sốt hệ thống thơng tin của người dùng. Nhưng những người
làm trong lĩnh vực an ninh mạng có thể sử dụng chính các cơng cụ tấn cơng này để tự
mình thử nghiệm việc thâm nhập vào hệ thống, từ đó xác định các lỗ hổng bảo mật
trong hệ thống, và chỉnh sửa, khắc phục nó trước khi tin tặc phát hiện ra tập lệnh thông
dịch.
3.1 Gobuster:
Gobuster là một trong những công cụ tấn công mạnh mẽ và tốc độ nhất. Nó sử
dụng một trình qt thư mục được lập trình bằng ngơn ngữ Go. Cơng cụ này chạy
nhanh hơn và linh hoạt hơn cả tập lệnh thông dịch
Các đặc trưng:
Gobuster hỗ trợ đồng thời xử lý nhiều tác vụ và phần mở rộng, duy trì tốc
độ xử lý.
Dung lượng nhẹ không không hỗ trợ giao diện người dùng (GUI), chỉ hoạt
động trên dịng lệnh và có thể chạy trên nhiều nền tảng.
Có phần trợ giúp đi kèm trong phần mềm
Chạy được ở nhiều chế độ
Nhóm 8
17
Bài thi cuối kỳ môn An Ninh Mạng
Tuy nhiên, nhược điểm của nó là tính năng tìm kiếm thư mục đệ quy kém, làm
giảm hiệu quả của công cụ này khi hoạt động với các thư mục nhiều cấp.
3.2 BruteX:
BruteX là một công cụ tất cả trong một được lập trình bằng ngơn ngữ Shell và là
cơng cụ mã nguồn mở đáp ứng được nhiều mục tiêu:
Mở cổng
Tên người dùng
Mật khẩu
Nó sử dụng sức mạnh của việc gửi một số lượng lớn các mật khẩu có thể có theo
những cách có hệ thống.
Cơng cụ này bao gồm nhiều dịch vụ được tập hợp từ các công cụ khác như Nmap,
Hydra & DNS enum. Điều này cho phép kẻ tấn công hoặc kỹ sư bảo mật quét các
cổng đang mở, khởi động Brute Force FTP, SSH và tự động xác định dịch vụ đang
chạy của máy chủ đích.
3.3 Dirsearch
Dirsearch là một công cụ mã nguồn mở được viết bằng Python hoạt động theo kiểu
vét cạn cấu trúc thư mục, file của web. Nó có thể chạy trên Windows, Linux,
macOS. Dirsearch sử dụng các dòng lệnh đơn giản mà hiệu quả, nó hỗ trợ rất nhiều
options như đa luồng, tìm kiếm theo list extensions, delay giữa các request, set cookie,
user-agent, headers, proxy... Chính vì thế Dirsearch trở thành cơng cụ phổ biến mà hầu
hết các hacker hay pentester đều sử dụng.
Nó cũng dễ cài đặt hơn Gobuster. Nó cũng nhanh hơn nhiều so với công cụ truyền
thống và chứa nhiều tính năng hơn.
Hỗ trợ proxy
Đa luồng
Ngẫu nhiên tác nhân người dùng
Hỗ trợ nhiều tiện ích mở rộng
Hỗ trợ phát hiện hiệu quả các trang web không hợp lệ
Hỗ trợ trì hỗn các lệnh Request
Đối với qt đệ quy, Dirsearch thực hiện tốt hơn Gobuster rất nhiều. Sau một
lượt tìm kiếm tồn bộ, nó sẽ quay vịng lại và thu thập thơng tin, tìm kiếm bất
kỳ thư mục bổ sung nào.
3.4 Callow
Callow là một công cụ hỗ trợ Brute Force thân thiện với người dùng và có thể tùy
chỉnh. Được viết bằng python 3, nó được thiết kế giành cho người mới bắt đầu. Nó
được cung cấp các thử nghiệm người dùng linh hoạt để dễ dàng xử lý lỗi, đặc biệt là
cho người mới bắt đầu có thể học và hiểu dễ dàng.
Nhóm 8
18
Bài thi cuối kỳ môn An Ninh Mạng
3.5 SSB
Secure Shell Brute Forcer (SSB) là một trong những công cụ nhanh nhất và đơn
giản nhất để tấn công các máy chủ SSH. Sử dụng ngơn ngữ lập trình Shell và Go, SSB
mang lại cho người dùng một giao diện thích hợp, khơng giống như các cơng cụ bẻ
khóa mật khẩu của máy chủ SSH khác.
3.6 THC - Hydra
Hydra là một trong những cơng cụ bẻ khóa đăng nhập nổi tiếng nhất được sử dụng
trên Linux hoặc Windows/Cygwin. Ngồi ra, nó cịn có thể sử dụng trên Solaris,
FreeBSD/OpenBSD, QNX (Blackberry 10) và macOS. Nó hỗ trợ nhiều giao thức như
AFP, HTTP-FORM-GET, HTTP-GET, HTTP-FORM-POST, HTTP-HEAD, HTTPPROXY,…
Hình 2.3.1 Biểu tượng của cơng cụ THC-Hydra
Được cài đặt mặc định trên Kali Linux, Hydra được thiết kế với cả phiên bản dịng
lệnh và đồ họa. Nó có thể bẻ khóa một hoặc một danh sách tên người dùng / mật khẩu
bằng phương pháp Brute Force.
Ngoài ra, nó được song song hóa, một cơng cụ rất nhanh và linh hoạt cho phép
người dùng ngăn chặn khả năng truy cập trái phép vào hệ thống của mình từ xa.
3.7 Burp Suite
Burp Suite Professional là một bộ công cụ cần thiết cho những người kiểm tra bảo
mật web và nó đi kèm với các tính năng nhanh và đáng tin cậy. Ngồi ra, nó có thể tự
động hóa các nhiệm vụ kiểm tra độc lập. Nó được thiết kế bởi các tính năng kiểm tra
bảo mật thủ cơng và bán tự động. Nhiều chuyên gia sử dụng nó để kiểm tra các lỗ
hổng hàng đầu của OWASP.
Burp Suite cung cấp nhiều tính năng độc đáo, từ việc tăng phạm vi quét đến việc
tùy chỉnh giao diện. Nó có thể kiểm tra/quét các ứng dụng web hiện đại giàu tính năng,
quét JavaScript, hoặc kiểm tra các API.
Đây là một công cụ được thiết kế cho các dịch vụ thử nghiệm, khơng phải dùng để
tấn cơng. Nó ghi lại các trình tự xác thực phức tạp và ghi lại báo cáo để người dùng
đầu cuối sử dụng và chia sẻ trực tiếp.
Nó cũng có ưu điểm là thực hiện kiểm tra bảo mật ứng dụng ngoài băng tần
(OAST) để có thể phát hiện các lỗ hổng bảo mật khó nhìn thấy từ bên trong ứng dụng.
Hơn nữa, đây là công cụ được tạo bởi PortSwigger, là một công ty nổi tiếng chuyên
tạo ra các công cụ phần mềm để kiểm tra bảo mật của các ứng dụng web.
Nhóm 8
19
Bài thi cuối kỳ mơn An Ninh Mạng
Hình 2.3.2 Biểu tượng công ty PortSwigger
3.8 Patator:
Patator là một công cụ tấn cơng Brute Force được sử dụng đa mục đích và linh
hoạt với thiết kế dạng các module. Patator lựa chọn cách tiếp cận mới để không lặp lại
những sai lầm của những công cụ đi trước.
Được viết bằng Python, Patator là một cơng cụ đa luồng có thể phục vụ thử
nghiệm thâm nhập theo cách linh hoạt và đáng tin cậy hơn so với những đàn anh của
nó. Nó cung cấp nhiều module, hỗ trợ thực hiện các tính năng khác nhau, bao gồm:
FTP
SSH
MySQL
SMTP
Telnet
DNS
SMB
IMAP
LDAP
rlogin
Các tệp Zip
Các tệp Java Keystore
3.9 Pydictor
Pydictor là một trong những công cụ dùng cho tấn công từ điển được rất nhiều
người đánh giá cao. Khi nói đến các bài kiểm tra độ bền mật khẩu và độ dài, nó có thể
gây ấn tượng với cả người dùng mới và chuyên gia. Đây là một công cụ mà những kẻ
tấn cơng khơng thể khơng có. Bên cạnh đó, nó có rất nhiều tính năng cho phép người
dùng tận hưởng một hiệu suất thực sự mạnh mẽ trong bất kỳ tình huống thử nghiệm
nào.
Hỗ trợ nhiều loại danh sách: Cho phép người dùng tạo danh sách từ chung,
danh sách từ kỹ thuật, xã hội, danh sách từ đặc biệt bằng cách sử dụng nội dung
web, v..v... Ngoài ra, nó cịn chứa một bộ lọc để giúp tập trung vào danh sách từ
của riêng người sử dụng
Nhóm 8
20
Bài thi cuối kỳ môn An Ninh Mạng
Tùy chỉnh cao: Người dùng có thể tùy chỉnh các thuộc tính danh sách từ theo
nhu cầu của mình bằng cách sử dụng bộ lọc theo độ dài, chế độ leet và nhiều
tính năng khác.
Tính linh hoạt và khả năng tương thích tốt: nó có thể phân tích cú pháp tệp
cấu hình, với khả năng hoạt động trơn tru trên Windows, Linux hoặc Mac.
Từ điển Pydictor có các loại bao gồm:
Từ điển số
Từ điển chữ cái
Từ điển chữ cái viết hoa
Từ điển số kết hợp với chữ cái viết hoa
Từ điển chữ cái viết hoa kết hợp với viết thường
Từ điển số kết hợp với chữ cái viết thường
Từ điển số kết hợp chữ hoa và chữ thường
Từ điển chứa nhãn đầu cố định
Ngoài ra Pydictor còn hỗ trợ các thao tác phức tạp với bộ lọc từ điển.
3.10 Ncrack:
Ncrack là một loại cơng cụ bẻ khóa mạng với hiệu suất và tốc độ cao. Nó được
thiết kế cho các cơng ty để giúp họ kiểm tra các thiết bị mạng của họ để tìm mật khẩu
yếu. Nhiều chuyên gia bảo mật khuyến khích sử dụng Ncrack để kiểm tra tính bảo mật
của mạng hệ thống. Nó được phát hành dưới dạng một công cụ độc lập hoặc là một
phần của Kali Linux.
Bằng cách tiếp cận module và cơ chế động, Ncrack cung cấp cơ chế dịng lệnh có
thể kiểm tra hành vi của nó theo phản hồi của mạng. Đây là cơng cụ có thể thực hiện
kiểm tra ở phạm vị rộng đáng tin cậy cho nhiều máy chủ cùng một lúc.
Các tính năng của Ncrack khơng chỉ giới hạn ở một giao diện linh hoạt mà còn ở
việc bảo đảm tồn quyền kiểm sốt các hoạt động mạng cho người dùng. Điều đó kích
hoạt các cuộc tấn cơng Brute Force tinh vi, có tương tác với thời gian chạy và định
thời mẫu để tạo điều kiện sử dụng, chẳng hạn như Nmap.
Các giao thức được hỗ trợ bao gồm SSH, RDP, FTP, Telnet, HTTP (S),
WordPress, POP3 (S), IMAP, CVS, SMB, VNC, SIP, Redis, PostgreSQL, MQTT,
MySQL, MSSQL, MongoDB, Cassandra, WinRM, OWA và DICOM, đủ tiêu chuẩn
cho một loạt các ngành công nghiệp.
3.11 Hashcat:
Hashcat là một công cụ khôi phục mật khẩu. Nó có thể hoạt động trên Linux, OS
X và Windows và hỗ trợ nhiều thuật toán Hashcat được hỗ trợ bởi hashcat như MD4,
MD5, SHA-family, LM hash và các định dạng Unix Crypt.
Hashcat đã trở nên nổi tiếng do sự tối ưu hóa của nó và một phần phụ thuộc vào
phần mềm mà người tạo ra Hashcat.
Hashcat có hai biến thể:
Công cụ khôi phục mật khẩu dựa trên CPU
Nhóm 8
21
Bài thi cuối kỳ môn An Ninh Mạng
Công cụ khơi phục mật khẩu dựa trên GPU
Cơng cụ GPU có thể bẻ khóa trong thời gian ngắn hơn so với công cụ CPU (MD5,
SHA1 và các công cụ khác). Nhưng khơng phải mọi thuật toán đều có thể được giải
mã nhanh hơn bằng GPU. Tuy nhiên, Hashcat từng được mô tả là phần mềm bẻ khóa
mật khẩu nhanh nhất trên thế giới.
Các cơng cụ vừa nêu trên có thể kết hợp với nhau để tăng hiệu quả tấn công.
4. Ưu nhược điểm của tấn công Brute Force:
Ưu điểm:
Tấn công Brute Force giúp Hacker:
Thu lợi từ quảng cáo hoặc thu thập dữ liệu hoạt động.
Đánh cắp dữ liệu cá nhân, đánh cắp tài nguyên hệ thống để sử dụng cho
mục đích khác
Phát tán phần mềm độc hại để gây ảnh hưởng công việc.
Sự dụng hệ thống của bạn cho mục đích xấu.
Gây tổn hại đến danh tiếng của người dùng. (Hacker có thể tấn cơng và
thay đổi giao diện trang web của công ty nạn nhân, hoặc giả mạo nạn nhân và
gây ảnh hưởng đến hình ảnh người dùng, cơng ty, tổ chức đó).
Nhược điểm:
Nếu người dùng sử dụng mật khẩu càng phức tạp và dài, tấn công Brute Force sẽ
mất thời gian nhiều hơn để có thể xâm nhập được
5. Mơ phỏng.
Cấu hình:
● Ngơn ngữ: Python
● Hệ điều hành: Kali Linux
● GPU: Nvidia Quadro M1000M
● CPU: Intel core i7
● RAM: 8GB
●
a. Mô phỏng 1 cuộc tấn công Brute Force đơn giản
Ý tưởng:
So sánh mật khẩu do người dùng nhập (Hidden Password) với tất cả các tổ hợp mật
khẩu được tạo ngẫu nhiên ( từ 26 chữ cái và 10 chữ số) có độ dài bằng độ dài mật khẩu
người dùng nhập, đến khi trùng nhau thì in ra tổ hợp thỏa mãn.
Nhóm 8
22
Bài thi cuối kỳ mơn An Ninh Mạng
Đoạn mã:
Hình 2.5.1: Chương trình Brute-Force cơ bản
Giao diện người dùng nhập mật khẩu:
Hình 2.5.2: Giao diện người dùng nhập mật khẩu
Nhóm 8
23
Bài thi cuối kỳ mơn An Ninh Mạng
Kết quả:
Hình 2.5.3: Kết quả chạy thuật toán Brute Force đơn giản
Nhóm 8
24
Bài thi cuối kỳ môn An Ninh Mạng
b. Mô phỏng 1 cuộc tấn công từ điển đơn giản.
Ý tưởng: Sau khi người dùng nhập mật khẩu, trước tiên so sánh với danh sách mật
khẩu thơng dụng, nếu có thì in ra màn hình, nếu khơng có thì dùng đến brute force để
vét các trường hợp cịn lại.
Đoạn mã:
Hình 2.5.4: Chương trình mơ phỏng tấn cơng từ điển
Nhóm 8
25