Tải bản đầy đủ (.pdf) (35 trang)

Bài tập lớn môn an toàn mạng (87)

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 (2.44 MB, 35 trang )

BỘ THÔNG TIN VÀ TRUYỂN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG

BÁO CÁO
Mơn: An tồn mạng
Đề tài: Tìm hiểu về công cụ THC- Hydra trên Kali Linux
Giảng viên hướng dẫn: TS. Đặng Minh Tuấn
Nhóm mơn học:

Nhóm 02

Sinh viên thực hiện:

Nguyễn Ngọc Sông

Mã Sinh viên:

B18DCAT199

Số điện thoại:

0961195699

Hà Nội, 2021


Mục lục
LỜI MỞ ĐẦU .......................................................................................................... 3
Danh mục hình ảnh.................................................................................................... 4
Danh mục từ khóa viết tắt ......................................................................................... 5
Phần 1. Tổng quan về lý thuyết tấn công mật khẩu .................................................. 6


1.1 Password Attack ............................................................................................... 6
1.2. Các phương thức tấn công Password .............................................................. 6
1.3. Cách thức bảo vệ máy tính khỏi các cuộc tấn công mật khẩu ...................... 10
Phần2. Giới thiệu công cụ Hydra ............................................................................ 12
2.1. Giới thiệu Hydra............................................................................................ 12
2.2. Lịch sử hình thành của Hydra ....................................................................... 13
2.3. Hydra hoạt động như thế nào ? ..................................................................... 13
2.4. Làm thế nào để chúng ta phịng thủ chống lại hydra và các cuộc tấn cơng
Brute-Force ? ........................................................................................................ 15
Phần 3. Cài đặt và sử dụng công cụ Hydra trên Kali Linux ................................... 16
3.1. Hướng dẫn cài đặt Hydra trên Kali Linux .................................................... 16
3.2. Cách sử dụng Hydra ...................................................................................... 17
3.2.1 Sử dụng Hydra ......................................................................................... 17
Phần 4. Các bài Lab ................................................................................................. 29
4.1 Bài Lab tấn công khi biết Username .............................................................. 29
a) Chuẩn bị ........................................................................................................ 29
b) Kịch bản tấn công – Thực hiện tấn công ...................................................... 30
4.2 Bài Lab tìm tài khoản mật khẩu dựa vào từ điển ........................................... 31
a) Chuẩn bị ........................................................................................................ 31
b) Kịch bản tấn công – Thực hiện tấn công ...................................................... 32
Phần 5. Tổng kết ...................................................................................................... 33
5.1 Đánh giá ......................................................................................................... 33
5.2 Kết luận .......................................................................................................... 33
Tài liệu tham khảo ................................................................................................... 34
LỜI CẢM ƠN ........................................................................................................ 35

2


LỜI MỞ ĐẦU

Công nghệ thông tin đã và đang phát triển với một tốc độ chóng mặt,mang lại rất
nhiều lợi ích cho nhân loại. Từ đời sống sinh hoạt đến các hoạt động kinh doanh, các hoạt
động quản lý, chỉ đạo trong bộ máy nhà nước thì đềucó sự hiện diện và đóng góp của Cơng
Nghệ Thơng Tin. Tuy nhiên, bên cạnh các mặt tích cực mà nó mang lại thì vẫn cịn tồn tại
nhiều mặt tiêu cực và ngày càng trở nên nghiêm trọng, nhức nhối cho xã hội như: các nguy
cơ tấn công mạng nhằm phá hoại hệ thống mạng, hệ thống thông tin, nguy cơ bị đánh cắp
các thông tin “nhạy cảm” của cá nhân, tổ chức, doanh nghiệp, các cơ quan nhà nước… Với
sự phát triển khơng ngừng của kĩ thuật máy tính, nguy cơ bị hackertấn công vào hệ thống
thông tin ngày càng gia tăng, vấn đề password ngày càng trở nên phức tạp, giờ đây
password khơng chỉ đơn thuần là một chuỗi kí tự bí mật của riêng user, mà nó ln ở trong
nguy cơ bị cracking cao độ, do đó địi hỏingười dùng cần có những kiến thức mới về
password.
Sau khi được học mơn “An tồn mạng nâng cao” do thầy TS. Đặng Minh Tuấn
tận tình giảng dạy, với mong muốn tìm hiểu sâu hơn về các kiến thức của môn học cũng
như vận dụng các kiến thức đã học vào thực tế. Em xin chọn chủ đề “THC-Hydra”. Trong
phần báo cáo này em sẽ trình bày 1 số phương pháp tấn cơng mà Hacker sử dụng để tấn
công khai thác được những thông tin, dữ liệu cá nhân của người dùng.

3


