HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN
Học phần: An tồn mạng nâng cao
Đề tài: Tấn công mật khẩu - Hashcat
Hà Nội 2021
2
MỤC LỤC
LỜI MỞ ĐẦU....................................................................................................................................... 5
DANH MỤC TỪ TIẾNG ANH VÀ MỘT SỐ ĐỊNH NGHĨA........................................................... 6
PHẦN 1: Tổng quan về tấn cơng mật khẩu................................................................................................ 7
1.
Tấn cơng mật khẩu là gì?................................................................................................................ 7
2.
Top 12 kỹ thuật phổ biến được sử dụng bởi Hackers.................................................................... 8
2.1. Tấn công sử dụng từ điển............................................................................................................ 8
2.2. Tấn công Hybrid.......................................................................................................................... 9
2.3. Tấn công Brute force................................................................................................................... 9
2.4. Tấn công Phishing..................................................................................................................... 10
2.5. Social Engineering..................................................................................................................... 11
2.6. Malware..................................................................................................................................... 12
2.7. Mask attack................................................................................................................................ 13
2.8. Rainbow tables attack................................................................................................................ 13
2.9. Network analysers..................................................................................................................... 14
2.10. Spridering................................................................................................................................. 15
2.11. Password Spraying................................................................................................................... 16
2.12. Credential Stuffing................................................................................................................... 16
3.
Các công cụ tấn công mật khẩu.................................................................................................... 17
3.1. Hashcat....................................................................................................................................... 17
3.2. John the Ripper.......................................................................................................................... 17
3.3. Brutus......................................................................................................................................... 18
3.4. Wfuzz......................................................................................................................................... 19
3.5. THC Hydra................................................................................................................................. 20
4.
Làm sao để tạo một mật khẩu mạnh?........................................................................................... 21
PHẦN 2: Giới thiệu công cụ Hashcat...................................................................................................... 22
1.
Giới thiệu...................................................................................................................................... 22
2.
Các thuật tốn băm được hỗ trợ................................................................................................... 22
3.
Các hình thức tấn công được hỗ trợ............................................................................................. 29
4.
Các thiết bị OPENCL được hỗ trợ................................................................................................ 29
5.
Hướng dẫn sử dụng....................................................................................................................... 29
5.1. Mask attack................................................................................................................................ 30
5.2. Combinator Attack..................................................................................................................... 30
5.3. Hybrid Attack............................................................................................................................. 30
3
5.4. Cấu trúc lệnh hashcat................................................................................................................. 30
PHẦN 3: Demo sử dụng Hashcat............................................................................................................. 32
LAB 1: Bẻ khóa mật khẩu wifi chuẩn WPA và WPA2 sử dụng Hashcat............................................32
1.1. Mục đích.................................................................................................................................... 32
1.2. Phương tiện cần chuẩn bị.......................................................................................................... 32
1.3. Các công cụ sử dụng trong bài.................................................................................................. 32
1.4. Các kỹ thuật sử dụng trong Lab................................................................................................ 32
1.5. Kịch bản tấn công...................................................................................................................... 32
1.6. Thực hiện tấn công.................................................................................................................... 33
LAB 2: Bẻ khóa mật khẩu với Hashcat sử dụng từ điển..................................................................... 37
2.1. Mục đích.................................................................................................................................... 37
2.2. Phương tiện cần chuẩn bị.......................................................................................................... 37
2.3. Các công cụ sử dụng trong bài.................................................................................................. 38
2.4. Các kỹ thuật sử dụng trong bài.................................................................................................. 38
2.5. Kịch bản tấn cơng...................................................................................................................... 38
2.6. Thực hiện demo......................................................................................................................... 38
PHẦN 4: Biện pháp phịng chống............................................................................................................ 39
KẾT LUẬN......................................................................................................................................... 40
Tài liệu tham khảo.............................................................................................................................. 41
DANH MỤC HÌNH ẢNH
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
Hình
1. Minh họa Password Attack........................................................................................... 7
2. Sơ đồ minh họa tấn công mật khẩu sử dụng từ điển.....................................................8
3. Minh họa tấn công Hybrid............................................................................................ 9
4. Minh họa tấn công Brute Force................................................................................... 9
5. Minh họa tấn công phishing........................................................................................10
6. Minh họa tấn công Social Engineering.......................................................................11
7. Minh họa Malware......................................................................................................12
8. Minh họa Mask attack.................................................................................................13
9. Minh họa Rainbow tables attack.................................................................................14
10. Minh họa Network analysers attack..........................................................................14
11. Minh họa cho Spridering...........................................................................................15
12. So sánh brute force với password spraying.............................................................. 16
13. Minh họa tấn công Credential Stuffing.....................................................................17
14. Công cụ Hashcat....................................................................................................... 17
15. Công cụ John the Ripper...........................................................................................18
16. Công cụ Brutus......................................................................................................... 18
17. Công cụ Wfuzz..........................................................................................................19
18. THC Hydra................................................................................................................20
19. Công cụ Medusa....................................................................................................... 21
20. Minh họa lệnh hashcat –h......................................................................................... 31
21. Minh họa hash modes của hashcat............................................................................31
22. Kịch bản tấn công..................................................................................................... 32
23. Lệnh iwconfig........................................................................................................... 33
24. Lệnh hcxdumptool –m wlan0................................................................................... 33
25. Lệnh hcxdumptool –m wlan0(2)...............................................................................34
26. Lệnh hcxdumptool –i wlan0 –do_rcascan................................................................ 34
27. Kết quả thu được của lệnh hcxdumptool –i wlan0 –do_rcascan.............................. 34
28. Kết quả thu được sau khi bắt gói tin từ q trình bắt tay 4 bước (1)........................34
29. Kết quả thu được sau khi bắt gói tin từ q trình bắt tay 4 bước (2)........................35
30. Tách thông tin quan trọng làm input cho hashcat (1)............................................... 35
31. Tách thông tin quan trọng làm input cho hashcat (2)............................................... 36
32. Sử dụng mask attack tấn công mật khẩu (1).............................................................37
33. Sử dụng mask attack tấn công mật khẩu (2).............................................................37
34. Xác định loại hash bằng công cụ Hash-identifier..................................................... 38
35. Sử dụng hashcat tấn công từ điển với mã băm (1)...................................................39
36. Sử dụng hashcat tấn công từ điển với mã băm (2)....................................................39
LỜI MỞ ĐẦU
Trong thời kỳ công nghệ ngày càng hội nhập và phát triển, thì vấn đề bảo mật
ln là yếu tố được ưu tiên hàng đầu. Đây là một vấn đề vô cùng phức tạp bởi kỹ thuật
bảo mật của chúng ta vẫn còn hạn chế ở nhiều mặt, thêm vào đó những kẻ tấn cơng
ngày càng sử dụng những thủ đoạn hết sức tinh vi, hiện đại. Họ hồn tồn bằng một
cách nào đó có thể vượt qua hàng rào bảo mật của chúng ta nếu tìm được một điểm
yếu hay lỗ hổng tồn tại trong hệ thống.
Ta biết rằng vấn đề bảo mật gần gũi nhất với chúng ta chính là mật khẩu. Chắc
chắn rằng ai cũng đang sở hữu những tài sản riêng có sử dụng mật khẩu làm phương
thức bảo mật. Với mục tiêu là hiểu được cách thức tấn cơng để biết cách phịng chống,
hơm nay em sẽ tiến hành tìm hiểu về “Password Cracking” sử dụng công cụ Hashcat.
Nội dung thực hành này chỉ sử dụng cho mục đích học tập, nghiên cứu, khơng
sử dụng với mục đích xấu ảnh hướng đến bất kỳ tổ chức, cá nhân nào.
Chúng em xin chân thành cảm ơn đến giảng viên TS. Đặng Minh Tuấn đã giúp
chúng em có thể tìm hiểu thêm được nhiều tài liệu, cũng như hoàn thiện được bài báo
cáo một cách hoàn chỉnh.
DANH MỤC TỪ TIẾNG ANH VÀ MỘT SỐ ĐỊNH NGHĨA
Từ viết tắt
AP
Thuật ngữ tiếng việt/ Giải thích
Thuật ngữ tiếng anh/Giải
thích
American Standard Code for Chuẩn mã trao đổi thông tin Hoa Kỳ
Information Interchange
Access point
Điểm truy cập không dây
BSSID
MAC address of WAP
MAC
Media Access Control
WPA/WPA2
Wireless Protected Area
EAPOL
Extensible Authentication
Protocol Over LAN
Pairwise Master Key
Identifier
Service Set IDentifier
ASCII
PMKID
SSID
Địa chỉ MAC của điểm truy cập khơng
dây
Kiểm sốt truy cập phương tiện truyền
thông
Là những chuẩn bảo mật phổ biến để
bảo vệ mạng wifi, bảo đảm an toàn
cho kết nối không dây
Giao thức xác thực mở rộng thông
qua mạng LAN
Cặp khóa chính định danh
Tên của một điểm truy cập
PHẦN 1: Tổng quan về tấn công mật khẩu.
1. Tấn cơng mật khẩu là gì?
Hình 1. Minh họa Password Attack
(Nguồn: Internet)
Trong thời kì cơng nhệ số, có hàng ngàn ứng dụng – website để phục vụ cho
nhu cầu của con người. Đi kèm với điều đó tất nhiên phải kèm theo cơ chế xác
thực người dùng, và cơ chế phổ biến nhất được sử dụng ngày nay đó là mật khẩu.
Do đó, tấn cơng mật khẩu là một loại tấn công vô cùng phổ biến và hiệu quả.
Tấn công mật khẩu có nghĩa là tấn cơng nhằm mục đích chiếm đoạt mật khẩu từ
người dùng bằng nhiều phương pháp khác nhau. Đây khơng phải là một phương
pháp phức tạp. Ví dụ: một cuộc tấn cơng brute-force dị qt tất cả các mật khẩu
có sẵn cũng coi là một cuộc tấn cơng mật khẩu.
Rất nhiều tình huống tấn cơng hệ thống bắt đầu với việc phá mật khẩu vì đây là
một trong những thông tin quan trọng nhất để truy cập vào hệ thống. Có nhiều
dạng
mật khẩu khác nhau nhưng thông tường khi người dùng muốn truy cập vào hệ
thống của mình như hệ điều hành windows 10 thì anh ta phải cung cấp thơng tin
gồm tài khoảng cùng với mật khẩu liên quan. Vì nhiều lý do cá nhân mà người sử
dụng thường đặt mật khẩu khá dễ nhớ và liên quan đến các thông tin đặc biệt như
ngày sinh, số điện thoại hay là tên người yêu, thú cưng. Do đó mà các cuộc tấn
cơng mật khẩu thường có tỉ lệ thành cơng cao.
Việc đặt một mật khẩu dài, khó và thường xuyên phải thay đổi mật khẩu thì gây
ra ít nhiều bất tiện đối với người dùng. Nhưng nó cịn dễ chịu hơn việc bị mất
thơng tin cá nhân hoặc vơ tình trở thành những kẻ phá hoại tiếp tay cho Hacker
phải không nào?
2. Top 12 kỹ thuật phổ biến được sử dụng bởi Hackers.
Tiếp theo chúng ta sẽ cùng nhau tìm hiểu về các kỹ thuật để tấn công mật
khẩu được sử dụng phổ biến nhất bởi Hacker. Tránh tình trạng “mất bò mới lo
làm chuồng “ta nên nắm rõ được các phương pháp – kỹ thuật phổ biến nhất mà
Hacker thường hay sử dụng để tạo các cuộc tấn công. Cụ thể:
2.1. Tấn cơng sử dụng từ điển.
Hình 2. Sơ đồ minh họa tấn công mật khẩu sử dụng từ điển
(Nguồn: Internet)
Dictionary attack là hình thức tấn cơng bằng cách thử qua nhiều mật
khẩu tiềm năng để tìm ra mật khẩu đúng. Danh sách các mật khẩu tiềm năng
được lấy trong từ điển có sẵn (rockyou.txt).
Kiểu tấn cơng này ưu điểm là đơn giản, nhưng lại phụ thuộc hoàn toàn
vào các mật khẩu có sẵn – độ chính xác khơng cao.
2.2. Tấn cơng Hybrid.
Hình 3. Minh họa tấn cơng Hybrid.
(Nguồn: Internet)
Bằng cách kết hợp các từ trong từ điển với các số và kí tự (ví dụ: p@$
$w0rd123) có thể thốt khỏi tấn cơng từ điển nhưng lại rơi vào cuộc tấn công
khác.
Tấn công Hybrid sử dụng kết hợp các từ điện với các số đứng trước và
theo sau chúng, thay thế các chữ cái bằng các chữ số và kí tự đặc biệt.
2.3. Tấn cơng Brute force.
Hình 4. Minh họa tấn công Brute Force.
(Nguồn: Internet)
Brute force là một trong những hình thức phổ biến nhất của tấn công mật
khẩu. Brute force thường là biện pháp cuối cùng của hacker nếu các kỹ thuật
trước đó thất bại đơn giản vì đây là cơng cụ tốn nhiều thời gian nhất. Đối với
phương pháp này kẻ tấn công tự tạo ra luật để tạo mật khẩu mẫu mang đi vét
cạn để tìm ra mật khẩu chính xác (ví dụ kẻ tấn cơng sẽ qt từ 111 -> 999).
Các cuộc tấn công brute force thường sẽ bắt đầu với các từ đơn giản, sau
đó là các hỗn hợp số, chữ cái và các kí tự bàn phím khác. Có các tập kệnh và
ứng dụng được viết riêng cho mục đích này.
Brute force khơng phải là một q trình nhanh chóng. Càng nhiều ký tự
trong mật khẩu thì thời gian bẻ khóa sẽ càng lâu.
Một website sử dụng một mật khẩu đơn giản với 5 ký tự. Sử dụng công
cụ Crunch để tạo danh sách mật khẩu chỉ với chữ cái, có 12.356.630 giá trị
được tạo ra và mất 70MB để lưu trữ. Nếu thêm các kí tự đặc biệt và chữ số vào
hỗn hợp và nó đã tăng kích thước của danh sách lên 62GB.
Với mật khẩu từ 8 -> 12 ký tự, danh sách này có 99.246.106.575.066.880
giá trị, gấp khoảng 8 tỷ lần số so với danh sách trước; mất 1.169.818 TB để lưu
trữ. Thêm số các chữ số và các kỹ tự đặc biệt vào hỗn hợp, kích thước danh
sách tăng khoảng 10 lần.
2.4. Tấn cơng Phishing.
Hình 5. Minh họa tấn cơng phishing.
(Nguồn: Internet)
Phishing là một hình thức lừa đảo trực tuyến, thường nhằm mục tiêu
đánh cắp dữ liệu cá nhân. Đối với tấn công mật khẩu, nó có nghĩa là kẻ tấn cơng
sẽ đánh lừa để lấy cắp thông tin đăng nhập từ người dùng.
Tài liệu đầu tiên sử dụng từ “phishing” vào năm 1996. Hầu hết mọi
người cho rằng nó được bắt nguồn từ việc phát âm giống từ fish (câu cá), có
nghĩa là “câu, moi thơng tin”.
Ngồi việc lừa người dùng cung cấp thơng tin đăng nhập 1 cách trực
tiếp, thì kĩ thuật này cịn có thể sử dụng để lây nhiễm mã độc đánh cắp thông tin
đăng nhập 1 cách gián tiếp.
2.5. Social Engineering.
Hình 6. Minh họa tấn cơng Social Engineering.
(Nguồn: Internet)
Social Engineering (hay tấn công phi kỹ thuật) là thuật ngữ phổ biến
trong lĩnh vực bảo mật thông tin, mô tả kiểu tấn cơng sử dụng các hình thức
thao túng hành vi của con người thay vì tập trung khai thác các lỗ hổng bảo mật
của máy móc, thiết bị. Qua đó kẻ tấn cơng có thể đạt được các mục đích của
mình như xâm nhập vào hệ thống, truy cập thông tin quan trọng … mà không
cần phải thực hiện các kỹ thuật tấn công quá phức tạp.
Social Engineering là kết hợp giữa 2 từ Social (xã hội) và Engineering
(kỹ thuật), thể hiện bản chất của kiểu tấn công này: các mánh khóe, kỹ thuật tấn
cơng nhắm vào bản tính xã hội của con người, thứ mà khơng hề tồn tại trong
máy móc. Social Engineering Attack cịn được biết đến với cái tên Tấn công phi
kỹ thuật. Các chiến thuật được sử dụng là:
• Phishing - Emails, văn bản... được gửi để đánh lừa người dùng cung
cấp thông tin đăng nhập của họ, nhấp vào liên kết cài đặt phần mềm
độc hại hoặc truy cập website giả mạo.
• Spear phishing -Tương tự như phishing nhưng với các email/văn bản
được thiết kế tốt hơn, được tùy chỉnh dựa trên thơng tin đã được thu
thập về người dùng.
• Baiting - Hacker để lại USB hoặc các thiết bị khác bị nhiễm virut
hoặc các phần mềm đôc hại ở các địa điểm công cộng với hy vọng
chúng sẽ được người dùng tái sử dụng.
• Quid quo pro - Hacker mạo danh ai đó, như nhân viên trợ giúp và
tương tác với người dùng sau đó u cầu lấy thơng tin từ họ.
Vào năm 2019, hacker đã sử dụng AI và cơng nghệ giọng nói để mạo
danh chủ doanh nghiệp đánh lừa VEO chuyển 243.000 USD.
Thông thường, kẻ tấn công liên lạc với nạn nhân giả dạng đại diện của
một tổ chức nào đó, cố gắng lấy càng nhiều thơng tin cá nhân càng tốt. Cũng có
khả năng bằng cách đóng giả ngân hang hoặc đại lý Google, họ có thể nhận
được thơng tin đăng nhập ngay lập tức.
2.6. Malware.
Hình 7. Minh họa Malware.
(Nguồn: Internet)
Malware khiến người dùng tải xuống hoặc vơ tình bị lây nhiễm phần
mềm độc hại từ các chương trình có vẻ hợp pháp hóa ra là một cái bẫy. Các
phần mềm độc hại này thường được ẩn trong các ứng dụng giả mạo: trò chơi di
độngm ứng dụng thể dục … Chúng thường hoặt động khá tốt, khơng có dấu
hiệu nhận biết rõ rang khiến người dùng không nghi ngờ.
Như bạn thấy, Malware cũng thường là một loại tấn cơng kỹ thuật xã
hội. Tuy nhiên, nó có thể hoạt động mà không cần đến “kỹ thuật xã hội” nếu
người
dùng đủ ngây thơ. Hai trong số các loại malware phổ biến nhất để đánh cắp mật
khẩu là keyloggers và screen scraper.
Các loại malware khác cũng có thể sủ dụng để đánh cắp mật khẩu. Một
backdoor troạn có thể cấp tồn quyền truy cập vào máy tính người dùng, và
điều này có thể xảy ra ngay cả khi cài đặt grayware. Các chương trình này
thường tự cài đặt sau khi nhấp vào nút tải xuống trên một số trang web.
2.7. Mask attack.
Hình 8. Minh họa Mask attack.
(Nguồn: Internet)
Mask attack (hay tấn cơng mặt nạ) kiểm tra mật khẩu có phù hợp với
một mẫu cụ thể hay không. Cuộc tấn công này cho phép hacker bỏ qua tổ hợp
các kí tự không cần thiết và giảm thời gian cho việc khôi phục mật khẩu thơng
qua brute force.
Ví dụ: nếu hacker biết rằng mật khẩu bắt đầu bằng số, thì lúc này hacker
sẽ chỉ kiểm tra thử những mật khẩu có chứa kỹ tự đầu tiên là chữ số. Độ dài mật
khẩu, cách sắp xếp các ký tự, có bao gồm các kỹ tự đặc biệt hay không hoặc số
lần lặp lại một ký tự chỉ là một số tiêu chí có thể được sử dụng để cấu hình mặt
nạ.
2.8. Rainbow tables attack.
Hình 9. Minh họa Rainbow tables attack.
(Nguồn: Internet)
Hầu hết các hệ thống hiện đại lưu trữ mật khẩu trong một hash. Hash sử
dụng cơng thức tốn học để tạo ra một chuỗi ngẫu nhiên, khác hoàn toàn với
chuỗi đầu vào. Nếu một hacker nào đó truy cập vào database lưu trữ mật khẩu,
thì họ sẽ có thể lấy được mật khẩu được mã hóa dưới dạng hash, hacker khơng
thể đọc được mật khẩu, họ cũng sẽ không thể lạm dụng chúng.
Có vẻ hay và an tồn đúng khơng? Khơng phải vậy hash có điểm yếu.
Một chiến lược đơn giản để tấn công là hash tất cả các từ trong từ điển và tham
chiếu chéo chúng với các mật khẩu được mã hóa. Nếu có một từ khớp, khả năng
rất cao đó chính là mật khẩu. Đây chính là hình thức rainbow table attack.
2.9. Network analysers.
Hình 10. Minh họa Network analysers attack
(Nguồn: Internet)
Network analysers là những tool cho phép hacker giám sát và chặn bắt
các gói giữ liệu gửi ra một mạng và tách lấy các mật khẩu dạng plain text.
Một cuộc tấn công như vậy yêu cầu sử dụng malware hoặc quyền truy
cập vào một switch mạng, nhưng nó có thể mang lại hiệu quả cao. Nó khơng
dựa vào việc khai thác lỗ hổng hệ thống hoặc lỗi mạng và như vậy có thể áp
dụng cho hầu hết các mạng nội bộ. Hacker thường sử dụng Network analysers
như một phần của giai đoạn đầu tiên của một cuộc tấn công, sau đó là các cuộc
tấn cơng brute force.
Tất nhiên là các doanh nghiệp cũng có thể sử dụng các cơng cụ phân tích
mạng để qt mạng của họ, điều này có thể đặc biệt hữu ích để chạy chuẩn đốn
hoặc để khắc phục sự cố.
2.10. Spridering.
Hình 11. Minh họa cho Spridering.
(Nguồn: Internet)
Spridering đề cập đến quá trình mà hacker tìm hiểu về mục tiêu để có
được thơng tin xác thực dựa trên hoạt động của họ. Quá trình này thì giống với
kỹ thuật được sử dụng trong tấn công phishing và social engineering, nhưng nó
liên quan đến một lượng lớn cơng việc của hacker – mặc dù nó thường cho kết
quả thành cơng cao hơn.
Việc hacker spridering thì phụ thuộc vào mục tiêu mà họ chọn. Ví dụ
như mục tiêu là một cơng ty lớn, hacker sẽ cố gắng tìm nguồn tài liệu nội bộ để
hiểu về loại nền tảng và bảo mật mà mục tiêu sử dụng. Chính vì điều này,
hacker thường tìm thấy hướng dẫn về cách truy cập các dịch vụ nhất định hoặc
ghi chú về việc sử dụng WIFI văn phòng.
Thông thường các công ty sẽ sử dụng mật khẩu có liên quan đến các hoạt
động kinh doanh hoặc thương hiệu của họ theo một cách nào đó – chủ yếu là vì
nó giúp nhân viên dễ nhớ hơn.
2.11. Password Spraying.
Hình 12. So sánh brute force với password spraying
(Nguồn: Internet)
Hình thức tấn cơng này nó khá giống với hình thức brute force nhưng lài
không được xem là brute force, password spraying thử hang ngàn có thể là hang
triệu tài khoản cùng một lúc với một vài mật khẩu thường được sử dụng. Trong
số đó nếu có một người dùng có mật khẩu yếu, tồn bộ hệ thống có thể gặp rủi
ro.
Brute force tập trung vào một vài tài khoản. Ngược lại, password
spraying sẽ mở rộng mục tiêu theo cấp số nhân. Do đó, nó giúp hacker tránh
được phương thức bảo mật tài khoản khi đăng nhập sai nhiều lần.
Password spraying đặc biệt nguy hiểm với các cổng xác thực đăng nhập 1
lần.
2.12. Credential Stuffing.
Hình 13. Minh họa tấn cơng Credential Stuffing
(Nguồn: Internet)
Các password attack khác nhau đều đề cập đến việc hacker chưa sở hữu
mật khẩu của người dùng. Tuy nhiên, với credential stuffing thì khác.
Trong một credential stuffing attack, hacker sử dụng tên và mật khẩu bị
đánh cắp của 1 tài khoản trước đó rồi thử trên các tài khoản khác của người dùng.
3. Các công cụ tấn công mật khẩu.
Để bẻ khóa mật khẩu thành cơng thì hacker chắc chắn sẽ phải thử qua rất nhiều
phương pháp, điều này được hỗ trợ bởi các công cụ đắc lực. Một vài tool thơng
dụng như:
3.1. Hashcat
Hình 14. Cơng cụ Hashcat
(Nguồn: Internet)
Hashcat là một trong số những phần mềm bẻ khóa phổ biến nhất và được
sử dụng rộng rãi nhất hiện nay. Nó có sẵn trên mọi hệ điều hành và hỗ trợ hơn
300 loại băm khác nhau.
Hashcat tối ưu hiệu suất của máy bằng cách sử dụng cả CPU và GPU để
tăng cường năng lực tính tốn và xử lý nhằm tiết kiệm thời gian chờ.
3.2. John the Ripper
Hình 15. Cơng cụ John the Ripper
(Nguồn: Internet)
John the Ripper là một cơng cụ bẻ khóa mật khẩu mã nguồn mở nổi
tiếng dành cho Linux, Unix và Mac OS X. Ngồi ra cịn có phiên bản Windows.
John the Ripper được thiết kế rất dễ sử dụng và có tích hợp cả tính năng
tự động nhận diện thuật tốn hash, thế nên chúng ta khơng cần phải xác định
thuật tốn rồi mới crack giống như Hashcat.
3.3. Brutus
Hình 16. Cơng cụ Brutus
(Nguồn: Internet)
Brutus là một trong số những công cụ bẻ khóa mật khẩu trực tuyến phổ
biến nhất. Nó được coi là cơng cụ bẻ khóa mật khẩu nhanh nhất và linh hoạt
nhất. Nó được phát hành miễn phí và chỉ có sẵn trên hệ thống Windows.
Brutys hộ trợ một số kiểu xác thực khác nhau, bao gồm:
• HTTP (xác thực cơ bản)
• HTTP (HTML Form/CGI)
• POP3
• FPT
• SMB
• Telnet
• IMAP
• NNTP
• NetBus
• Custom protocols
Nó cũng có khả năng hỗ trợ các giao thức xác thực nhiều giai đoạn và có
thể tấn công song song tới 60 mục tiêu khác nhau. Nó cũng cung cấp khả năng
tạm dừng, tiếp tục và thêm một cuộc tấn công.
Brutus đã không được cập nhật trong vài năm. Tuy nhiên, việc hỗ trợ
nhiều giao thức xác thực và khả năng thêm các mô-đun tùy chỉnh khiến nó trở
thành một cơng cụ phổ biến cho các cuộc tấn cơng bẻ khóa mật khẩu trực tuyến.
3.4. Wfuzz
Hình 17. Công cụ Wfuzz
(Nguồn: Internet)
Wfuzz là một cơng cụ bẻ khóa mật khẩu ứng dụng web giống như
Brutus, cố gắng bẻ khóa mật khẩu thơng qua một cuộc tấn cơng brute force.
3.5. THC Hydra
Hình 18.
THC Hydra
(Nguồn: Internet)
THC Hydra là một cơng cụ bẻ khóa mật khẩu trực tuyến, nó cố gắng xác
định thơng tin đăng nhập của người dùng thông qua cuộc tấn công brute-force.
Nó có sẵn cho Windows, Linux, Free BSD, Solaris và OS X.
THC Hydra có thể mở rộng với khả năng dễ dàng cài đặt các mơ-đun
mới. Nó cũng hỗ trợ một số giao thức mạng, ví dụ như: Asterisk, AFP, Cisco
AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET,
HTTP- FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPSFORM- GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPProxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle
Listener, Oracle
SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin,
Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and
v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC và XMPP.
3.6. Medusa
Hình 19. Cơng cụ Medusa
(Nguồn: Internet)
Medusa là một cơng cụ bẻ khóa mật khẩu online giống với THC Hydra.
Medusa hoạt động theo từng module theo cơ chế song song. Mục đích của nó là
để hổ trợ nhiều dịch vụ mà có thể cho phép q trìh xác thực từ xa nếu có thể.
Medusa được thiết kế dựa vào ba đặc điểm sau: Kiểm tra song dựng vào
luồng: Có thể kiểm tra trên nhiều host, username và password. Thiết kế theo
module: Mỗi dịch vụ tồn tại ở dạng file (.mod) độc lập. Chúng ta không cần
chỉnh sửa đến nhân để mở rộng danh sách các dịch vụ hỗ trợ việc brute force.
Hỗ trợ nhiều giao thức và dịch vụ chẳng hạng như: SMB, HTTP, MS SQL,
POP3, RDP, SSHv2...
4. Làm sao để tạo một mật khẩu mạnh?
Theo như khuyến cáo của các chuyên gia bảo mật, để đảm bảo một mật
khẩu đủ mạnh – an tồn trước tấn cơng brute force ta phải đảm bảo các yếu tố
sau:
• Mật khẩu phải có độ dài tối thiểu là 8 ký tự, có chứa chữ hoa, chữ
thường và cả kí tự đặc biệt. Ví dụ như thay vì đặt là “password1234”
ta có thể đặt thành “P@$$w0rd1234”.
• Mật khẩu phải được thay đổi định kì. Ví dụ: chu kỳ 2 tháng đổi mật
khẩu 1 lần.
PHẦN 2: Giới thiệu cơng cụ Hashcat.
1.
•
•
•
•
•
•
•
•
•
2.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Giới thiệu
Trình bẻ khóa mật khẩu nhanh nhất thế giới
Miễn phí
Hỗ trợ nhiều hệ điều hành (Windows, Linux và Mac)
Hỗ trợ nhiều nền tảng (CPU, GPU, APU, etc ...)
Hỗ trợ nhiều mã băm (bẻ khóa nhiều mã băm trong 1 khoảng thời gian)
Hỗ trợ việc tạm dừng/ tiếp tục chương trình
Hỗ trợ việc đọc mật khẩu từ file và stdin
Hỗ trợ điều chỉnh hiệu suất tự động
…
Các thuật toán băm được hỗ trợ
MD4
MD5
SHA1
SHA2-224
SHA2-256
SHA2-384
SHA2-512
SHA3-224
SHA3-256
SHA3-384
SHA3-512
RIPEMD-160
BLAKE2b-512
GOST R 34.11-2012 (Streebog) 256-bit, big-endian
GOST R 34.11-2012 (Streebog) 512-bit, big-endian
GOST R 34.11-94
Half MD5
Java Object hashCode()
Keccak-224
Keccak-256
Keccak-384
Keccak-512
Whirlpool SipHash BitShares v0.x - sha512(sha512_bin(pass))
md5($pass.$salt)
md5($salt.$pass)
md5($salt.$pass.$salt)
md5($salt.md5($pass))
md5($salt.md5($pass.$salt))
md5($salt.md5($salt.$pass))
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
md5($salt.sha1($salt.$pass))
md5($salt.utf16le($pass))
md5(md5($pass))
md5(md5($pass).md5($salt))
md5(sha1($pass))
md5(sha1($pass).md5($pass).sha1($pass))
md5(sha1($salt).md5($pass))
md5(strtoupper(md5($pass)))
md5(utf16le($pass).$salt)
sha1($pass.$salt)
sha1($salt.$pass)
sha1($salt.$pass.$salt)
sha1($salt.sha1($pass))
sha1($salt.sha1($pass.$salt))
sha1($salt.utf16le($pass))
sha1($salt1.$pass.$salt2)
sha1(CX)
sha1(md5($pass))
sha1(md5($pass).$salt)
sha1(md5($pass.$salt))
sha1(md5(md5($pass)))
sha1(sha1($pass))
sha1(sha1($pass).$salt)
sha1(utf16le($pass).$salt)
sha256($pass.$salt)
sha256(sha256_bin($pass))
sha256($salt.$pass)
sha256($salt.$pass.$salt)
sha256($salt.utf16le($pass))
sha256(md5($pass))
sha256(sha256($pass).$salt)
sha256(utf16le($pass).$salt)
sha512($pass.$salt)
sha512($salt.$pass)
sha512($salt.utf16le($pass))
sha512(utf16le($pass).$salt)
Ruby on Rails Restful-Authentication
HMAC-MD5 (key = $pass)
HMAC-MD5 (key = $salt)
HMAC-SHA1 (key = $pass)
HMAC-SHA1 (key = $salt)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
HMAC-SHA256 (key = $pass)
HMAC-SHA256 (key = $salt)
HMAC-SHA512 (key = $pass)
HMAC-SHA512 (key = $salt)
HMAC-Streebog-256 (key = $pass), big-endian
HMAC-Streebog-256 (key = $salt), big-endian
HMAC-Streebog-512 (key = $pass), big-endian
HMAC-Streebog-512 (key = $salt), big-endian
CRC32
3DES (PT = $salt, key = $pass)
DES (PT = $salt, key = $pass)
ChaCha20
Skip32 (PT = $salt, key = $pass)
PBKDF2-HMAC-MD5
PBKDF2-HMAC-SHA1
PBKDF2-HMAC-SHA256
PBKDF2-HMAC-SHA512
scrypt
phpass
Ansible Vault
Atlassian (PBKDF2-HMAC-SHA1)
Python passlib pbkdf2-sha512
Python passlib pbkdf2-sha256
Python passlib pbkdf2-sha1
TACACS+
SIP digest authentication (MD5)
IKE-PSK MD5
IKE-PSK SHA1
XMPP SCRAM PBKDF2-SHA1
KNX IP Secure - Device Authentication Code
WPA-PBKDF2-PMKID+EAPOL
WPA-PMK-PMKID+EAPOL
IPMI2 RAKP HMAC-SHA1
CRAM-MD5
iSCSI CHAP authentication, MD5(CHAP)
JWT (JSON Web Token)
Telegram Desktop < v2.1.14 (PBKDF2-HMAC-SHA1)
Telegram Desktop >= v2.1.14 (PBKDF2-HMAC-SHA512)
Telegram Mobile App Passcode (SHA256)
Kerberos 5, etype 23, AS-REQ Pre-Auth
Kerberos 5, etype 23, TGS-REP
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Kerberos 5, etype 23, AS-REP
Kerberos 5, etype 17, TGS-REP
Kerberos 5, etype 18, TGS-REP
Kerberos 5, etype 17, Pre-Auth
Kerberos 5, etype 18, Pre-Auth
NetNTLMv1 / NetNTLMv1+ESS
NetNTLMv2
Skype PostgreSQL CRAM (MD5)
MySQL CRAM (SHA1)
RACF
AIX {smd5}
AIX {ssha1}
AIX {ssha256}
AIX {ssha512}
LM
QNX /etc/shadow (MD5)
QNX /etc/shadow (SHA256)
QNX /etc/shadow (SHA512)
DPAPI masterkey file v1
DPAPI masterkey file v2
GRUB 2
MS-AzureSync PBKDF2-HMAC-SHA256
BSDi Crypt, Extended DES
NTLM
macOS v10.4, macOS v10.5, MacOS v10.6
macOS v10.7
macOS v10.8+ (PBKDF2-SHA512)
Radmin2
Samsung Android Password/PIN
bcrypt $2*$, Blowfish (Unix)
md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5)
descrypt, DES (Unix), Traditional DES
sha256crypt $5$, SHA256 (Unix)
sha512crypt $6$, SHA512 (Unix)
Windows Phone 8+ PIN/password
Cisco-ASA MD5
Cisco-IOS $8$ (PBKDF2-SHA256)
Cisco-IOS $9$ (scrypt)
Cisco-IOS type 4 (SHA256)
Cisco-PIX MD5
Citrix NetScaler (SHA1)