Brute force ssh hydra hướng dẫn

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.

Brute force ssh hydra hướng dẫn

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 đó.

Chào cả nhà, ngày hôm nay của bạn thế nào :D. Mình mới tìm hiểu được một phương pháp hacking mới, mà muốn giới thiệu ngay đến các bạn. Đó chính là phương pháp Brute Force Attack, mà mình sẽ cùng bạn tìm hiểu, và cách để thực hiện nó trên nền tảng Kali Linux. Bài viết sẽ cố gắng trình bày một cách đơn giản nhất, và giải thích tất cả mọi thứ mà bạn muốn biết.

Bạn đang xem: Hướng dẫn sử dụng phần mềm brute force

Đầu tiên, SSH là gì ?

Đối với những nhà quản trị hệ thống, hẳn sẽ đều không còn xa lạ với thuật ngữ này. SSH là cụm từ viết tắt của Secure Shell, truy cập đến một máy từ xa thông qua cơ chế dòng lệnh đã được mã hóa. SSH giúp người dùng dễ dàng kết nối đến local và truy cập điều khiển máy tính từ xa. Trên các hệ thống Linux/Unix, SSH có thể dễ dàng được cài đặt, tương tự như các máy tính Windows.


Ứng dụng của SSH ?

Như đã trình bày, SSH cung cấp khả năng xác thực mạnh mẽ, và dữ liệu kết nối được mã hóa giữa 2 máy tính trên một môi trường không an toàn như là Internet. Hiện nay, giao thức này đã được dùng bởi hầu hết các nhà quản trị hệ thống để kết nối remote đến các máy khác, để thực hiện các thao tác dòng lệnh, tạo, sửa, xóa file trên các máy khác.

SSH sử dụng thuật toán mã hóa RSA, tạo ra một đường hầm kết nối giữa máy chủ và máy remote. Dữ liệu trao đổi qua lại giữa 2 máy này sẽ được mã hóa để không bị hacker bắt gói tin và giải mã.


Brute Force Attack là gì ?

Brute force ssh hydra hướng dẫn

Bức hình bên trên đã minh họa hoàn tòan phương thức Brute Force Attack là gì. Nào chúng ta hãy cùng nhìn kỹ hơn và tìm hiểu xem cơ chế hoạt động của nó diễn ra như thế nào.

Brute Force Attack hoạt động bằng cách test lần lượt từng tổ hợp các password có thể được dùng bởi người dùng, sau đó kiểm tra nó để xem có phải là mật khẩu chính xác hay không. Để biết được rằng password là đúng hay sai, nó sẽ check lại kết quả trả về của Server.

Với những password có độ dài càng cao, thì thời gian để dò ra mật khẩu cũng sẽ theo đó mà tăng lên. Vì thế chúng ta hiểu vì sao mà những chuyên gia bảo mật luôn khuyến khích người dùng đặt mật khẩu với độ dài càng nhiều càng tốt.

Trong nhiều trường hợp, chúng tôi đã sử dụng phương thức dictionary attack để dò ra mẫu Password đúng. Ở phương thức này, mình được cung cấp một tool với một list những password có thể được sử dụng cho các hệ thống mục tiêu, và nó sẽ bắt đầu dò cho đến khi password khớp với mẫu mà user sử dụng.

Những password tương đối yếu như “ 123456 ” hoặc “ password “ , dù ít nhưng vẫn có người sử dụng, và nếu may mắn, chúng ta có thể mở khóa mật khẩu với thời gian nhanh nhất.

Tấm hình này diễn tả phương thức làm việc của Brute Force attack.

Brute force ssh hydra hướng dẫn

Brute Force SSH :

Để thực hiện đợt tấn công này, chúng ta cần một danh sách các từ thường được dùng để đặt mật khẩu, và công cụ sẽ liên tục thực hiện tổ hợp các từ này lại với nhau để tạo nên từng mẫu password. Nguồn danh sách các từ khóa password thường được dùng có thể tham khảo ở đây.

Một ví dụ của dạng Password này đó là “thanhtam0911” trong đó Thanh Tâm là tên người bị hack, 09-11 là ngày tháng sinh của họ. Một chương trình rất tốt có thể dùng để dịch các từ khóa này là Ex0dus_0x’s D0xk1t, có thể tải về ở đây.

Bạn cũng có thể tải về những danh sách từ khóa khác bằng cách nhập command :

wget http://zeldor.biz/other/bruteforce/passlist.txt

wget https://downloads.skullsecurity.org/passwords/500-worst-passwords.txt.bz2

https://hashes.org/crackers.php

https://wiki.skullsecurity.org/Passwords

và nếu bạn đang sử dụng Kali Linux, bạn có thể thấy danh sách từ khóa mặc định được đặt ở :

/usr/share/wordlists/rockyou.txt.gz

Scan SSH Server sử dụng NMAP :

