1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tấn công sử dụng metasploit

28 951 21

Đ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 28
Dung lượng 1,95 MB

Nội dung

Giới thiệu về MetasploitMetasploit cung cấp một nền framework cho chúng ta phát hiện các lỗhổng và thực hiện khai thác... Rex là viết tắt của Ruby Extension Library, la

Trang 1

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TOÀN THÔNG TIN

BÀI TẬP LỚN Môn An Toàn Hệ Điều Hành

Vũ Đức Mạnh Nguyễn Tuấn Anh

Hà Nội, 2014

Trang 2

M c l c ục lục ục lục

Chương 1 Tổng quan về Metasploit 4

1.1 Giới thiệu 4

1.1.1 Lỗ hổng là gì? 4

1.1.2 Sự kiện nổi bật 4

1.1.3 Giới thiệu về Metasploit 4

1.2 Metasploit Framework 6

1.2.1 Kiến trúc của Metasploit Framework 6

1.2.2 Các thuật ngữ thường dùng 8

1.2.3 Giao diện của Metasploit 11

1.2.4 Các câu lệnh trong msfconsole 15

1.2.5 Các tiện ích hỗ trợ trong Metasploit 18

1.3 Quy trình khai thác với Metasploit 19

1.4 Một số công cụ khai thác lỗ hổng bảo mật 20

1.4.1 Core Impact 20

1.4.2 Canvas 20

1.4.3 Nessus 21

Chương 2 Quét và Khai thác lỗ hổng với Metasploit 22

KẾT LUẬN 27

Tài liệu tham khảo 28

Trang 3

DANH MỤC HÌNH V

Hình 1.1: Vòng đời phát hiện và khai thác lỗ hổng 5

Hình 1.2: Kiến trúc của Metasploit Framework 6

Hình 1.3: Giao diện web của Metasploit 8

Hình 1.4: Một số Payload thường sử dụng 9

Hình 1.5: Giao diện MSFconsole 11

Hình 1.6: Tùy chọn cho msfd 13

Hình 1.7: Mở giao diện armitage trên menu của BackTrack 14

Hình 1.8: Giao diện Armitage 14

Hình 1.9: Quy trình làm việc với Metasploit 19Y Hình 2.1: Mô hình khai thác 22

Hình 2 2: Mở armitage trên BackTrack 23

Hình 2.3:Sau khi quét các máy trong mạng 24

Hình 2.4: Máy tính bị chiếm quyền (chế độ console) 26

Hình 2.5: Máy tính bị chiếm quyền (chế độ đồ họa) 26

Trang 4

Chương 1 Tổng quan về Metasploit

1.1 Giới thiệu

1.1.1 Lỗ hổng là gì?

Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sựngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép cáctruy nhập không hợp pháp vào hệ thống Các lỗ hổng cũng có thể nằm ngay cácdịch vụ cung cấp như sendmail, web, ftp Ngoài ra các lỗ hổng còn tồn tạingay chính tại hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặctrong các ứng dụng mà người sử dụng thương xuyên sử dụng như Wordprocessing, các hệ databases

1.1.2 Sự kiện nổi bậtHội nghị Blackhat tại Las Vegas năm 2004 diễn ra với tiêu đề của cuộcnói chuyện là “Hacking like in the movies” Tại đây, HD Moore và Spoonm đãtrình bày sự xuất hiện của công cụ Metasploit Framework version 2.2 Hai mànhình chính bừng sáng với một màn hình đen chiếu những hành động bằng dònglệnh của Metasploit Framework( MSF) và một màn hình xanh chiếu một hệthống windows đang bị làm tổn hại Những tràng vỗ tay xuyên suốt màn trìnhdiễn, mọi người đồng thuận rằng:”Metasploit had come of age” Với sự ra đờicủa MSF 3.0 thì toàn bộ cách tiếp để kiểm tra an toàn thông tin như là một cuộccách mạng Sự ra mắt này là một trong những sự kiện thú vị nhất trong thời giangần đây

1.1.3 Giới thiệu về MetasploitMetasploit cung cấp một nền( framework) cho chúng ta phát hiện các lỗhổng và thực hiện khai thác Vòng đời điển hình của một lỗ hổng và cách khaithác nó như sau:

Trang 5

Hình 1.1: Vòng đời phát hiện và khai thác lỗ hổng

1 Discovery (phát hiện): một nhà nghiên cứu bảo mật hoặc nhà cung

cấp phát hiện ra một khả năng dễ bị tổn thương trong phần mềm

2 Disclosure( tiết lộ): nhà nghiên cứu bảo mật thông báo cho nhà

cung cấp

3 Analysis( phân tích): các nhà nghiên cứu hoặc những người khác

trên toàn thế giới bắt đầu phân tích lỗ hổng để xác định khả năngkhai thác của nó Nó có thể được khai thác hay không? Hay là khaithác từ xa? Chiều dài của đoạn mã khai thác được tiêm vào là gì?Giai đoạn này cũng bao gồm việc gỡ lỗi các ứng dụng dễ bị tổnthương

4 Exploit development( phát triển khai thác): một câu trả lwoif cho

những câu hỏi quan trọng đã được xác định, quá trình phát triểnkhai thác bắt đầu Điều này đòi hỏi sự hiểu biết về sâu sắc về cácthanh ghi của bộ xử lý, mã assembly, địa chỉ offsets, và payload

5 Testing( kiểm tra): đây là giai đoạn các coder kiểm tra mã khai

thác đối với các nền tảng khác nhau, gói dịch vụ( service pack),hoặc hoặc các bản vá lỗi và thậm chí có thể là đối với các bộ xử lýkhác nhau

6 Release( phát hành): Sau khi khai thác được thử nghiệm và các

thông số cụ thể cần thiết cho nó thực thi thành công đã được xácđịnh, coder sẽ phát hành khai thác hoặc riêng tư hoặc trên diễn đàncông cộng Thỉnh thoảng, khai thác sẽ được tinh chỉnh

Metasploit là một dự án bảo mật máy tính cung cấp các thông tin về vấnđề lỗ hổng bảo mật cũng như giúp đỡ về kiểm tra xâm nhập và phát triển hệ

Trang 6

thống phát hiện xâm nhập Một dự án con rất nổi tiếng của Metasploit làMetasploit Framework.

Metasploit Framework là một môi trường dùng để kiểm tra, tấn công vàkhai thác lỗi của các service Metasploit được xây dựng trên ngôn ngữ hướngđối tượng Perl, với những components được viết bằng C, Assembler và Python.Metasploit có thể chạy trên hầu hết các hệ điều hành: Linux, Windows, MacOS.Chúng ta có thể download chương trình Metasploit tại www.metasploit.com

Metasploit đã được tích hợp sẵn trong Backtrack 5R3 Phiên bản mới nhấtcủa Metasploit là v4.9

Một số hạn chế của nền tảng này là:

 Các giao diện truy cập từ xa của sản phẩm này, chủ yếu là msfcli vàmsfweb, không cung cấp bất kì một xác thực người dùng từ xa nào,và có thể dẫn đến khai thác sai

 Không khai thác cho lỗ hổng trên nền web

1.2 Metasploit Framework

1.2.1 Kiến trúc của Metasploit Framework

Hình 1.2: Kiến trúc của Metasploit Framework.

Trang 7

Những thành phần chính trong kiến trúc của một Framework bao gồm:

1 Rex: là thành phần cơ bản nhất của toàn bộ kiến trúc Framework.

Rex là viết tắt của Ruby Extension Library, là một tập hợp các lớp,modun có thể được sử dụng bởi các nhà phát triển để phát triển cácdự án hoặc các công cụ cho MSF (Metasploit Framework)

2 Framework Core(khung lõi): bao gồm một tập các hệ thống con

như các modun quản lý, quản lý phiên, sự kiện điều phối… Lõicũng cung cấp cho ta một giao diện tới các modun, tiện ích bổ sungcủa Framework Khung lõi bao gồm:

giá trị băm có thể được sử dụng bởi các modun tham chiếuđến chương trình hay các bằng các giá trị điều khiển Biếnmôi trường là một trong những giá trị như vậy, nó được sửdụng bởi các modun khai thác hay bởi các framework để xácđịnh chính xác các hành vi được thực hiện

