Hydra trên kali linux

Bài viết này sẽ giải thích Hydra là gì và cách chúng ta có thể sử dụng công cụ này để bẻ khóa dịch vụ xác thực từ xa. Bạn có thể xem thêm thông tin về Hydra tại phòng Advend of Cyber trên Tryhackme.

Hydra trên kali linux

Hydra là gì?

Hydra là một công cụ brute force mạnh mẻ; một công cụ ‘hack’ mật khẩu đăng nhập hệ thống nhanh chóng.

Chúng ta có thể sử dụng Hydra để duyệt qua một danh sách và ‘bruteforce‘ một số dịch vụ xác thực. Hãy tưởng tượng bạn đang cố gắng đoán thủ công một số mật khẩu trên một dịch vụ cụ thể (SSH, Web Application Form, FTP hoặc SNMP) – chúng ta có thể sử dụng Hydra để duyệt qua danh sách mật khẩu và tăng tốc quá trình này để xác định mật khẩu chính xác.

Hydra có khả năng thực thi các giao thức sau: Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP -POST, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP , NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, RTSP, SAP / R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1 + v2 + v3 , SOCKS5, SSH (v1 và v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC và XMPP.

Để biết thêm thông tin về các tùy chọn của từng giao thức trong Hydra, hãy đọc trang công cụ Kali Hydra chính thức tại đây.

Điều này cho thấy tầm quan trọng của việc sử dụng một mật khẩu mạnh, nếu mật khẩu của bạn là phổ biến, không chứa các ký tự đặc biệt hoặc không trên 8 ký tự, thì mật khẩu đó sẽ dễ bị đoán trúng. 100 triệu danh sách mật khẩu tồn tại chứa các mật khẩu phổ biến, vì vậy khi một ứng dụng ngoại vi sử dụng mật khẩu dễ đăng nhập, thi bạn nên thay đổi mật khẩu đó đi. Thường thì camera CCTV và các frameworks web sử dụng admin:password làm mật khẩu mặc định, thì rất dễ bị hack.

Nếu bạn đang sử dụng Kali Linux, thì hydra đã được cài đặt sẵn. Nếu không bạn có thể tải về tại đây.

Nếu bạn không có Linux hoặc môi trường máy tính để bàn phù hợp, bạn có thể triển khai máy Kali Linux của riêng mình với tất cả các công cụ bảo mật cần thiết. Bạn thậm chí có thể điều khiển Linux trong trình duyệt của mình tại đây.

Cách sử dụng Hydra

Các tùy chọn mà chúng ta chuyển vào Hydra phụ thuộc vào dịch vụ (giao thức) mà chúng ta đang tấn công. Ví dụ: nếu chúng ta muốn bruteforce FTP với tên người dùng là user và danh sách mật khẩu là passlist.txt, chúng ta sẽ sử dụng lệnh sau:

hydra -l user -P passlist.txt ftp://192.168.0.1

passlist bạn có thể tải ở bài Worlist Password mới nhất.

Với mục đích của thử thách Christmas, đây là các lệnh sử dụng Hydra trên SSH và web form (phương thức POST).

SSH

hydra -l -P -t 4 ssh

Giải thích các tùy chọn:

  • -l là tên người dùng
  • -P Sử dụng danh sách mật khẩu
  • -t chỉ định số lượng luồng sẽ sử dụng

Post Web Form

Chúng ta cũng có thể sử dụng Hydra để bruteforce các web forms, bạn sẽ phải đảm bảo rằng bạn biết loại yêu cầu của nó – phương thức GET hoặc POST thường được sử dụng. Bạn có thể sử dụng tab Network trong trình duyệt (bấm F12 – developer tools) để xem các loại phương thức của request.

Dưới đây là ví dụ về lệnh Hydra để brute force một form login dùng phương thức POST.

hydra -l -P http-post-form "/:username=^USER^&password=^PASS^:F=incorrect" -V

Giải thích các tùy chọn:

  • -l: Tên người dùng duy nhất
  • -P: cho biết sử dụng danh sách mật khẩu sau
  • http-post-form: cho biết loại phương thức (post)
  • /login url: URL trang đăng nhập
  • :username: trường biểu mẫu nơi tên người dùng được nhập
  • ^USER^: yêu cầu Hydra sử dụng tên người dùng
  • password: trường biểu mẫu nơi mật khẩu được nhập
  • ^PASS^: yêu cầu Hydra sử dụng danh sách mật khẩu đã cung cấp trước đó
  • Login: cho biết để rút lại thông báo đăng nhập không thành công
  • Login failed: là thông báo đăng nhập thất bại mà biểu mẫu trả về
  • F=incorrect: nếu từ này xuất hiện trên trang, thì nó không chính xác
  • -V: đầu ra cho mọi lần thử

Bây giờ bạn sẽ có đủ thông tin về hydra để thực hành và hoàn thành thử thách Hydra Christmas rồi đó.

Hướng dẫn toàn diện về Hydra – Một công cụ cưỡng bức vũ phu

— Đây là tiêu đề “thô bạo ”

Hãy làm bài tập tương ứng trên iLAB module System Hacking các bạn sẽ thấy các thao tác được yêu cầu thực hành Hydra. Các bài thực hành iLab có chủ đề Hydra là CEH và PENTEST + tương tự như bài trình bày sau

Bài giới thiệu về Hydra PLAB

Chào các bạn!! Hôm nay chúng ta sẽ thảo luận – Hydra có tác động như thế nào trong việc bẻ khóa thông tin đăng nhập của các giao thức khác nhau để thực hiện truy cập trái phép vào hệ thống từ xa. Trong bài viết này, chúng ta sẽ thảo luận về từng tùy chọn có sẵn trong hydra để thực hiện các cuộc tấn công “vũ phu” (ý là brute force) trong các tình huống khác nhau. 

Mục lục

  • Giới thiệu về hydra
  • Nhiều tính năng của Hydra
  • Đ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ể
  • 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 vũ phu
  • NULL / Giống như Đăng nhập / Đăng nhập ngược Cố gắng
  • Lưu đầu ra vào đĩa
  • Tiếp tục Cuộc tấn công Brute Force
  • Tạo mật khẩu bằng nhiều bộ ký tự khác nhau
  • Tấn công vào cổng cụ thể thay vì mặc định
  • Thực hiện Tấn công Brute Force trên nhiều máy chủ

Giới thiệu về 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.

Nó hỗ trợ: 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 trên kali linux

Nhiều tính năng của Hydra

Vì chúng tôi đang sử dụng bản dựng GNOME của Kali Linux, do đó, gói “ the-hydra ” đã được bao gồm theo mặc định, tất cả những gì chúng tôi cần làm, mở terminal và chỉ cần nhập “ hydra -h ” và nhấn Enter. Bạn sẽ được chào đón bởi màn hình trợ giúp của nó.

-R: khôi phục phiên bị hủy / gặp sự cố trước đó

-Tô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 ĐĂNG NHẬP 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

-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: thoá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)

