Tải bản đầy đủ (.docx) (18 trang)

NGHIÊN CỨU TRIỂN KHAI BỘ CÔNG CỤ METASPLOIT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (797.88 KB, 18 trang )

TRƯỜNG ĐẠI HỌC
KHOA CÔNG NGHỆ THÔNG TIN
-----***-----

AN NINH MẠNG
ĐỀ TÀI 6: NGHIÊN CỨU TRIỂN KHAI BỘ CÔNG CỤ METASPLOIT
(phiên bản community Edition với các modul: Network discovery, Vulnerability Scanner
import, Basic Exploitation, Module Browser)

Giảng Viên Hướng Dẫn:
Sinh Viên thực hiện:
Nhóm 9
Mạng Máy Tính K58.

Hà Nội – 2017


MỤC LỤC

I. Giới thiệu:
-

-

I.1. Giới thiệu chung
Bộ công cụ Metasploit là bộ công cụ khai thác lỗ hổng không thể thiếu của các hacker cũng như
Penetration Tester. Metasploit không phải là một công cụ mà là một Framework tập hợp rất nhiều
chương trình cũng như công cụ phục vụ cho việc tấn công, kiểm tra độ an toàn và bảo mật của hệ
thống.
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
server. Ban đầu Metasploit được xây dựng từ ngôn ngữ hướng đối tượng Perl với những


component được viết bằng C và Python sau đó được viết lại bằng Ruby. Đây là một ứng dụng mã
nguồn mở phát triển nhằm sử dụng các shellcode để tấn công, khai thác lỗi của các dịch vụ
Metasploit có thể chạy trên hầu hết các hệ điều hành như Linux, Windows, MacOS…
NHOM 9 – MẠNG MÁY TÍNH K58

2


-

- Thử nghiệm thâm nhập mã nguồn mở "Metasploit Framework" Rapid7 là một dự án
được Hoa Kỳ tài trợ và công cụ kiểm thử cho Metasploit Framework có tên "Metasploit
Community Edition" đã được phát hành. Metasploit Community Edition là công cụ kiểm tra
thâm nhập có giới hạn cung cấp sức mạnh của Metasploit Framework với giao diện người dùng
đồ hoạ được thêm vào để dễ dàng điều hướng và khai thác. Metasploit Community Edition có
sẵn bản miễn phí trên mạng.
- Community Editioin dựa trên Metasploit Framework, một sự kết hợp của giao diện
người dùng cơ bản có sẵn trong các phiên bản thương mại. Sử dụng thử nghiệm thâm nhập cơ
bản, GUI đơn giản, cung cấp các mô-đun import như một Browse. Bạn có thể xác minh bất kỳ lỗ
hổng khai thác nào, quản lý luồng dễ bị tấn công và bảo vệ dữ liệu và cũng có thể nhập báo cáo
quét lỗ hổng của bên thứ ba.
- Nó được thiết kế cho sinh viên và doanh nghiệp nhỏ, những người muốn mô phỏng một
cách an toàn các cuộc tấn công mạng bằng khai thác cơ bản và phát hiện mạng.
- Metasploit hỗ trợ những trình duyệt:
• Chrome 8+
• Firefox 4+
• Internet Explorer 9+
Bạn có thể download chương trình tại www.metasploit.com
I.2. Các tính năng chính:
- Một giao diện người dùng đồ họa đơn giản, giúp việc đánh giá tính dễ bị xâm nhập và

đánh giá an ninh dễ dàng hơn các giải pháp thay thế dựa trên dòng lệnh.
- Phát hiện mạng, cho phép người dùng lập bản đồ các mạng của họ bằng cách xác định
các máy chủ, quét các cổng mở và lấy dấu vân tay các hệ điều hành và dịch vụ của họ.
- Tích hợp với các máy quét dễ bị tấn công, do đó quét dữ liệu từ Rapid7 Nexpose, Nmap
và hàng tá các giải pháp khác có thể được nhập trực tiếp vào Metasploit Community. Các quá
trình quét Nexpose cũng có thể được bắt đầu và đặt vị trí nhập trực tiếp từ bên trong Metasploit
Community.
- Khai thác cơ bản, cho phép người dùng xác minh những lỗ hổng nào có thể khai thác
được và phải được khắc phục - và những lỗ hổng nào không được khai thác. Điều này làm tăng
năng suất và giảm chi phí của một chương trình quản lý dễ bị xâm nhập và giúp ngăn ngừa sự vi
phạm dữ liệu.
- Trình duyệt module, tận dụng cơ sở dữ liệu lớn nhất thế giới về khai thác đảm bảo chất
lượng để người dùng có thể dễ dàng tìm ra cách khai thác đúng. Mỗi mô-đun bao gồm một bảng
xếp hạng độ tin cậy, chỉ ra tỷ lệ thành công điển hình và tác động đến hệ thống mục tiêu.
- Các chuyên gia bảo mật và CNTT có thể dễ dàng nâng cấp từ Metasploit Community lên
Metasploit Pro, tiếp tục làm việc với giao diện quen thuộc trên cài đặt hiện tại. Metasploit Pro có
thêm nhiều khả năng mạnh như khai thác thông minh, kiểm tra mật khẩu, quét ứng dụng Web,
hậu khai thác, kỹ thuật xã hội, hợp tác nhóm, báo cáo toàn diện và hỗ trợ cấp doanh nghiệp.