phát triển đưa ra các hành động cụ thể với từng sự kiện hayhành động xảy ra Mỗi một sự kiện sẽ có một cách thức xử lýtương ứng với nó

Framework Managers:có nhiệm vụ quản lý các modun,

plugin, sessions, jobs

3 Framework Base(khung cơ sở): được xây dựng dựa trên khuôn

khổ của khung lõi, cung cấp giao diện để có thể dễ dàng thực thicác lõi Một số khung cơ sở:

Configuration: duy trì một cấu hình liên tục và thu thập

thông tin về cấu trúc của tiến trình cài đặt, chẳng hạn như thưmục gốc của quá trình cài đặt hay các thuộc tính khác

Sessions:những thông tin cơ bản về việc duy trì, kiểm soát

các hành vi trong phiên làm việc của người dùng

Logging:là một tiện ích của MSF cho phép ghi lại các thông

tin, các lỗi, gỡ lỗimột cách tổng quát và linh hoạt

Trang 8

1.2.2 Các thuật ngữ thường dùng

Discovery Scan là một máy quét nội bộ của Metasploit phối hợp Nmap và

các module riêng biệt của Metasploit để quét và truy tìm target Nếu không có

Nexpose hoặc không thể quét dữ liệu để nhập vào Metasploit Community, bạn

có thể chạy trình quét để phát hiện và thu thập thông tin của target

Exploit (khai thác) là chức năng chính của MSF, giúp ta thử nghiệm khai

thác các lỗ hổng phần mềm Mỗi một module cung cấp một phương thức khaithác, và được phân loại rõ ràng đối với từng hệ điều hành cũng như phiên bảnphần mềm Việc khai thác thông thường dựa vào những điểm yếu hay gặp như:lỗi tràn bộ đệm, các lỗi trên ứng dụng web (SQL Injection, XSS…), lỗi trongquá trình cấu hình, triển khai hệ thống Ta ví dụ khai thác một lỗi cụ thể Từ giaodiện web của MSF chọn Exploits

Hình 1.3: Giao diện web của Metasploit

Trong cửa sổ các Exploit modules, chọn một exploit ta muốn thử nghiệmkhai thác Ví dụ ở đây ta thử nghiệm khai thác lỗi Microsoft Server ServiceRelative Path Stack Corruption khá phổ biến của winXP SP2

Target là hệ thống mà ta muốn khai thác Thuật ngữ target có thể được

hiểu là một máy trạm độc lập, một cụm máy trạm, một dải mạng hay toàn bộmột mạng

Trang 9

Payload (tải trọng) là một đoạn mã được xây dựng để hệ thống thực thi.

Các Payload này được lựa chọn và cung cấp bởi Framework Ví dụ một reverse

shell là một payload, nó tạo ra một kết nối từ máy nạn nhân tới máy của kẻ tấn

công, kẻ tấn công có thể lắng nghe về máy tính nạn nhân thông qua cổng kếtnối Một payload cũng có thể được hiểu đơn giản là một số các câu lệnh đượcthực hiện trên hệ điều hành của máy nạn nhân Một số payload thường được sửdụng phổ biến như sau:

Hình 1.4: Một số Payload thường sử dụng Shell là một giao diện điều khiển, được cung cấp để bạn thực hiện truy

cập từ xa vào máy nạn nhân

Shellcode là một tập các câu lệnh được sử dụng như một payload khi thực

hiện khai thác Shellcode thường được viết bằng hợp ngữ (assembly).

Module là một phần mã độc lập hay có thể là các phần mềm nhằm mở

rộng chức năng của Metasploit Framework, cho phép bạn thực hiện được nhiều

Trang 10

thứ hơn trong quá trình khai thác Một module có thể là một exploit, mộtpayload không hoạt động… loại của module sẽ xác định được mục đích, chức

năng của nó Ví dụ, một module cho phép mở ra một shell trên máy nạn nhân thì

đó được coi là một module exploit

Listener (lắng nghe) được xem là một thành phần trong Metasploit, được

dùng để thực hiện chờ một kết nối Ví dụ: sau khi máy nạn nhận bị khai thác, nó

có thể được kểt nối đến máy tấn công thông qua mạng Internet Listener này sẽ

