1. Trang chủ
  2. » Kỹ Năng Mềm

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

30 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 1,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lời mở đầu Trong thế giới ngày nay, phần lớn mọi người thường nhận thức được rằng người dùng nguy hiểm và tin tặc có thể lấy cắp thông tin bí mật của họ thông qua các cuộc tấn công khác

Trang 1

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

Học phần An toàn và bảo mật hệ thống thông tin

Bài báo cáo : Tìm hiểu về medusa

Sinh viên thực hiện: Trần Thanh Tùng

Trang 2

Lời mở đầu

Trong thế giới ngày nay, phần lớn mọi người thường nhận thức được rằng người dùng nguy hiểm và tin tặc có thể lấy cắp thông tin bí mật của họ thông qua các cuộc tấn công khác nhau Tuy nhiên, hầu hết mọi người không thực sự tìm hiểu các cuộc tấn công cụ thể mà họ dễ bị tấn công Vì vậy, trong bài viết này, Chúng ta sẽ tìm hiểu về Tấn công bằng mật khẩu

Tấn công bằng mật khẩu có nghĩa là một bên thứ ba cố gắng truy cập vào

hệ thống của bạn bằng cách bẻ khóa mật khẩu của người dùng, điều này nghe có

vẻ bất hợp pháp nhưng tùy thuộc vào người dùng, chúng ta muốn sử dụng nó cho việc tốt hay việc xấu Tấn công bằng mật khẩu rất hữu ích trong các Sự kiện mạng khác nhau cũng như có thể thực hiện nó trên hệ thống của riêng mình trong trường hợp chúng ta quên mật khẩu Trong bài viết này, chúng tôi sẽ tìm hiểu và thực hiện các cuộc tấn công với sự trợ giúp của công cụ Medusa trong Kali Linux

Trang 3

Mục lục

Chương I Khái quát về medusa 5

1 Giới thiệu về Medusa 5

2 Các tính năng chính của ứng dụng. 5

Thử nghiệm song song dựa trên luồng: 5

Đầu vào của người dùng linh hoạt: 5

Thiết kế mô-đun: 5

Nhiều giao thức được hỗ trợ: 5

3 Cách cài đặt medusa 5

Trên Kali linux 6

Trên Debain, Ubuntu, Linux Mint 6

4 Các lệnh trong medusa 6

5 Tùy chọn mô-đun của medusa 11

Chương II Demo 23

Demo 1: Tấn công vét cạn sử dụng Medusa 23

Demo 2: Tấn công vét cạn sử dụng telnet 25

Kết luận 29

Tài liệu tham khảo 29

Trang 4

Danh sách các thuật ngữ viết tắt

Trang 5

Chương I Khái quát về medusa

1 Giới thiệu về Medusa

Medusa là 1 công cụ tấn công vét cạn đăng nhập theo mô-đun, tốc độ và song song Đó là 1 công cụ rất nhanh và mạnh Medusa được sử dụng để vét cạn các thông tin đăng nhập trong càng nhiều giao thức càng tốt, điều này cuối cùng dẫn đến việc thực thi lệnh từ xa Medusa hiện có hơn 21 mô-đun, một số trong

đó là : PcAnywhere, POP3, CVS, FTP, HTTP, IMAP, SMB, SMTP (VRFY), SNMP, SSHv2, MS-SQL, MySQL, NCP (NetWare), PostgreSQL, rexec, rlogin, rsh, Telnet, SVN, VNC, VmAuthd và một mô-đun bao bọc Kali linux đi kèm với Medusa được cài đặt sẵn

2 Các tính năng chính của ứng dụng

Thử nghiệm song song dựa trên luồng:

Thử nghiệm tấn công vét cạn có thể được thực hiện đồng thời với nhiều máy chủ, người dùng hoặc mật khẩu

Đầu vào của người dùng linh hoạt:

Thông tin mục tiêu (máy chủ/ người dùng / mật khẩu) có thể được chỉ định theo nhiều cách khác nhau Ví dụ: mỗi mục có thể là một mục nhập duy nhất hoặc một tệp chứa nhiều mục nhập Ngoài ra, định dạng tệp kết hợp cho phép người dùng tinh chỉnh danh sách mục tiêu của họ

Thiết kế mô-đun:

Mỗi mô-đun dịch vụ tồn tại dưới dạng tệp mod độc lập Điều này có nghĩa là không cần sửa đổi đối với ứng dụng cốt lõi để mở rộng danh sách các dịch vụ

được hỗ trợ cho hành vi vét cạn

Nhiều giao thức được hỗ trợ:

Nhiều dịch vụ hiện đang được hỗ trợ (ví dụ: SMB, HTTP, POP3, MS-SQL, SSHv2 và những dịch vụ khác)

3 Cách cài đặt medusa

Trang 6

Trên Kali linux

Thường thì trên kali linux đã tổng hợp sẵn medusa

Để kiểm tra phiên bản kali linux đã được cài medusa hay chưa chúng ta chỉ cần nhập medusa trong cmd để biết

Trên Debain, Ubuntu, Linux Mint

Link download medusa: https://github.com/jmk-foofus/medusa

4 Các lệnh trong medusa

Trang 7

Tệp chứa các mục kết hợp Các tệp kết hợp được phân tách bằng dấu hai chấm

và ở định dạng sau: máy chủ: người dùng: mật khẩu Nếu bất kỳ trường nào trong số ba trường được để trống, thông tin tương ứng phải được cung cấp dưới dạng một giá trị chung duy nhất hoặc dưới dạng danh sách trong tệp

Có thể có các kết hợp sau trong tệp kết hợp:

Trang 8

1.) foo: bar: fud 2.) foo: bar:

3.) foo ::

4.): bar: fud 5.): bar:

6.) :: fud 7.) foo :: fud

Medusa cũng hỗ trợ sử dụng tệp PwDump dưới dạng tệp kết hợp Định dạng của các tệp này phải là user: id: lm: ntlm ::: Chúng ta tìm kiếm ':::' ở cuối dòng đầu tiên để xác định xem tệp có chứa đầu ra PwDump hay không

-O [file]

Tệp để nối thông tin nhật ký vào Medusa sẽ ghi lại tất cả thông tin đăng nhập tài khoản được tìm thấy là hợp lệ hoặc gây ra lỗi không xác định Nó cũng sẽ ghi lại thời gian bắt đầu và dừng của một cuộc kiểm tra, cùng với các tham số gọi

-e [n/ s/ ns]

Kiểm tra mật khẩu bổ sung ([n] Không có mật khẩu, [s] Mật khẩu = Tên người dùng) Nếu cả hai tùy chọn đang được sử dụng, chúng phải được chỉ định cùng nhau ("-e ns") Nếu chỉ có một tùy chọn được gọi, hãy sử dụng "-e n" hoặc "-e s"

-d

Xóa tất cả mô-đun đã biết

Trang 9

-T [NUM]

Tổng số máy chủ được kiểm tra đồng thời

Trang 10

4) tài khoản được tìm thấy 5) kiểm tra tài khoản 6) thông điệp chung

Trang 11

2) nguy hiểm 3) lỗi

4) cảnh báo 5) thông báo 6) thông tin 7) gỡ lỗi 8) gỡ lỗi -kiểm toán 9) gỡ lỗi - máy chủ 10) gỡ lỗi - mô- đun

-V

Phiên bản hiển thị

-Z [TEXT]

Cho phép tiếp tục cơ bản của quá trình quét trước đó Tham số được cung cấp

mô tả máy chủ nào đã được hoàn thành, máy chủ nào đã được kiểm tra một phần

và máy chủ nào chưa được khởi động Khi Medusa nhận được SIG ‐ INT, nó sẽ tính toán và hiển thị "sơ đồ lý lịch" Bản đồ này sau đó có thể được cung cấp cho lần chạy tiếp theo Ví dụ:

"medusa [OPTIONS PREVIOUSLY USED] -Z h6u1u2h8." Trong ví dụ cụ thể này, máy chủ 1-5 đã hoàn thành, máy chủ 6 đã hoàn thành một phần (người dùng 1 đã hoàn thành một phần và người dùng 2 trở lên chưa được khởi động), máy chủ 7 đã hoàn thành và máy chủ 8 trở lên chưa được khởi động Medusa sẽ phân tích cú pháp bản đồ này và bỏ qua các máy chủ và người dùng tương ứng Cần lưu ý rằng chỉ máy chủ và cấp người dùng, không vượt qua

5 Tùy chọn mô-đun của medusa

Trang 12

Các mô-đun medusa có sẵn :

Afp.mod: mô-đun tấn công vét cạn cho các phiên AFP