Danh mục hình ảnh
Hình 1 Password Attack ............................................................................................ 6
Hình 2 Cơng cụ Hydra............................................................................................. 13
Hình 3 Cài đặt cơng cụ Hydra ................................................................................. 16
Hình 4 Cài đặt cơng cụ xHydra ............................................................................... 16
Hình 5 Giao diện xHydra ........................................................................................ 17
Hình 6 Bảng trợ giúp câu lệnh Hydra ..................................................................... 18
Hình 7 Đốn mật khẩu cho tên người dùng cụ thể.................................................. 20
Hình 8 Đốn tên người dùng cho mật khẩu cụ thể.................................................. 20

Hình 9 Bẻ khóa thơng tin đăng nhập ....................................................................... 21
Hình 10 Sử dụng chế độ chi tiết .............................................................................. 21
Hình 11 Sử dụng chế độ gỡ lỗi................................................................................ 22
Hình 12 NULL/ Đăng nhập ngược.......................................................................... 23
Hình 13 Lưu đầu ra ................................................................................................. 24
Hình 14 Tiếp tục tấn cơng ....................................................................................... 24
Hình 15 Tạo mật khẩu 1 .......................................................................................... 25
Hình 16 Tạo mật khẩu 2 .......................................................................................... 26
Hình 17 Tạo mật khẩu 3 .......................................................................................... 26
Hình 18 Tấn cơng cổng cụ thể ................................................................................ 27
Hình 19 Tấn cơng nhiều máy chủ ........................................................................... 27
Hình 20 Tấn cơng nhiều máy chủ 2 ........................................................................ 28
Hình 21 IP máy tấn cơng ......................................................................................... 29
Hình 22 IP máy victim ............................................................................................ 29
Hình 23 File từ điển Password ................................................................................ 30
Hình 24 Ping ............................................................................................................ 30
Hình 25 Nmap ......................................................................................................... 30
Hình 26 Tấn cơng 1 ................................................................................................. 31
Hình 27 Từ điển Username ..................................................................................... 31
Hình 28 Tấn công 2 ................................................................................................. 32

4


Danh mục từ khóa viết tắt
Từ viết tắt

Tiếng anh

Nghĩa tiếng việt


CLI
FTP
GUI
MFA
SSO

Command line interface
File Tranfer Protocol
Graphical User Interface
Multi-factor Authentication
Single sign-on

Giao diện dòng lệnh
Giao thức truyền tập tin
Giao diện đồ họa
Xác thực đa yếu tố
Đăng nhập một lần

5


Phần 1. Tổng quan về lý thuyết tấn công mật khẩu
1.1 Password Attack
Cơ chế được sử dụng rộng rãi nhất để xác thực người dùng là mật khẩu. Do đó,
password attack là một cuộc tấn công phổ biến và hiệu quả.
Phần lớn các vụ đánh cắp thông tin liên quan đến quyền truy cập tài khoản. Ngay
cả thông tin xác thực của người dùng bình thường rơi vào tay kẻ xấu cũng có thể biến thành
vũ khí tàn phá tồn bộ hệ thống.
Mật khẩu có thể khó nhớ, đặc biệt nếu người dùng tuân theo các quy tắc để tạo một

mật khẩu mạnh. Khi nhập mật khẩu cũng khá tốn thời gian, đặc biệt là trên các thiết bị di
động với bàn phím nhỏ. Khi cố gắng để sử dụng các mật khẩu khác nhau cho mỗi tài khoản
cũng gây bất tiện và mất thời gian. Tuy nhiên, nếu hacker sở hữu mật khẩu của người dùng,
thời gian người dùng mất sẽ nhiều hơn so với việc nhập mật mật khẩu mạnh.
Như vậy, password vẫn được sử dụng rất nhiều. Song song đó, khao khát để phá vỡ
tính Bí mật và Bảo mật của password từ các hacker ngày một tăng, bởi khi có được
password đúng, hacker có tồn quyền với các tài nguyên/dịch vụ của người dùng được xác
thực bởi password đó. Và người dùng hiện nay thường dùng chung một password cho nhiều
dịch vụ khác nhau.

Hình 1 Password Attack

1.2. Các phương thức tấn công Password
Hacker sở hữu một số phương thức tấn công mật khẩu để phá vỡ xác thực người
dùng. Đừng để bản thân bị choáng ngợp, người dùng cần hiểu các phương pháp này.
Các phương tiện truyền thông bàn tán về vi phạm bảo mật với hàng triệu thông tin
người dùng và mật khẩu được rao bán, do vậy người dùng nên hiểu rõ hơn về cách các cuộc
tấn công như vậy xảy ra để bảo vệ chính mình.
6


Dưới đây là các hình thức phổ biến nhất.
Dictionary
Sử dụng 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 và có thể liên quan đến tên người dùng, sinh nhật, sở thích... hay các đơn giản là các
từ phổ biến như "password"...
Tất nhiên, điều này không được làm thủ cơng. Một chương trình máy tính có thể
chạy qua hàng triệu từ trong vài giờ.
Kết hợp ngẫu nhiên các từ trong từ điển với nhau sẽ không cứu được máy tính khỏi