NHOM 9 – MẠNG MÁY TÍNH K58

3


-

-

I.3. Các thành phần
Hỗ trợ giao diện người dùng :

o Console Interface: Đây là giao diện sử dụng các dòng lệnh để cấu hình, kiểm tra
do vậy tốc độ nhanh hơn và mềm dẻo hơn. Sử dụng file msfconsole.bat.
o Web Interface: Giao tiếp với người dùng thông qua giao diện web. Sử dụng file
msfweb.bat.
o Command line interface: dùng msfcli.bat
Phần Enviroment :
o Global Enviroment: Được thực thi thông qua 2 câu lệnh setg và unsetg, những tùy
chọn được gắn ở đây sẽ mang tính toàn cục, được đưa vào tất cả các module khai
thác.
o Temporary Enviroment: Được thực thi thông qua 2 câu lệnh set và unset,
enviroment này chỉ được đưa vào module khai thác đang load hiện tại, không ảnh
hưởng đến các module khai thác khác.
Bạn có thể lưu lại enviroment mình đã cấu hình thông qua lệnh save. Môi trường đó sẽ
được lưu trong /.msf/config và sẽ được load trở lại khi user interface được thực hiện
Những thành phần nào có cấu hình giống nhau giữa các exploits module như là: LPORT,
LHOST, PAYLOAD thì bạn nên cấu hình ở chế độ Global Enviroment để không phải cấu hình
lại nhiều lần.

II. Hướng dẫn cài đặt
II.1. Yêu cầu
Để cài đặt được Metasploit, ổ cứng phải còn trống khoảng 30GB-40GB bao gồm cả
Snapshot trong quá trình thực hành hệ thống; RAM tối thiểu 4G Ram nhưng để tốt nhất nên chọn
RAM 8G; CPU Core 2 Dou trở lên.
II.2. Cài đặt
Sau khi download bản Metasploit Community Edition, chúng ta tiến hành cài đặt, giao
diện cài đặt xuất hiện và chọn Next

NHOM 9 – MẠNG MÁY TÍNH K58

4



Tiếp theo, tích chọn ô I accept the agreement và chọn Next

Chọn ổ lưu file Metasploit và tiếp tục chọn Next

NHOM 9 – MẠNG MÁY TÍNH K58

5


Tiếp tục chọn Next cho đến khi xuất hiện giao diện chạy file cài đặt

Quá trình cài đặt hoàn tất, chọn Finish và tích chọn Access Metasploit Web UI

NHOM 9 – MẠNG MÁY TÍNH K58

6


Sau khi kết thúc cài đặt, trình duyệt Web mở lên và xuất hiện giao diện mở đầu của
Metasploit

NHOM 9 – MẠNG MÁY TÍNH K58

7


Click vào link: https://localhost:3790/ sẽ dẫn đến trang tạo tài khoản để login vào
Metasploit. Điền Username, Password sử dụng và một số thông tin bổ sung, rồi chọn Create

Account:

Trình duyệt chuyển đến trang nhập key để active chương trình, key này được gửi miễn phí
đến mail khi tải phần mềm. Sau khi điền key nhấn Activate License:

NHOM 9 – MẠNG MÁY TÍNH K58

8


Chương trình Metasploit được hoàn thành cài đặt, và đây là giao diện sử dụng chương
trình:

NHOM 9 – MẠNG MÁY TÍNH K58

9


III. Hướng dẫn sử dụng
Trước hết sẽ tìm hiểu qua về những câu lệnh, tùy chọn khác nhau để có thể nắm được
nhiệm vụ của lệnh đấy. Sau đó sẽ tìm hiều về các bước để khai thác một mục tiêu cụ thể. Và cuối
cùng là ví dụ về một kịch bản khai thác.

-

-

-

-


-

-