Cvs.mod: mô-đun tấn công vét cạn cho các phiên CVS

Ftp.mod: mô-đun tấn công vét cạn cho các phiên FTP/FTPS

Http.mod: mô-đun tấn công vét cạn cho HTTP

Imap.mod : mô-đun tấn công vét cạn cho các phiên IMAP

Mssql.mod : mô-đun tấn công vét cạn cho các phiên MSSQL

Mysql.mod : mô-đun tấn công vét cạn cho các phiên MySQL

nntp.mod : mô-đun tấn công vét cạn cho các phiên NNTP

pcanywhere.mod :mô-đun tấn công vét cạn cho các phiên PcAnywhere pop3.mod : mô-đun tấn công vét cạn cho các phiên POP3

postgres.mod: Mô-đun Tấn công vét cạn cho các phiên PostgreSQL

rdp.mod: Mô-đun Tấn công vét cạn cho các phiên RDP (Microsoft

Terminal Server)

rexec.mod: Mô-đun Tấn công vét cạn cho các phiên REXEC

rlogin.mod: Mô-đun Tấn công vét cạn cho các phiên RLOGIN

rsh.mod: Mô-đun Tấn công vét cạn cho các phiên RSH

smbnt.mod: Mô-đun Tấn công vét cạn cho các phiên SMB (LM / NTLM / LMv2 / NTLMv2)

smtp-vrfy.mod:Mô-đun Tấn công vét cạn để xác minh tài khoản SMTP (VRFY / EXPN / RCPT TO)

smtp.mod: Mô-đun Tấn công vét cạn để Xác thực SMTP với TLS

snmp.mod: Mô-đun Tấn công vét cạn cho Chuỗi cộng đồng SNMP

ssh.mod: Mô-đun Tấn công vét cạn cho các phiên SSH v2

svn.mod: Mô-đun Tấn công vét cạn cho các phiên Subversion

telnet.mod: Mô-đun Tấn công vét cạn cho các phiên telnet

vmauthd.mod: Mô-đun Tấn công vét cạn cho VMware Authentication Daemon

vnc.mod: Mô-đun Tấn công vét cạn cho các phiên VNC

Trang 13

web-form.mod: Mô-đun Tấn công vét cạn cho biểu mẫu web

wrapper.mod: Mô-đun trình bao bọc chung

MODE:? (NORMAL*, EXPLICIT, IMPLICIT)

EXPLICIT: AUTH TLS được định nghĩa trong RFC 4217

Explicit FTPS (FTP/SSL) kết nối với dịch vụ FTP Tuy nhiên, trước khi gửi bất kỳ thông tin đăng nhập nào, lệnh "AUTH TLS" được đưa ra và phiên SSL được thương lượng

IMPLICIT: FTP over SSL (990/tcp) FTPS ngầm yêu cầu thực hiện bắt tay SSL trước khi gửi bất kỳ lệnh FTP nào Dịch vụ này thường nằm trên tcp / 990 Nếu người dùng chỉ định tùy chọn này hoặc sử dụng tùy chọn "-n" (SSL), mô-đun sẽ mặc định ở chế độ này và tcp / 990

NORMAL Hành vi mặc định nếu không có MODE nào được chỉ định Xác thực được cố gắng rõ ràng Nếu máy chủ yêu cầu mã hóa cho người dùng nhất định FTPS rõ ràng được sử dụng

3) http

Các tùy chọn mô-đun có sẵn

Trang 14

USER-AGENT:? (User-Agent Default: Mozilla/1.22 (compatible; MSIE 10.0; Windows 3.1))

DIR:? (Target directory Default "/")

AUTH:? (Authentication Type (BASIC/DIGEST/NTLM) Default: automatic)

DOMAIN:? [optional]

CUSTOM-HEADER:? Additional HTTP header

Nhiều tiêu đề hơn có thể được xác định bằng cách sử dụng tùy chọn này nhiều lần

Lưu ý: Hành vi mặc định của xác thực NTLM là sử dụng tên miền

do máy chủ cung cấp Để nhắm mục tiêu các tài khoản cục bộ chứ không phải tên miền, hãy sử dụng tùy chọn DOMAIN để tham chiếu hệ thống cục bộ: "-m DOMAIN: 127.0.0.1"

4) imap

Các tùy chọn mô-đun có sẵn:

TAG:? (Default: gerg)

AUTH:? (Authentication Type (LOGIN/PLAIN/NTLM) Default: automatic)

DOMAIN:? [optional]

Tùy chọn DOMAIN phải cung cấp miền được chỉ định một cách thích hợp, bất kể loại xác thực là gì Miền cũng có thể được cung cấp thông qua trường tên người dùng, nhưng định dạng có vẻ khác nhau theo loại xác thực

Trang 15

5) mssql

LƯU Ý: Phiên bản dành cho nhà phát triển MS-SQL hoặc thống đốc khối lượng công việc đồng thời của MSDE giới hạn bạn không quá năm kết nối đồng thời tới máy chủ cùng một lúc

6) mysql

Các tùy chọn mô-đun có sẵn:

PASS:? (PASSWORD*, HASH) Trong đó

PASSWORD: Sử dụng mật khẩu bình thường

HASH: Sử dụng hàm băm thay vì mật khẩu (Chỉ sử dụng hàm băm không phải SHA-1)

Trang 16

Mô-đun sẽ truy vấn dịch vụ cho các phương thức được chấp nhận thông qua yêu cầu "AUTH"

USER (clear-text), SASL PLAIN, SASL LOGIN, and SASL NTLM

phương pháp xác thực được hỗ trợ

DOMAIN:? [optional]

thực NTLM Hành vi mặc định là sử dụng giá trị miền do máy chủ cung cấp

Trang 17

những người dùng mà bạn nghi ngờ có thể có rhosts / hosts.equiv cho phép nguồn của bạn

và sau đó cố gắng kiểm tra thông tin xác thực đối với máy chủ Nếu tài khoản không tồn tại cục bộ trên máy chủ đang được kiểm tra, thì máy chủ đó sẽ truy vấn bộ điều khiển miền của nó

HASH: Sử dụng hàm băm NTLM thay vì mật khẩu

AUTH:? (LM, NTLM, LMv2*, NTLMv2)/ Tùy chọn đặt mức xác thực trình quản lý mạng LAN

Trang 18

không Các ví dụ sau đây nêu bật cách ngắt câu trả lời

Trang 19

MAILFROM:? [optional]

VERB:? (Verb/Command: VRFY/EXPN/RCPT TO Mặc định: RCPT TO

*** LƯU Ý: Tên miền địa chỉ đích phải được chỉ định trong trường mật khẩu ***

ACCESS:? (READ*, WRITE) Đặt cấp độ truy cập để kiểm tra với chuỗi cộng đồng

Trang 20

phản hồi nào, chúng tôi sẽ kiểm tra chúng để xem chuỗi cộng đồng nào đã thành công Nếu ACCESS: WRITE được chỉ định, chúng tôi sẽ kiểm tra quyền ghi trên từng giá trị thành công trước đó Kỹ thuật này sẽ cho phép nhanh chóng cưỡng bức vũ phu Tuy nhiên, bạn nên cẩn thận với các giá trị TIMEOUT và SEND_DELAY để tránh gây ra sự cố với dịch vụ đích hoặc thiếu dữ liệu phản hồi

20) vnc

Các tùy chọn mô-đun có sẵn:

MAXSLEEP:?

Trang 21

Đặt thời gian ngủ tối đa cho phép khi gặp phải độ trễ chống bạo lực VNC RealVNC Giá trị này tính bằng giây và, nếu không được đặt, giá trị mặc định là

60

DOMAIN:?

Đặt giá trị miền khi xác thực dựa trên tính năng MS-Logon của UltraVNC

Một số phiên bản của VNC được tích hợp chức năng chống bạo lực

RealVNC, ví dụ, cho phép 5 lần thử không thành công và sau đó thực thi độ trễ

10 giây Đối với mỗi lần thử tiếp theo, độ trễ sẽ tăng lên gấp đôi UltraVNC dường như cho phép 6 lần thử không hợp lệ và sau đó buộc phải trì hoãn 10 giây giữa mỗi lần thử tiếp theo Mô-đun này cố gắng xác định những tình huống này

và phản ứng thích hợp bằng cách gọi giấc ngủ () Người dùng có thể đặt giới hạn ngủ khi cưỡng bức RealVNC bằng cách sử dụng tham số MAXSLEEP Khi đã đạt đến giá trị này, mô-đun sẽ thoát