cuộc tấn cơng này nhưng có thể làm thời gian để bẻ khóa mật khẩu lâu hơn.
Từ điển thường là kỹ thuật đầu tiên hacker sử dụng khi cố gắng bẻ khóa.
Hybrid
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 dictionary attack nhưng lại rơi vào một cuộc tấn công khác.
Hybrid attack sử dụng kết hợp các từ trong 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 số và ký tự đặc biệt.
Brute Force
Brute force là một trong những hình thức phổ biến nhất của password attack và dễ
dàng nhất để thực hiện. 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.
Brute force, hacker sử dụng chương trình máy tính để đăng nhập vào tài khoản của
người dùng với tất cả các kết hợp mật khẩu có thể. Các cuộc tấn cơng thường sẽ bắt đầu
bằng 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 lệ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ời gian bẻ khóa càng lâu.
Một website sử dụng mật khẩu đơn giản với giới hạn 5 ký tự. Sử dụng 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 70 MB để 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 từ lên 62 GB.
Với mật khẩu từ 8 đến 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 các chữ
số và 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.
7


Traffic Interception
Trong cuộc tấn công này, các công cụ monitor network traffic được sử dụng để chặn
mật khẩu khi chúng được truyền qua mạng ở dạng văn bản. Ngay cả mật khẩu được mã hóa

cũng có thể được giải mã, tùy thuộc vào độ mạnh của phương thức mã hóa được sử dụng.
Man In the Middle
Trong cuộc tấn công này, hacker chủ động chèn chính nó vào giữa tương tác, thường
là bằng cách mạo danh một website hoặc ứng dụng. Điều này cho phép họ nắm bắt thông
tin đăng nhập của người dùng và các thông tin nhạy cảm khác.
Các mạng WiFi mở thường khơng được mã hóa. Với sự trợ giúp của phần mềm miễn
phí và có sẵn rộng rãi, hacker có thể dễ dàng theo dõi lưu lượng truy cập Internet của người
dùng khi người dùng lướt web trên WiFi công cộng.
Hacker sẽ chặn lưu lượng giữa thiết bị của người dùng và máy chủ. Mỗi trang người
dùng truy cập, tin nhắn người dùng gửi và mật khẩu người dùng nhập sẽ chuyển thẳng đến
hacker thay vì nhà cung cấp WiFi hợp pháp. Không chỉ mật khẩu mà cả chi tiết thẻ tín dụng
và thơng tin nhạy cảm khác cũng có thể bị đánh cắp theo cách này.
Social Engineering
Social engineering attack đề cập đến một loạt các phương pháp để có được thơng tin từ
người dùng. 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ọ.

Social engineering khai thác dựa vào sự cả tin của con người.
Rainbow Table
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
8


đượ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.
Credential Stuffing
Các password attack khác đề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 một 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.
Credential stuffing nhằm vào xu hướng sử dụng chung mật khẩu cho nhiều tài khoản
của người dùng, nếu thành cơng thì thường đem lại hiệu quả rất lớn. Đây là lý do tại sao
việc sử dụng các mật khẩu khác nhau cho mỗi tài khoản và dịch vụ là rất quan trọng. Trong
trường hợp một trong số chúng bị xâm phạm và bị rò rỉ, rủi ro đối với bất kỳ tài khoản nào
khác sẽ được giảm thiểu.

Credential stuffing attack có cách gọi khác là credential reuse attack.
Password Spraying
Khá giống với hình thức brute force nhưng không được xem là brute force, password
spraying thử hàng ngàn có thể là hàng 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 các mục tiêu theo cấp số nhân. Do đó, nó giúp hacker tránh phương thức bảo mật khóa
tài khoản khi đăng nhập sai nhiều lần.
Password spraying đặc biệt nguy hiểm đối với các cổng xác thực đăng nhập một lần.
Offline Detection
Việc thu thập thông tin người dùng từ máy tính bị vứt bỏ, thùng rác...; nghe lén khi
người dùng chia sẻ mật khẩu của họ với người khác bằng lời nói; đọc ghi chú kẹp trên màn
hình máy tính; lướt qua khi người dùng nhập mật khẩu... có thể giúp hacker có được mật
khẩu và thơng tin đăng nhập người dùng
Malware
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
9


được ẩn trong các ứng dụng giả mạo: trò chơi di động, ứ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õ ràng khiến người dùng không nghi ngờ.
Key logger
Hacker cài đặt phần mềm theo dõi tổ hợp phím của người dùng, cho phép hacker thu
thập không chỉ tên người dùng và mật khẩu cho tài khoản mà cịn có website hoặc ứng dụng
mà người dùng đã đăng nhập. Kiểu tấn công này xảy ra sau khi cuộc malware attack được
thực hiện.
Key logger attack cài đặt một chương trình trên thiết bị của người dùng để theo dõi
tất cả các lần nhấn phím của người dùng. Vì vậy, khi người dùng nhập tên người dùng và