III.1. Nội dung của các câu lệnh khi ta sử dụng giao diện msfconsole:
Back: Lệnh này dùng khi bạn muốn thoát ra khỏi module bạn đã chọn trước đó sau khi hoàn
thành công việc hoặc muốn chuyển sang công việc khác.
(i) Ví dụ: msf payload(reverse http) > back
msf>
Check: Lệnh này giúp ta kiểm tra đã cấu hình đúng cho khai thác chưa, mọi việc đã hoàn thành
chưa. Cho ta biết kết quả mà không cần phải thực thi khai thác đó. Nhưng không phải tất cả mọi
mã khai thác đều hỗ trợ lệnh này.
Connect: Lệnh này giống như một bản netcat thu nhỏ đc cho vào metasploit được hỗ trợ với ssl,
proxy, pivoting... Với việc dùng câu lệnh connect với địa chỉ ip và port tương ứng, chúng ta có
thể connect tới một host từ metasploit giống như khi dùng với netcat hoặc telnet vậy.
Ví dụ: msf > connect 118.69.228.254 22
Info: Lệnh này cho biết những thông tin chi tiết của một module (hay một mã khai thác nào đó ).
Hiển thị cho ta thông tin cơ bản nhất, bao gồm cả các tùy chọn cần thiết.
Irb: Lệnh này cho ta thao tác trên môi trường của ruby. Ví dụ: msf > irb –h
Jobs: Lệnh này cho ta biết các module đang chạy.
Load: Lệnh này để load một plugin từ metasploit plugins.
Search: Lệnh này giúp ta tìm kiếm exploit, auxiliary, encoder. Trong đó nó còn hỗ trợ một số
keywork giúp cải tiến khả năng tìm kiếm như: name, path, platform, port, type, app, author, cve,
bid, osvdb, edb. Ví dụ: search cve:2009 type:exploit app:client.
Sessions: lệnh này liệt kê các session đang tồn tại, session ở đây có thể là session của shell, của
meterpreter ....
Set - Unset: Lệnh cho phép ta cấu hình cho các exploit... lệnh này gặp thường xuyên. Unset là
lệnh có ý nghĩa ngược lại.
Setg - Unsetg: Trong quá trình thực hiện tấn công một mục tiêu, hoặc nhiều mục tiêu. Ta có thể

dùng một exploit hoặc đôi khi là nhiều exploit. Có một vào option nếu set bình thường thì ta phải
set nhiều lần. Nhưng nếu ta để cho các option này có ý nghĩa toàn cục. Thì việc lặp lại là không
cần. Nó có hiệu lực cho mọi exploit, auxiliary. Đó là ý nghĩa của setg (global set). Để hủy thì ta
dùng unsetg. Nếu muốn lưu việc cấu hình này lại dùng lệnh "save".
Show: Liệt kê các module hiện tại.
Use: Cho phép chọn một một module.
Auxiliary: Là một module cung cấp chưc năng tăng cường cho các thử nghiệm xâm nhập và
quét lỗ hổng cùng với các tác vụ tự động. Phân loại trong auxiliary module: module quét các
NHOM 9 – MẠNG MÁY TÍNH K58

10


-

-

-

-

-

-

giao thức (như SMB, HTTP), module quét các port, wireless, IPV6, DOS, Server modules,
Module khai thác truy cập quản trị.
Exploits: Là một module dùng để khai thác các dịch vụ.
Payloads: Trước tiên ta cần hiểu Payload là gi ? Ta có thể hiểu một cách đơn giản thì nó là một
đoạn code thực thi trên máy nạn nhân, dùng để thực hiện một số hoạt động nào đó, hoặc dùng để

kết nối về máy của người tấn công. Vậy làm sao để có cái Payload này trên máy của nạn nhân ?
Có 2 phương pháp chủ yếu được dùng. Đó là gửi cho nạn nhân thông qua việc phân tính một lỗi,
lỗ hổng nào đó trên hệ thống của nạn nhân, từ đó đột nhập và gửi đoạn payload này cho nạn
nhân. Kiểu thứ 2 là gửi trực tiếp cho nạn nhân, chờ đợi nạn nhân sơ ý nhận nó (kĩ thuật social
engineering).
- Targets: Cung cấp danh sách các mục tiêu phù hợp với module khai thác mà bạn
chọn.
III.2. Các bước để khai thác một mục tiêu:
Bước 1: Chọn module exploit: lựa chọn chương trình, dịch vụ lỗi mà Metasploit có hỗ trợ để
khai thác.
show exploits: xem các module exploit mà framework có hỗ trợ.
use exploit_name: chọn module exploit.
info exploit_name: xem thông tin về module exploit.
Chú ý nên cập nhật thường xuyên các lỗi dịch vụ trên www.metasploit.com hoặc
qua script msfupdate.bat.
Bước 2: Cấu hình module exploit đã chọn
show options: Xác định những options nào cần cấu hình.
set: cấu hình cho những option của module đó.
Một vài module còn có những tùy chọn nâng cao, bạn có thể xem bằng cách gõ dòng
lệnh show advanceds.
Bước 3: Xem lại những options vừa cấu hình:
check: kiểm tra xem những option đã được cấu hình chính xác chưa.
Bước 4: Lựa chọn target: lựa chọn hệ điều hành nào để thực hiện.
show targets: những mục tiêu được cung cấp bởi module đó.
set: xác định mục tiêu.
Ví dụ: smf> use windows_ssl_pct
show targets
Exploit sẽ liệt kê ra những mục tiêu như: winxp, winxp SP1, win2000, win2000 SP1.
Bước 5: Lựa chọn payload
Payload là đoạn code mà sẽ chạy trên hệ thống remote machine.