xử lý các kết nối và chờ trên máy tấn công để có thể được kết nối lại với nhaubằng hệ thống khai thác

Meterpreter là một payload tiên tiến đa chức năng, cung cấp cho chúng ta

một shell tương tác từ Meterpreter shell Chúng ta có thể làm những việc như tảivề một tập tin, lấy được mã hash của mật khẩu của tài khoản người dùng, hayxâm nhập vào hệ thống mạng Meterpreter chạy trên bộ nhớ, vì vậy nó là khôngthể bị phát hiện bởi hầu hết các hệ thống phát hiện xâm nhập

Task là một hành động mà Metasploit Community có thể thực hiện, chẳng

hạn như một máy quét, tấn công bruteforce, khai thác, hoặc tạo báo cáo

Project bao gồm các target, task, báo cáo và dữ liệu, là một phần của kiểm

tra xâm nhập Một project đại diện cho một không gian làm việc mà bạn sử dụng để kiểm tra xâm nhập và cấu hình task Mọi kiểm tra xâm nhập đều chạy

từ trong một project.

Vulnerability là một lỗi bảo mật hoặc điểm yếu trong một ứng dụng hay

hệ thống mà sẽ trở thành mục tiêu của những kẻ tấn công Một hệ thống bị xâmnhập có thể dẫn đến bị mất quyền kiểm soát, tấn công từ chối dịch vụ, truy cậpdữ liệu trái phép, đánh cắp mật khẩu, và tràn bộ đệm

Auxiliaries là chức năng mới được bổ sung từ phiên bản v3.0, bổ sung các

module cho việc tìm kiếm, thu thập thông tin, thậm chí là dò tìm lỗ hổng(fuzzing) với các phần mềm

1.2.3 Giao diện của MetasploitMetasploit cung cấp cho chúng ta nhiều hơn một giao diện để thực hiệncác chức năng cơ bản của nó Giao diện của Metasploit bao gồm cả giao diện

Trang 11

điều khiển, dòng lệnh hay đồ họa Ngoài ra, các giao diện hay tiện ích củaMetasploit Framework thường được cung cấp trực tiếp thông qua các hàm chứcnăng Những tiện ích này có thể rất hữu dụng cho việc phát hiện khai thác các lỗhổng của hệ thống mà không cần sử dụng toàn bộ Framework.

Msfconsole đến nay được xem là môi trường làm việc phổ biến nhất của

Metasploit Framework vì nó được đánh giá cao Đây là môi trường làm việc linhhoạt, với nhiều tính năng phong phú, khả năng cung cấp các công cụ hỗ trợ hữudụng cho quá trình khai thác Msfconsole cung cấp tất cả trong một giao diện,hầu hết các tùy chọn và thiết lập có sẵn trong Framework Chúng ta có thể sửdụng tất cả mọi thứ, bao gồm việc lên kế hoạch cho quá trình khai thác, tải cácmodule hỗ trợ, thực hiện điều tra hay tạo một listener

Để bắt đầu làm việc trên giao diện MSFconsole ta có thể sử dụng lệnh

cd /opt/metasploit/msf3/msfconsole, và ta được giao diệnmàn hình sử dụng như sau:

Hình 1.5: Giao diện MSFconsole Msfcli là giao diện cho phép chạy trực tiếp dòng lệnh, cho phép chuyển

hướng đầu ra từ các công cụ khác vào Msfcli và cho kết quả ra trên các công cụ

Trang 12

khác Nó cung cấp một số trợ giúp cơ bản để người dùng biết được các chế độ

làm việc, các tùy chọn hay các lỗi có thể khai thác được với câu lệnh msfcli –h.

-(H)elp You're looking at it, baby!

(S)ummary Show information about this module

(O)ptions Show available options for this module

(A)dvanced Show available advanced options for this module

(I)DS Evasion Show available ids evasion options for this module (P)ayloads Show available payloads for this module

(T)argets Show available targets for this exploit module

(AC)tions Show available actions for this auxiliary module

(C)heck Run the check routine of the selected module

(E)xecute Execute the selected module

root@bt:/opt/framework3/msf3#

Msfweb là giao diện đồ họa trên web có sẵn trong MSF Nó không cung