mật khẩu của họ, hacker thu thập chúng và sử dụng.
Phương thức này thường triển khai trong một cuộc tấn cơng hàng loạt nhắm vào tồn
bộ tổ chức, nhiều mật khẩu và thông tin đăng nhập của người dùng có thể được thu thập để
sử dụng sau.

1.3. Cách thức bảo vệ máy tính khỏi các cuộc tấn cơng mật khẩu
Mật khẩu mạnh là sự bảo vệ đầu tiên chống lại các password attack. Kết hợp các ký
tự viết hoa và viết thường, số và ký tự đặc biệt; tránh sử dụng các từ và cụm từ phổ biến;
tránh các từ dành riêng cho website (như tên của website); kiểm tra mật khẩu với từ điển
các mật khẩu kém; chúng nên được thay đổi thường xuyên và khác nhau cho mỗi tài khoản.
Giáo dục cũng rất quan trọng. Một trong những biện pháp phòng vệ tốt nhất là dạy
cho người dùng cách nhận biết và ngăn chặn các kỹ thuật mà hacker sử dụng.
Tuy nhiên mật khẩu mạnh mẽ và giáo dục thực sự chưa đủ. Sức mạnh tính tốn cho
phép hacker chạy các chương trình tinh vi để có thể thử số lượng lớn thông tin đăng nhập,
nên áp dụng thêm các công cụ như: single sign-on (SSO), multi-factor authentication
(MFA).
Dưới đây là các quy tắc cơ bản để giữ an toàn.
Sử dụng ứng dụng tạo mật khẩu ngẫu nhiên
Dictionary attack là một kỹ thuật password attack phổ biến và hiệu quả. Do con
người không dễ dàng ghi nhớ các chuỗi ký tự ngẫu nhiên.
Khi người dùng tạo một loạt các mật khẩu mặc dù có đảm bảo về độ dài, kết hợp
các ký tự khác nhau nhưng chúng lại thường được tạo theo một quy luật nhất định, điều
này thật nguy hiểm nếu hacker tìm ra nó.
Thay vì làm thủ cơng người dùng có thể nhờ cơng nghệ, chúng sẽ thay người dùng
làm tất cả. Có rất nhiều ứng dụng tạo mật khẩu ngẫu nhiên miễn phí, chỉ cần chọn độ dài
của mật khẩu hay bất kỳ yêu cầu đặc biệt nào đó, một mật khẩu mạnh mẽ sẽ được tạo ra.
Hạn chế sử dụng lại mật khẩu
10



Thông tin đăng nhập của người dùng là mục tiêu hàng đầu của hacker. Vì họ biết
rất rõ rằng người dùng có thể tái chế mật khẩu và tệ hơn là chỉ sử dụng một mật khẩu cho
tất cả các tài khoản.
Hãy làm theo lời khuyên phía trên trước và bây giờ người dùng đã có một ứng dụng
tạo mật khẩu ngẫu nhiên, lúc này sẽ khơng có lý do gì để người dùng dùng một mật khẩu
duy nhất. Ứng dụng tạo mật khẩu ngẫu nhiên sẽ giúp người dùng tạo thật nhiều mật khẩu
mạnh mẽ và duy nhất.
Dùng ứng dụng quản lý mật khẩu
Một người trung bình dùng 20 đến 40 mật khẩu. Rất khó khăn để có thể nhớ hàng
chục mật khẩu khác nhau, nếu chúng rất dài và vơ nghĩa thì việc này lại càng khó. Người
dùng cần một ứng dụng quản lý mật khẩu.
Ứng dụng quản lý mật khẩu là một chương trình lưu giữ tất cả thông tin đăng nhập
của người dùng. Người dùng chỉ cần nhớ là master key để mở khóa các mật khẩu của người
dùng.
Bật xác thực hai yếu tố
Mật khẩu dễ bị tổn thương đối với các phương thức password attack và có thể trở
thành nạn nhân của một cuộc tấn cơng.
Cách tốt nhất để giữ an tồn là thêm một lớp bảo mật bổ sung - xác thực đa yếu tố
(MFA). Xác thực đa yếu tố là sự kết hợp của mật khẩu và điện thoại hoặc email của người
dùng.
Đặt tin nhắn SMS làm bước xác thực thứ hai được sử dụng phổ biến nhất.
Xác thực đa yếu tố làm giảm hiệu quả của các phương thức password attack. Nó
khơng hoàn toàn ngăn chặn được tất cả các cuộc tấn cơng, nhưng nó ngăn chặn được các
cuộc tấn cơng hàng loạt.
Ngay cả khi mật khẩu của một cá nhân bị đánh cắp, hacker sẽ phải đối mặt với một
thách thức khó khăn hơn nhiều trong việc vượt qua lớp xác thực thứ 2 để sở hữu quyền
truy cập của người dùng. Đồng thời lúc này người dùng cũng nhận được cảnh báo tài khoản
có dấu hiệu bị xâm phạm.
Sử dụng VPN khi kết nối với WiFi công cộng
Hạn chế sử dụng WiFi cơng cộng. Tuy nhiên, nếu dùng thì người dùng nên tải VPN

