Giới thiệu công cụ metasploit là gì, các tính năng và thành phần

1. Reviews chung

Ra đời vào thời điểm năm 2003 bởi người sáng tác H. D. Moore - Metasploit Framework là tên của một dự án công trình bảo mật máy tính xách tay nhằm giúp tổng hợp,cung cấp tin tức về những lỗ hổng bảo mật thông tin đồng thời cung cấp khai thác những lỗ hổng này .

Bạn đang xem: Giới thiệu công cụ metasploit là gì, các tính năng và thành phần

Bạn đã xem: Metasploit là gì

Metasploit Framework tập trung vào việc triển khai nhanh các bước khai thác lỗ hổng bảo mật thông tin và trở nên tân tiến các khối hệ thống pháthiện xâm nhập. Ban sơ nó được viết trên gốc rễ ngôn ngữ thiết kế Perl với các thành phần chính được viết bởi C và Python,sau này được viết lại bằng Ruby. Năm 2009, Metasploit được Rapid7 – một doanh nghiệp chuyên về bảo mật mua lại.

Trên Kali linux, Metasploit framework được thiết đặt mặcđịnh. Đối với các nền tảng khác như Windows, macOS ... Người sử dụng cần càiđặt một bí quyết thủ công.

2. Kết cấu của Metasploit Framework

Metasploit Framework bao gồm các thành phần những khác nhau. Mỗithành phần phần nhiều được phụ trách các công dụng riêng biệt. Đầu tiên ta chu đáo cấutrúc khối hệ thống tệp tin và các thư viện của nó. (Trong Kali Linux, MetasploitFramework được setup mặc định trong folder “/usr/share/metasploit-framework”:)

Một số thư mục quan trọng cần để ý như sau:

Data: Đây là nơi dùng để làm lưu trữ các tập tin nhị phân rất có thể chỉnh sửađược cần thiết cho việc khai thác, những tệp tin tấn công từ điển hoặc các file hìnhảnh, ...


*

Documentation: Đây là khu vực chứa các tài liệu tế bào tả cần thiết chometasploit framework.


*

Lib: chứa những file thư viện mã nguồn cơ sở của framework.


*

*

*

2.1. Payload

Một payload vào Metasploit-Framework thường được "ánh xạ" vì một module khai thác. Phiên bản thân nó chứa những đoạn mã sẽ tiến hành thực thi trên mục tiêu khi tấn công. Các payload này được sử dụng rất linh thiêng hoạt và có mức giá trịsử dụng lớn trong vô số loại kịch phiên bản tấn công khác nhau.

Có cha loại payload:

Singles: các payload này hoàn toàn khép kín và hoàn toàn có thể hoạt động25một cách độc lập không kết nối với bất cứ điều gì. Nó thường dùng để làm làmnhững việc đơn giản dễ dàng như là thêm một người dùng vào trong hệ thống của mụctiêu hay đơn giản dễ dàng là mở một công tác nào kia trên mục tiêu bị tấn công.Các payload dạng này thường xuyên chỉ chạy một lần duy nhất.

Stagers: Payload này sẽ tạo ra một kết nối mạng thân kẻ tấn công vàmục tiêu. Nó được thiết kế theo phong cách để bảo đảm tính nhỏ gọn và đảm bảo tính khả thicủa việc tấn công. Nó cũng được thiết kế theo phong cách để cài đặt xuống các payload “Stages”.

Stages: Đây là các payload được sở hữu xuống bới “stagers”. Nó tất cả kíchthước lớn, xây dựng với nhiều tùy chọn, tác dụng khác nhau.

2.2. Meterpreter

Đây là 1 trong payload nâng cấp có vào Metasploit-Framework. Mục tiêu của nó là đểcung cấp đa số tập lệnh nhằm khai thác, tấn công các mục tiêu. Nó được viết từcác thành phần trở nên tân tiến dưới dạng thư viện liên kết động (DLL) files.

Meterpreter và những thành phần mở rộng được triển khai trong cỗ nhớ, hoàn toànkhông được ghi ra đĩa nên rất có thể tránh được sự phát hiện nay từ các phần mềmchống virus.

Meterpreter cung cấp một tập lệnh để fan sử dụng hoàn toàn có thể khai tháctrên mục tiêu:

Fs: cho phép tải lên và cài đặt xuống các tệp từ thiết bị bị tấn công.

Net: : chất nhận được xem tin tức mạng của máy bị tấn công như IP, bảngđịnh đường (route table).

Process: cho phép tạo những chương trình chạy bắt đầu trên vật dụng bị tấncông.

Sys: chất nhận được xem thông tin hệ thống của máy bị tấn công.

3. Các bước kiểm test cơ bản trên Metasploit Framework.

Tổng Quan

Có 2 hình thức khi thực hiện Metasploit-Framework:

Sử dụng các module nhằm dò quét và tấn công vào lỗ hổng bảo mật thông tin củađối tượng.Tạo mã độc (Trojan), rồi bằng một bí quyết nào kia truyền mã độc vàomáy nàn nhân và lừa nàn nhân kích hoạt nó.

Về cơ bản thì Metasploit Framework áp dụng hệ quản trị cơ sở dữ liệuPostgreSQL nhằm lưu trữ các cấu hình, payload giao hàng cho các nhiệm vụ khácnhau trong quy trình kiểm thử.

Quá trình kiểm thử này trải qua công việc như sau:

Bước 1: phạt hiện, khẳng định các phương châm cần tấn công và thu thậpthông tin về phương châm đó. Ở đoạn này ta hầu hết sử dụng ModuleAuxiliary/Scanner và các công núm dò quét khác ví như “Nmap” được tích hợpsẵn.

Bước 2: Lựa lựa chọn 1 mục tiêu vừa tìm kiếm được ở bước 1.

Bước 3: nhờ vào các tin tức mà Module Auxiliary vừa cung cấp. Từđó kiếm tìm kiếm các lỗ hổng và mã khai quật liên quan mang đến mục tiêu. Dùngmodule Auxiliary nhằm xác thực các lỗ hổng đang tồn tại thật sự trên các mục tiêu.

Bước 5: tiến hành triển khai các mã độc và bảo trì kết nối sau khoản thời gian xâmnhập thành công.

Bước 6: Xóa vết.

Quy trình trên bao gồm thể chuyển đổi tùy thuộc vào mục tiêu trong thực tế.

Xem thêm:

Ngoài vấn đề sử dụng các module khai thác có sẵn, Metasploit Framework cung cấp mạnh mẽ choviệc người sử dụng tự tạo các đoạn mã khai quật dựa bên trên API có sẵn của nó.

Các bước tiến hành khai thác

Sau đây là các cú pháp lệnh lần lượt theo quá trình cơ phiên bản để khai tháclỗ hổng bảo mật trong thực tế:

Khởi hễ Metasploit-Framework

Khởi cồn MSF bằng lệnh msfconsole.

Nếu là lần thứ nhất chạy MSF thì cần chạy lệnh “msfdb init” trước đểtạo database (cơ sở dữ liệu). Cơ sở tài liệu này là yêu cầu tảng giữ trữ tất cả cácthông tin dữ liệu quan trọng của MSF.

Ngoài ra phải chạy lệnh msfupdate. Đây là lệnh nhằm MSF tự động hóa cậpnhật các module, những thông tin về các lỗ hổng mới nhất trên kho đựng (repository) của MSF.

Lựa lựa chọn module nhằm khai thác:

Sử dụng lệnh “search” nhằm tìm kiếm những module tương quan đến mục tiêucần kiểm thử. Một lỗ hổng bảo mật thông tin được khái niệm trong MSF thông thường có 2module, một là “auxiliary” dùng làm rò quét xác định xem kim chỉ nam có bám lỗinày không, hai là “exploit” dùng để khai thác lỗ hổng.

Sau khi tìm tìm kiếm được module dùng để khai thác, dùng lệnh “use” để sử dùng module đó.Tiếp tục gõ show infođể xem các thông tin với tùy lựa chọn của module.


Cấu hình mang đến module đã chọn:Sử dụng lệnh show options để xem những options nên cấu hình. Vàdùng lệnhset để cấu hình cho options.


Một số tham số hay gặp:

LHOST: local host, là địa chỉ ip của sản phẩm tấn công. Địa chỉ ip này phảiđảm bảo mục tiêu tấn công có tác dụng kết nối tới.