cấp tính năng bảo mật, và được khuyến khích sử dụng trên môi trườngWindows Để có thể xem các tùy chọn tương ứng với msfweb ta có thể dùnglệnh sau msfweb –h:

[root@RHL framework-3.0-alpha-r3]# /msfweb -h

Usage: msfweb <options>

OPTIONS:

-a <opt> Bind to this IP address instead of loopback

-d Daemonize the web server

Trang 13

-h Help bannerww.syngress.com

-p <opt> Bind to this port instead of 55555

-v <opt> A number between 0 and 3 that controls log verbosity

Ngoài ra chúng ta cũng có thể kết nối đến máy nạn nhân thông qua cáctrình duyệt web (Mozila Firefox, Internet Explorer, Safari)

Msfd cho phép mở ra một giao diện mạng trên msfconsole Ta có thể thực

hiện msfd này bằng cách xác định địa chỉ IP và port của máy mà chúng ta muốnkết nối tới để thực hiện khai thác Để biết các tùy chọn ứng với msfd ta có thểthực hiện lệnh msfd –h:

Hình 1.6: Tùy chọn cho msfd Armitage của Metasploit là giao diện đồ họa tương tác với người dùng

được tạo bởi Raphael Mudge Giao diện này khá ấn tượng với nhiều tính năngphong phú, đa dạng và miễn phí cho người dùng

Để khởi động được giao diện Armitage ta chạy dòng lệnh armitage:

root@bt:/opt/framework3/msf3# armitage

Ngoài ra chúng ta có thể lựa chọn Arimitage bằng các lựa chọn trên giao

diện đồ họa và sẽ được giao diện sử dụng như sau:

Trang 14

Hình 1.7: Mở giao diện armitage trên menu của BackTrack

Hình 1.8: Giao diện Armitage

Metasploit cung cấp cho người dùng hai môi trường làm việc hữu ích:

Ngày đăng: 20/08/2014, 21:35

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Vòng đời phát hiện và khai thác lỗ hổng - Tấn công sử dụng metasploit
Hình 1.1 Vòng đời phát hiện và khai thác lỗ hổng (Trang 5)
Hình 1.2: Kiến trúc của Metasploit Framework. - Tấn công sử dụng metasploit
Hình 1.2 Kiến trúc của Metasploit Framework (Trang 6)
Hình 1.3: Giao diện web của Metasploit - Tấn công sử dụng metasploit
Hình 1.3 Giao diện web của Metasploit (Trang 8)
Hình 1.5: Giao diện MSFconsole Msfcli là giao diện cho phép chạy trực tiếp dòng lệnh, cho phép chuyển - Tấn công sử dụng metasploit
Hình 1.5 Giao diện MSFconsole Msfcli là giao diện cho phép chạy trực tiếp dòng lệnh, cho phép chuyển (Trang 11)
Hình 1.6: Tùy chọn cho msfd - Tấn công sử dụng metasploit
Hình 1.6 Tùy chọn cho msfd (Trang 13)
Hình 1.7: Mở giao diện armitage trên menu của BackTrack - Tấn công sử dụng metasploit
Hình 1.7 Mở giao diện armitage trên menu của BackTrack (Trang 14)
Hình 1.8: Giao diện Armitage - Tấn công sử dụng metasploit
Hình 1.8 Giao diện Armitage (Trang 14)
Hình 2.1: Mô hình khai thác - Tấn công sử dụng metasploit
Hình 2.1 Mô hình khai thác (Trang 22)
Hình 2. 2: Mở armitage trên BackTrack - Tấn công sử dụng metasploit
Hình 2. 2: Mở armitage trên BackTrack (Trang 23)
Hình 2.3:Sau khi quét các máy trong mạng - Tấn công sử dụng metasploit
Hình 2.3 Sau khi quét các máy trong mạng (Trang 24)
Hình 2.5: Máy tính bị chiếm quyền (chế độ đồ họa) - Tấn công sử dụng metasploit
Hình 2.5 Máy tính bị chiếm quyền (chế độ đồ họa) (Trang 26)
Hình 2.4: Máy tính bị chiếm quyền (chế độ console) - Tấn công sử dụng metasploit
Hình 2.4 Máy tính bị chiếm quyền (chế độ console) (Trang 26)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w