về thiết bị của người dùng và dùng chúng khi truy cập Internet. VPN sẽ mã hóa lưu lượng
truy cập Internet của người dùng để các bên thứ ba không thể theo dõi các hoạt động trực
tuyến của người dùng, mật khẩu và dữ liệu cá nhân của người dùng sẽ vẫn an toàn.

11


Phần2. Giới thiệu công cụ Hydra
2.1. Giới thiệu Hydra
Hydra là một trình bẻ khóa đăng nhập song song hỗ trợ nhiều giao thức để tấn cơng.
Nó rất nhanh và linh hoạt, và dễ dàng thêm các mô-đun mới. Công cụ này giúp các nhà
nghiên cứu và nhà tư vấn bảo mật có thể chỉ ra việc truy cập trái phép vào hệ thống từ xa
dễ dàng như thế nào.
Hydra hỗ trợ các giao thức: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP,
HTTP(S)-FORM-GET, HTTP(S)-FORM-POST, HTTP(S)-GET, HTTP(S)-HEAD,
HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener,
Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP,
SMB(NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 và v2), SSHKEY,
Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC và XMPP.
Hydra cung cấp hai giao diện: Giao diện dòng lệnh (CLI) và Giao diện người dùng
đồ họa (GUI) được gọi là Hydra GTK (Bộ công cụ đồ họa). Hydra GTK là một GUI vững
chắc có thể làm giảm quá trình học tập của cracker mạnh mẽ này. Hydra rất được khuyến
khích sử dụng cho cả những người khơng chun về an ninh mạng và những tin tặc có đạo
đức được chứng nhận.

12


Hình 2 Cơng cụ Hydra


2.2. Lịch sử hình thành của Hydra
Hydra ra đời vào năm 2000 và là trình bẻ khóa đăng nhập mạng đầu tiên trên thế
giới. Cơng cụ này được viết bằng ngơn ngữ C, hình thành và phát triển bởi Vanhauser
người sáng lập tổ chức THC (The Hacker’s Choice được thành lập năm 1995 ).

2.3. Hydra hoạt động như thế nào ?
Hydra là một công cụ bẻ khóa mật khẩu brute force. Trong bảo mật thơng tin (BẢO
MẬT CNTT), bẻ khóa mật khẩu là phương pháp đốn mật khẩu từ cơ sở dữ liệu đã được
lưu trữ hoặc đang vận chuyển trong hệ thống máy tính hoặc mạng.
Một cách tiếp cận phổ biến và cách tiếp cận được sử dụng bởi Hydra và nhiều công
cụ và chương trình pentesting tương tự khác được gọi là Brute Force. Tôi dự định viết một
bài đăng 'Brute Force Hacking' vào năm 2021 nhưng vì bài đăng này là tất cả về Hydra,
hãy đặt khái niệm tấn công Brute-force trong công cụ đốn mật khẩu này.
Brute force chỉ có nghĩa là chương trình khởi động một loạt các mật khẩu khơng
ngừng khi đăng nhập để đoán mật khẩu. Như chúng ta đã biết, phần lớn người dùng có mật
13