LPORT: cổng nhằm MSF lắng nghe biểu thị gửi về.RHOST: remote host, là địa chỉ cửa hàng ip của mục tiêu cần tấn công.RPORT: cổng được mở trên phương châm để MSF liên kết đến cùng khaithác.

Sau khi tùy chỉnh cấu hình các thông số, có thể dùng lệnh “check” để bình chọn lạicác thông số cấu hình đã đúng chưa.

Lựa chọn payload:Payload là đoạn code cơ mà sẽ chạy trên hệ thống máy tính được điềukhiển từ xa. Tùy nằm trong vào module khai thác lỗ hổng nào nhưng module này sẽ hỗtrợ các payload không giống nhau.

Sử dụng lệnhshow payloadsđể liệt kê ra các payload của moduleexploit hiện tại.

Sử dụng lệnh info để xem thông tin chi tiết vềpayload đó.

Sử dụng lệnh set PAYLOAD để xác định payloadmodule name.

Sau khi sàng lọc payload nào, sử dụng lệnh show option để xem nhữngoption của payload đó.

Với một trong những payload có thể hỗ trợ thêm những tùy chọn nâng cao. Sử dụnglệnh “show advanced” nhằm xem hồ hết tùy lựa chọn này của payload đó.

Sau khi thông số kỹ thuật tất cả công việc trên thành công, áp dụng lệnh“exploit” nhằm thực hiện tiến công mục tiêu.4. Kết cấu của một Module khai thác

Cấu trúc của một module khai thác luôn luôn cần các phần thiết yếu như sau:

Payload Information Block: khối thông tin của Payload. Dùng để làm khaibáo các thông tin cơ bạn dạng về payload.

Một list các mục tiêu có sẵn được phác hoạ thảo.

Phần kế thừa những hàm exploit(), run(), check().

Hàm check () góp xác minh việc rất có thể khai thác được tính có thể khaithác của phương châm và không thực thụ chạy các payload trên mục tiêu.

Mục đích của hàm check () là để xác định xem mục tiêu có thể bị tấncông tốt không.

Hàm check () trả về giá bán trị chất vấn đã được xác định:

CheckCode::Safe - tất yêu khai thác.CheckCode::Detected - thương mại dịch vụ được phạt hiện.CheckCode::Appears - phiên bản dễ bị tấn công.CheckCode::Vulnerable - đã xác nhận.CheckCode::Unsupported - soát sổ không được cung ứng cho modulenày.

class Metasploit3 > Msf::Exploit::Remote include Msf::Exploit::Remote::TCP def initialize super( "Name" => "Simplified ExploitModule", "Description" => "This module sends a payload", "Author" => "My Name Here", "Payload" => "Space" => 1024,"BadChars" => “x00”, "Targets" => > , "Platform" => "win", ) register_options( , self.class) end# Connect lớn port, send the payload, handle it, disconnectdef exploit connect() sock.put(payload.encoded) handler() disconnect() endendHàm exploit() chính là hàm tiếp theo sau cần được viết. Đây cũng làphần quan trọng đặc biệt nhất của mã khai thác. Nó có tác dụng thành phần chính thực hiệncác bước để có thể tái hiện nay lại lỗ hổng thành công.

Xứ lý các phản hồi này vàkhai thác các lỗ hổng trên đó. Từ bỏ đó thực hiện khai thác rất thực thi mã từ bỏ xa, rước cắp thông tin, ...

Ví dụ về một hàm check() trong thực tế:

def kiểm tra # connect khổng lồ get the FTP banner connect # grab banner banner = banner = sock.get_once # disconnect since have cached it as self.banner disconnect case banner when /Serv-U FTP server v4.1/ print_status("Found version 4.1.0.3, exploitable") return Exploit::CheckCode::Vulnerable when /Serv-U FTP Server/ print_status("Found an unknown version, try it!"); return Exploit::CheckCode::Detected else print_status("We could not recognize theserver banner") return Exploit::CheckCode::Safe end return Exploit::CheckCode::Safe end5. Tổng KếtTrên đó là những kiến thức cơ bản nhất mình nhặt nhặt được về Metasploit Framework. Tại những phần tiếp theo, bọn họ sẽ cùng khám phá và xây dựng các module khai thác trên nền tảng tuyệt vời nhất này.