dịch vụ: 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)

Nguồn tham khảo: https://tools.kali.org/password-attacks/hydra

Hydra trên kali linux

Đoá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 vũ phu 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ử bạn 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 bạn, bạn 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 đó, bạn 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

Như bạn 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.

Hydra trên kali linux

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

Giả sử bạn 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 bạn, bạn 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 đó, bạn 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ư bạn 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.

Hydra trên kali linux

Bẻ khóa thông tin đăng nhập

Giả sử bạn 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 để đoán kết hợp hợp lệ

Tại thời điểm đó, bạn 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

Như bạn 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.

Hydra trên kali linux

Sử dụng Chi tiết hoặc Chế độ gỡ lỗi để kiểm tra lực lượng vũ phu

Bạn 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, bạn 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 bạn quan sát hình ảnh dưới đây; thì bạn 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.

Hydra trên kali linux

Thậm chí bạn có thể sử dụng tùy chọn -d cho phép chế độ gỡ lỗi và tiết cùng nhau và hiển thị đầy đủ chi tiết của chế độ tấn công.

Hydra trên kali linux

Như bạn 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 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

Hydra trên kali linux

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 bạn quan sát hình ảnh dưới đây thì bạn 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ư bạn 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

Hydra trên kali linux

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.

Hydra trên kali linux

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 bạn, bạn 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ử thứ nhất .

hydra -L user.txt -P pass.txt 192.168.1.108 ftp
hydra -R

Bây giờ bạn 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ó.

Hydra trên kali linux

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

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ư bạn 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.

Hydra trên kali linux

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
Hydra trên kali linux

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

Hydra trên kali linux

Tấn công vào cổng cụ thể thay vì mặc định

Do lo ngại về an ninh; quản trị viên mạng có thể thay đổi số cổng của một dịch vụ trên một cổng khác. Hydra thực hiện cuộc tấn công brute force vào cổng dịch vụ mặc định như bạn có thể thấy ở trên tất cả các cuộc tấn công, nó đã tự động thực hiện cuộc tấn công vào cổng 21 để đăng nhập FTP.

Nhưng bạn có thể sử dụng tùy chọn -s cho phép tham số số cổng cụ thể và khởi động cuộc tấn công vào cổng đề cập thay vì số cổng mặc định.

Giả sử khi quét mạng mục tiêu; Tôi thấy FTP đang chạy cổng 2121 thay vì 21, do đó, tôi sẽ thực hiện lệnh sau cho cuộc tấn công đăng nhập FTP.

hydra -L user.txt -P pass.txt 192.168.1.108 ftp -s 2121

Như bạn 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.

Hydra trên kali linux

Thực hiện tấn công Brute Force trên nhiều máy chủ

Nếu bạn muốn sử dụng từ điển user-pass trên nhiều máy chủ trong một mạng thì bạn có thể sử dụng tùy chọn -M cho phép tham số danh sách máy chủ và thực hiện tấn công brute force bằng cách sử dụng cùng một từ điển và sẽ thử cùng một số lần đăng nhập trên mỗi HOST IP được đề cập trong danh sách của máy chủ.

Ở đây bạn có thể thấy tôi đã lưu hai IP máy chủ trong một tệp văn bản và sau đó sử dụng lệnh sau để thực hiện tấn công brute force trên nhiều máy chủ bằng cách sử dụng cùng một từ điển.

hydra -L user.txt -P pass.txt -M hosts.txt ftp

Như bạn có thể quan sát, nó đã tìm thấy 2 thông tin đăng nhập FTP hợp lệ cho mỗi Máy chủ.

Hydra trên kali linux

Giả sử bạn đã đưa ra một danh sách gồm nhiều mục tiêu và muốn kết thúc cuộc tấn công brute force ngay khi nó tìm thấy thông tin đăng nhập hợp lệ cho bất kỳ IP máy chủ nào, thì bạn nên sử dụng tùy chọn -F cho phép kết thúc tham số khi tìm thấy thông tin xác thực hợp lệ cho một trong hai máy chủ từ bên trong danh sách máy chủ.

hydra -L user.txt -P pass.txt -M hosts.txt ftp -V -F

Như bạn có thể quan sát, nó đã tìm thấy 1 thông tin đăng nhập FTP hợp lệ cho 192.168.1.108 và kết thúc cuộc tấn công.

Hydra trên kali linux

Disclaimer by Hydra – Vui lòng không sử dụng trong quân đội hoặc các tổ chức dịch vụ bí mật, hoặc cho các mục đích bất hợp pháp .