khẩu yếu và tất cả quá thường xuyên họ đều dễ dàng đoán được. Một chút kỹ thuật xã hội
và cơ hội tìm mật khẩu chính xác cho người dùng được nhân lên.
Hầu hết mọi người (đặc biệt là những người khơng am hiểu CNTT, sẽ dựa trên mật
khẩu 'bí mật' của họ trên các từ và danh từ mà họ sẽ không dễ dàng quên. Những từ này rất
phổ biến: người thân, tên trẻ em, địa chỉ đường phố, đội bóng đá u thích, nơi sinh, v.v.
Tất cả điều này có thể dễ dàng thu được thơng qua phương tiện truyền thông xã hội
để ngay sau khi hacker đã biên soạn dữ liệu này, nó có thể được biên soạn trong 'danh sách
mật khẩu'.
Brute force sẽ lấy danh sách mà hacker xây dựng và có thể sẽ kết hợp nó với các
mật khẩu dễ dàng khác (mật khẩu dễ dàng, chẳng hạn như 'password1, password2', v.v.)
và bắt đầu cuộc tấn công.
Tùy thuộc vào tốc độ xử lý của máy tính tin tặc (kiểm tốn viên), kết nối Internet

(và có lẽ là proxy), phương pháp brute force sẽ đi qua từng mật khẩu một cách có hệ thống
cho đến khi phát hiện đúng mật khẩu.
Nó khơng được coi là rất tinh tế - nhưng hey nó hoạt động!
Hydra được coi là một trong những người tốt hơn ngoài kia và nó chắc chắn đáng
để người dùng dành thời gian như một chuyên gia bảo mật hoặc sinh viên để thử nó.
Tài ngun và hướng dẫn
Phần lớn các cơng cụ xâm nhập / hack được tạo ra và phát triển từ góc độ bảo mật, có
nghĩa là chúng được thiết kế để hỗ trợ người khắc tìm ra lỗ hổng trong hệ thống của khách
hàng và có hành động thích hợp.
Hydra hoạt động bằng cách giúp kiểm tốn viên tìm thấy mật khẩu yếu trong mạng lưới
khách hàng của họ. Theo các nhà phát triển Hydra, họ khuyên các chuyên gia nên làm như
sau khi sử dụng Hydra:


Bước 1: Làm cho mạng của người dùng an tồn nhất có thể.



Bước 2: Thiết lập mạng lưới thử nghiệm



Bước 3: Thiết lập máy chủ thử nghiệm



Bước 4: Cấu hình dịch vụ




Bước 5: Cấu hình ACL



Bước 6: Chọn mật khẩu tốt



Bước 7: Sử dụng SSL



Bước 8: Sử dụng mật mã



Bước 9: Sử dụng IDS



Bước 10: Ném Hydra chống lại bảo mật và cố gắng bẻ khóa các lệnh đăng nhập.
14


2.4. Làm thế nào để chúng ta phòng thủ chống lại hydra và các cuộc tấn cơng BruteForce ?
Có một số cách mà một quản trị viên hệ thống hoặc kỹ sư mạng có thể bảo vệ chống
lại các cuộc tấn công Brute-force. Đây là một vài phương pháp. Nếu người dùng có thể
nghĩ về bất kỳ ai khác hoặc không đồng ý với những điều dưới đây, hãy cho chúng tơi biết
trong bình luận dưới đây!
Vơ hiệu hóa hoặc chặn quyền truy cập vào tài khoản khi đã đạt được số lần xác thực

thất bại được xác định trước.


Xem xét đa yếu tố hoặc hai lựa chọn tham gia / đăng nhập cho người dùng.



Cân nhắc triển khai mã thông báo bảo mật dựa trên phần cứng thay cho mật khẩu
cấp hệ thống.

Bắt buộc tất cả nhân viên sử dụng mật khẩu hoặc cụm từ được tạo và đảm bảo mọi nhân
viên đều sử dụng biểu tượng bất cứ khi nào có thể.
Và đơn giản nhất – loại bỏ dữ liệu cực kỳ nhạy cảm khỏi mạng, cô lập nó!

15


Phần 3. Cài đặt và sử dụng công cụ Hydra trên Kali Linux
3.1. Hướng dẫn cài đặt Hydra trên Kali Linux
Tải và cài đặt trên Kali Linux bằng câu lệnh: sudo apt install hydra

Hình 3 Cài đặt công cụ Hydra

Hoặc có thể cài đặt phiên bản xhydra là phiên bản GUI của hydra bằng câu lệnh :
sudo apt-get install hydra-gtk

Hình 4 Cài đặt công cụ xHydra

16



Hình 5 Giao diện xHydra

3.2. Cách sử dụng Hydra
3.2.1 Sử dụng Hydra
Các tính năng của Hydra: Sử dụng câu lệnh “ hydra – h “ trên terminal của Kali
Linux để mở màn hình trợ giúp của Hydra.

17


Hình 6 Bảng trợ giúp câu lệnh Hydra

-R: khôi phục phiên bị hủy / gặp sự cố trước đó
-I: bỏ qua một tập tin khơi phục hiện có.
-S: thực hiện kết nối SSL
-s: PORT nếu dịch vụ nằm trên một cổng mặc định khác, hãy xác định nó ở đây
-l LOGIN hoặc -L: đăng nhập FILE với tên ĐĂNG NHẬP hoặc tải một số thông tin đăng
nhập từ FILE
18


-p PASS hoặc -P: FILE thử PASS mật khẩu hoặc tải một số mật khẩu từ FILE
-x MIN: MAX: CHARSET: mật khẩu tạo bruteforce, nhập “-x -h” để nhận trợ giúp
-e nsr: thử “n” null password, đăng nhập “s” dưới dạng pass và / hoặc “r” đăng nhập bị đảo
ngược
-u: vịng lặp xung quanh người dùng, khơng phải mật khẩu (hiệu quả! ngụ ý với -x)
-C FILE: định dạng “đăng nhập: vượt qua” được phân tách bằng dấu hai chấm, thay vì tùy
chọn -L / -P
-M FILE: danh sách các máy chủ bị tấn công song song, một mục trên mỗi dòng

-o FILE: ghi các cặp đăng nhập / mật khẩu được tìm thấy vào FILE thay vì stdout
-f / -F: thốt khi tìm thấy cặp đăng nhập / vượt qua (-M: -f trên mỗi máy chủ, -F toàn cầu)
-t TASKS: chạy TASKS số lượng kết nối song song (trên mỗi máy chủ lưu trữ, mặc định:
16)
-w / -W TIME: thời gian chờ phản hồi (32 giây) / giữa các kết nối trên mỗi chuỗi
-4 / -6: ưu tiên địa chỉ IPv4 (mặc định) hoặc IPv6
-v / -V / -d: chế độ tiết / hiển thị đăng nhập + vượt qua cho mỗi lần thử / chế độ gỡ lỗi
-U: chi tiết sử dụng mơ-đun dịch vụ
server: máy chủ đích (sử dụng tùy chọn này HOẶC tùy chọn -M)
service: dịch vụ để crack (xem bên dưới để biết các giao thức được hỗ trợ)
OPT: một số mô-đun dịch vụ hỗ trợ đầu vào bổ sung (-U để trợ giúp mơ-đun)
Đốn mật khẩu cho tên người dùng cụ thể
Hydra là một cơng cụ rất có tác động và cũng khá dễ sử dụng để thực hiện một cuộc
tấn công Brute-force trên bất kỳ giao thức nào.
Cú pháp: hydra [[[-l ĐĂNG NHẬP | -L FILE] [-p PASS | -P FILE]] | [-C FILE]] [-e nsr]
[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x
MIN: MAX: CHARSET] [-SuvV46] [service: // server [: PORT] [/
OPT]]
Giả sử người dùng muốn bẻ khóa mật khẩu cho ftp (hoặc bất kỳ người nào khác) có
tên người dùng của người dùng, người dùng chỉ muốn thực hiện một cuộc tấn công bạo lực
mật khẩu bằng cách sử dụng từ điển để đoán mật khẩu hợp lệ.
Tại thời điểm đó, người dùng nên sử dụng lệnh sau trong đó tùy chọn -l cho phép
tham số tên người dùng và tùy chọn -P cho phép từ điển cho danh sách mật khẩu.
hydra -l raj -P pass.txt 192.168.1.108 ftp