show payloads: liệt kê ra những payload của module exploit hiện tại.
info payload_name: xem thông tin chi tiết về payload đó.
set PAYLOAD payload_name: xác định tên payload module.Sau khi lựa chọn
payload nào, dùng lệnh show options để xem những options của payload đó.
show advanced: xem những advanced options của payload đó.
Bước 6: Thực thi exploit
exploit: lệnh dùng để thực thi payload code. Payload sau đó sẽ cung cấp cho bạn
những thông tin về hệ thống được khai thác.
NHOM 9 – MẠNG MÁY TÍNH K58

11


III.3. Giới thiệu payload meterpreter
Meterpreter, viết tắt từ Meta – Interpreter là một advanced payload có trong Metasploit
framework. Mục đích của nó là để cung cấp những tập lệnh để khai thác, tấn công các máy
remote computers. Nó được viết từ các developers dưới dạng shared object (DLL) files.
Meterpreter và các thành phần mở rộng được thực thi trong bộ nhớ, hoàn toàn không được ghi
lên đĩa nên có thể tránh được sự phát hiện từ các phần mềm chống virus Meterpreter cung cấp
một tập lệnh để chúng ta có thể khai thác trên các remote computers.
Fs: cho phép upload và dowload files từ các remote machine.
Net: cho phép xem thông tin mạng của remote machine như IP, route table.
Process: cho phpes tạo các processes mới trên remote machine.
Sys: cho phép xem thông tin hệ thống của remote machine

Sử dụng câu lệnh:
 Câu lệnh use dùng để load những module mở rộng của meterpreter như: Fs, Net,
Process…
use –m module1,module2,module3 [ -p path ] [ -d ]
 Câu lệnh cho phép load các thư viện của remote machines

loadlib –f library [ -t target ] [ -lde ]
 Lệnh read cho phép xem dữ liệu của remote machine trên channel đang kết nối
Read channel_id [length]
 Lệnh write cho phép ghi dữ liệu lên remote machine
Write channel_id
 Đóng channel mà đã kết nối với remote computer.
Close channel_id
 Bắt đầu một phiên làm việc với channel vừa thiết lập với remote.
Interact channel_id
 Mã hóa dữ liệu được gửi giữa host và remote machine
Initcryt cipher [parameters]
NHOM 9 – MẠNG MÁY TÍNH K58

12


Sử dụng module Fs: cho phép upload và download files từ các remote machine.
Cd directory : giống lệnh cd của commandline.
Getcwd : cho biết thư mục đang làm việc hiện tại.
Liệt kê các thư mục và tập tin.
Ls [filter_string]
 Up load file
Upload srcl [src2…] dst
 Download file
Download srcl [src2 …] dst






- Sử dụng module Net:
 Xem bảng định tuyến
ipconfig
route
 Cho phép tạo port forward giữa host và remote machine

portfwd [ -arv ] [ -L laddr ] [ -l lport ] [ -h rhost ] [ -p rport ] [ -P ]
-

Sử dụng module Process:
 Câu lệnh execute cho phép bạn tạo ra một process mới trên remote machine và sử
dụng process đó để khai thác dữ liệu

execute -f file [ -a args ] [ -Hc ]
 Hủy những process đang chạy trên máy remote machine

kill pid1 pid2 pid3
 Liệt kê những process của remote machine

ps
-

Sử dụng module Sys:
 Cho biết username hiện tại của remote machine

NHOM 9 – MẠNG MÁY TÍNH K58

13



getuid
 Cho biết thông tin về computername, Os

sysinfo

NHOM 9 – MẠNG MÁY TÍNH K58

14


III.4. Scan các host trong mạng bằng Metasploit
Tạo Project mới: chọn New Project



Điền tên project và dải mạng sẽ scan:

NHOM 9 – MẠNG MÁY TÍNH K58

15




Sau khi tạo project quá trình scan bắt đầu:



Dải địa chỉ sẽ scan từ 172.16.1.1 đến 172.16.1.10:


NHOM 9 – MẠNG MÁY TÍNH K58

16




Quá trình scan :



Các host trong mạng mà chương trình tìm được sau khi scan xong

NHOM 9 – MẠNG MÁY TÍNH K58

17




Các host tìm được :

NHOM 9 – MẠNG MÁY TÍNH K58

18



×