Cần lưu ý rằng mô-đun này hiện hỗ trợ các máy chủ VNC không có mật khẩu và chỉ có mật khẩu Ngoài ra, nó hỗ trợ tính năng MS-Logon của

UltraVNC có thể được sử dụng để cung cấp xác thực chuyển qua tài khoản Windows cục bộ và miền Trong trường hợp VNC chỉ có mật khẩu cơ bản, hãy cung cấp bất kỳ giá trị tên người dùng tùy ý nào

21) web-form

Các tùy chọn mô-đun có sẵn:

USER-AGENT:? User-agent value Default: "I'm not Mozilla, I'm Ming Mong"

FORM:? Target form to request Default: "/"

được gắn cờ là thành công nếu văn bản không có trong phản hồi của máy chủ Mặc định: "Login incorrect"

CUSTOM-HEADER:? Custom HTTP header

Trang 22

Nhiều tiêu đề hơn có thể được xác định bằng cách sử dụng tùy chọn này nhiều lần

FORM-DATA:<METHOD>?<FIELDS>

Các phương thức và trường để gửi tới dịch vụ web Các phương thức hợp

lệ là GET và POST Dữ liệu biểu mẫu thực tế sẽ được gửi cũng phải được xác định ở đây Cụ thể là các trường: tên người dùng và mật khẩu Trường tên người dùng phải là trường đầu tiên, tiếp theo là trường mật khẩu

Mặc định: "post?username=&password="

22) wrapper

% H: Được thay thế bằng địa chỉ IP mục tiêu

% U: Đã thay thế bằng tên người dùng để kiểm tra

% P: Đã thay thế bằng mật khẩu để kiểm tra

Trang 23

Chương II Demo

Demo 1: Tấn công vét cạn sử dụng Medusa

đầu cuối

dưới đây: sudo service ssh start

Trang 24

B3: Để bẻ khóa mật khẩu cho dịch vụ ssh, hãy nhập lệnh dưới đây:

medusa –h 192.168.179.129 -u kali -P /home/kali/Desktop/Password.txt -M ssh

với

-h - được sử dụng để chỉ định Máy chủ mục tiêu hoặc địa chỉ IP

-u - có nghĩa là tên người dùng để kiểm tra

-P - chúng ta có thể sử dụng -p để kiểm tra một mật khẩu hoặc -P để sử dụng

một tệp văn bản chứa nhiều Mật khẩu cho Brute Force Attack

-M - Nó có nghĩa là tên của mô-đun để thực thi, ta đang sử dụng ssh ở đây

-n - Có nghĩa là số cổng

Trang 25

Demo 2: Tấn công vét cạn sử dụng telnet

B1: kiểm tra các file

B2 : kiểm tra trong các file có chứa tài khoản và mật khẩu

Trang 26

B3: kiểm tra kết nối với máy chủ mục tiêu

Trang 27

-U là chỉ đến thư mục chứa tài khoản

-p là chỉ đến thư mục chứa mật khẩu

Trang 29

Kết luận

Bài báo cáo đã trình bày được cái khái niệm tổng quát và tất cả các lệnh của medusa cùng với các mô-đun từ đó ứng dụng vào tấn công vét cạn lấy mật khẩu để thấy được cách mà các tin tặc có thể sử dụng để lấy mật khẩu từ xa

Bài báo cáo cũng tìm hiểu về các dạng tấn công của medusa để tìm ra giải pháp phòng chống tin tặc có thể xâm nhập và lấy đi các dữ liệu quan trọng trong máy tính

Tuy nhiên công cụ medusa vẫn cần chúng ta phải có file chứa mật khẩu hoặc tài khoản để có thể vét cạn và lấy được mật khẩu của mục tiêu và đó là yếu điểm lớn nhất của công cụ này

Trang 30

Tài liệu tham khảo

[1] lalitmohantiwari7700, "Password Cracking with Medusa in Linux," 20 12

2020 [Online] Available:

https://www.geeksforgeeks.org/password-cracking-with-medusa-in-linux/

[2] J Mondloch, "Penetration Testing Tools," [Online] Available:

https://en.kali.tools/?p=200

[3] H4ck0, "Bruteforce Password Cracking With Medusa – Kali Linux," 23 4

2018 [Online] Available: cracking-medusa-kali-linux/

Ngày đăng: 08/01/2022, 10:52

TỪ KHÓA LIÊN QUAN

w