19


Như người dùng có thể quan sát, nó đã tìm thấy 1 mật khẩu hợp lệ : 123 cho tên
người dùng: raj để đăng nhập FTP.


Hình 7 Đoán mật khẩu cho tên người dùng cụ thể

Đoán tên người dùng cho mật khẩu cụ thể
Giả sử người dùng muốn bẻ khóa tên người dùng cho FTP (hoặc bất kỳ tên nào
khác) có mật khẩu của người dùng, người dùng chỉ muốn thực hiện một cuộc tấn công bạo
lực tên người dùng bằng cách sử dụng từ điển để đoán tên người dùng hợp lệ. Do đó nó là
một tình huống ngược lại so với tình huống trên.
Tại thời điểm đó, người dùng nên sử dụng lệnh sau trong đó tùy chọn -L bật từ
điển cho danh sách tên người dùng và tùy chọn -p cho phép tham số mật khẩu.
hydra -L user.txt -p 123 192.168.1.108 ftp
Như người dùng có thể quan sát, nó đã tìm thấy 1 tên người dùng hợp lệ : raj cho
mật khẩu: 123 đăng nhập FTP.

Hình 8 Đốn tên người dùng cho mật khẩu cụ thể

Bẻ khóa thơng tin đăng nhập
Giả sử người dùng muốn bẻ khóa tên người dùng và mật khẩu cho FTP (hoặc bất
kỳ thứ gì khác), muốn thực hiện tấn cơng bạo lực tên người dùng và mật khẩu bằng cách
sử dụng từ điển để đốn kết hợp hợp lệ
Tại thời điểm đó, người dùng nên sử dụng lệnh sau trong đó tùy chọn -L bật từ
điển cho danh sách tên người dùng và – tùy chọn P bật từ điển cho danh sách mật khẩu.
hydra -L user.txt -P pass.txt 192.168.1.108 ftp

20


Như người dùng có thể quan sát, nó đã tìm thấy 1 tên người dùng hợp lệ :
raj cho mật khẩu: 123 đăng nhập FTP


Hình 9 Bẻ khóa thơng tin đăng nhập

Sử dụng Chi tiết hoặc Chế độ gỡ lỗi để kiểm tra lực lượng Brute-Force
Người dùng có thể sử dụng tùy chọn -V cùng với mỗi lệnh, với sự trợ giúp của chế
độ tiết, người dùng có thể quan sát từng lần thử để đối sánh sự kết hợp hợp lệ của tên người
dùng và mật khẩu. Nếu người dùng quan sát hình ảnh dưới đây; thì người dùng sẽ thấy có
5 tên người dùng trong tệp user.txt (L = 5) và 5 mật khẩu trong tệp pass.txt (P = 5) và do
đó tổng số lần đăng nhập sẽ là 5 * 5 = 25.

Hình 10 Sử dụng chế độ chi tiết

Như người dùng có thể quan sát, chế độ tiết đang hiển thị từng nỗ lực để khớp thông
tin xác thực hợp lệ cho tên người dùng và mật khẩu với sự trợ giúp của user.txt và pass.txt
21