Sau khi đã chuẩn bị đầy đủ các tool để tấn công, bước tiếp theo cần làm đó là tìm ra server nào đang chạy SSH. Chúng ta sẽ dùng NMAP để Scan port 22, là port của dịch vụ SSH.

Ở ví dụ này, do chỉ cần tìm SSH Server trong hệ thống mạng nội bộ, chúng ta sẽ tiến hành scan hệ thống mạng 192.168.1.0/24. Dưới đây là câu lệnh NMAP mà bạn có thể dùng để Scan tất cả máy tính :

nmap 192.168.1.0/24 -p22

Brute force ssh hydra hướng dẫn

Scan một máy xác định :

Nếu bạn muốn thử tấn công trên một remote server nhất định, thì phải tiến hành scan port ssh đang mở trên nó, dùng câu lệnh :

nmap -p22

Tiến hành tấn công Brute Force SSH :

Sau khi hoàn thành tất cả các khâu chuẩn bị, chúng ta sẽ đi đến phần chính của bài viết, tấn công Brute Force. Những tool được sử dụng gồm có :

HydraNCrackMedusa

Sử dụng Hydra :

Hydra là tool được sử dụng phổ biến, rất mạnh mẽ. Nếu bạn sử dụng hệ điều hành Kali Linux, thì tool này đã được cài đặt sẵn. Và với các phiên bản Debian khác, hãy sử dụng câu lệnh :

sudo apt-get install hydra hydra-gtk

Phiên bản Hydra 8.0 : có thể được Install từ repository : ppa:pi-rho/security

sudo add-apt-repository ppa:pi-rho/security

sudo apt-get update

sudo apt-get install hydra

Một phương án cài khác :

wget http://www.thc.org/releases/hydra-8.3.tar.gz

tar -xvzf hydra-8.3.tar.gz

cd hydra-8.3 ./configure make

make install

sau khi cài đặt, chúng ta đã có thể tiến hành cuộc tấn công.

Lệnh sử dụng hydra :

:~/Desktop# hydra -l root -P ‘/root/Desktop/500-worst-passwords.txt’ 192.168.1.31 ssh

Brute force ssh hydra hướng dẫn

Như đã thấy, Hydra đã thành công trong việc tìm ra tài khoản và password được sử dụng để login vào hệ thống.

Đây là video giải thích tiến trình tấn công.

Sử dụng NCrack :

Tool thứ 2 được dùng là NCrack, cũng được cài đặt sẵn trong Kali Linux và bạn cũng có thể cài đặt nó trong các phiên bản Debian khác :

wget https://nmap.org/ncrack/dist/ncrack-0.5.tar.gz

tar -xvzf ncrack-0.5.tar.gz

cd ncrack-0.5

./configure

make

make install

Tiến trình cài đặt sẽ diễn ra và sau đó có thể chạy tool để crack password.

:~/Desktop# ncrack -p 22 –user root -P ‘/root/Desktop/500-worst-passwords.txt’ 192.168.1.31

Tool đã dò ra được username và Password. Dưới đây là Video hướng dẫn.

Sử dụng Medusa :

Đây là tool cuối cùng trong bài viết có thể được dùng để tiến hành Brute Force Attack, tiến hành cài đặt tool :

wget http://www.foofus.net/jmk/tools/medusa-2.0.tar.gz

tar -xvzf medusa-2.0.tar.gz

cd medusa-2.0

./configure

make

make install

Câu lệnh dùng để Crack Password :

:~/Desktop# medusa -u root -P ‘/root/Desktop/500-worst-passwords.txt’ -h 192.168.1.31 -M ssh

Như đã thấy trên hình, phần mềm đã dò ra được user và password. Dưới đây là video Minh họa.

Vậy nếu rơi trường hợp là nạn nhân, bạn phải làm gì để phòng tránh cuộc tấn công ?

Những phương pháp thường được khuyến nghị để né tránh các cuộc tấn công thường được triển khai như :

Chạy SSH trên những Port khác ( khác 22 )Block SSH Login với tài khoản Root User.Cài đặt sử dụng Fail2ban.Giới hạn số lần đăng nhập của người dùng.

Xem thêm: Hướng Dẫn Cài Đặt Và Sử Dụng Amibroker, Hướng Dẫn Cài Đặt Amibroker 6

Tổng kết :

Qua bài thử nghiệm, chúng ta rút ra được một kinh nghiệm đó là : không bao giờ sử dụng Password đơn giản. Và chúng ta cũng đã biết cách dùng các Tool để test và kiểm nghiệm các vấn đề. Nếu bạn có bất kì góp ý nào hãy để lại comment bên dưới bài, rất vui vì những đóng góp để Website ngày càng hoàn thiện hơn.

Huong dan brute force attackBrute force attack ssh serverBrute force attack toolPrevent brush force attack ssh server