cũng như chế độ gỡ lỗi đang hiển thị thời gian chờ, chờ đợi, ổ cắm, gửi pid và đã nhận
được pid

Hình 11 Sử dụng chế độ gỡ lỗi

NULL / Đăng nhập / Đăng nhập ngược
Sử dụng option -e cùng với nsr cho phép ba tham số n ull / s ame làm đăng nhập
/ r everse đăng nhập trong khi thực hiện tấn công brute force vào trường mật khẩu, nếu
người dùng quan sát hình ảnh dưới đây thì người dùng sẽ nhận thấy rằng lần này L = 5 và
tự động P = 8 có nghĩa là bây giờ tổng số lần đăng nhập sẽ là 5 * 8 = 40.
hydra -L user.txt -P pass.txt 192.168.1.108 ftp -V -e nsr
Như người dùng có thể quan sát với mọi tên người dùng, nó đang cố gắng khớp sự
kết hợp sau cùng với danh sách mật khẩu.
Đăng nhập “root” và chuyển “” làm mật khẩu rỗng

Đăng nhập “root” và chuyển “root” giống như đăng nhập
Đăng nhập “root” và chuyển “toor” làm ngược lại của đăng nhập
22


Hình 12 NULL/ Đăng nhập ngược

Lưu đầu ra vào đĩa
Với mục đích duy trì hồ sơ, khả năng đọc tốt hơn và các tài liệu tham khảo trong
tương lai, chúng tôi sẽ lưu kết quả của cuộc tấn công hydra brute force trong một tệp. Đối
với điều này, chúng tôi sẽ sử dụng tham số -o của hydra để lưu kết quả đầu ra trong một
tệp văn bản.
hydra -L user.txt -P pass.txt 192.168.1.108 ftp -o result.txt
Bây giờ chúng ta đã thực hiện thành công lệnh, bây giờ hãy di chuyển đến vị trí để
đảm bảo đầu ra đã được lưu trên tệp hay chưa. Trong trường hợp này, vị trí của chúng tôi
cho đầu ra là / root /output.txt.

23


Hình 13 Lưu đầu ra

Tiếp tục cuộc tấn công Brute Force
Đôi khi trong khi thực hiện brute force, cuộc tấn cơng bị tạm dừng / dừng lại hoặc
vơ tình hủy bỏ tại thời điểm này để tiết kiệm thời gian của người dùng, người dùng có thể
sử dụng tùy chọn -r cho phép tiếp tục tham số và tiếp tục brute-force từ lần thử cuối cùng
bị bỏ qua từ điển thay vì bắt đầu nó từ lần thứ nhất
hydra -L user.txt -P pass.txt 192.168.1.108 ftp
hydra -R
Bây giờ người dùng có thể quan sát kết quả đầu ra từ hình ảnh bên dưới, nơi sau khi

nhấn ctrl C, nó dừng cuộc tấn cơng và sau đó gõ hydra -R để tiếp tục cuộc tấn cơng và tiếp
tục nó.

Hình 14 Tiếp tục tấn công

Tạo mật khẩu bằng nhiều bộ ký tự khác nhau
Tùy chọn Hydra has -x cho phép tùy chọn tạo mật khẩu bao gồm các hướng dẫn
sau:
-x MIN: MAX: CHARSET
MIN được sử dụng để chỉ định số ký tự tối thiểu trong mật khẩu
24


MAX được sử dụng để chỉ định số ký tự tối đa trong mật khẩu
CHARSET được sử dụng để chỉ định đặc điểm kỹ thuật của các ký tự để sử dụng trong
các giá trị CHARSET hợp lệ tạo là: ‘a’ cho chữ thường, ‘A’ cho chữ hoa, ‘1’ cho số và đối
với tất cả các giá trị khác, chỉ cần thêm biểu diễn thực của chúng .
-y vô hiệu hóa việc sử dụng nếu các chữ cái ở trên làm trình giữ chỗ
Bây giờ, giả sử chúng ta muốn thử 123 làm mật khẩu, tôi nên đặt MIN = 1, MAX = 3
CHARSET 1 để tạo mật khẩu số cho tên người dùng đã cho và chạy lệnh sau như đã nói.
hydra -l shubham -x 1: 3: 1 ftp://192.168.1.108
hoặc là
hydra -l raj -x 1: 3: 1 192.168.1.108 ftp
hydra -l raj -x 1: 3: 1 192.168.1.108 ftp -y
Như người dùng có thể quan sát, nó đã tìm thấy 1 mật khẩu hợp lệ : 123 cho tên
người dùng: raj để đăng nhập FTP.

Hình 15 Tạo mật khẩu 1

Bây giờ, giả sử chúng ta muốn thử abc làm mật khẩu, tôi nên đặt MIN = 1, MAX =

3 CHARSET a để tạo mật khẩu ký tự chữ thường cho tên người dùng đã cho và chạy lệnh
sau như đã nói.
hydra -l shubham -x 1: 3: a ftp://192.168.1.108 -V

25


×