Ngày 21 Tháng 10 năm 2009 có công bố nói rằng Metasploit project đã được mua lại bởi Rapid7, một công ty bảo mật cung cấp các giải pháp quản lý lỗ hổng... Giống như các sản phẩm thương m
Trang 1Báo cáo sơ bộ về Metasploit-Công cụ quét và khai thác lỗ hổng
METASPLOIT
I Giới thiệu
Metasploit project là một dự án máy an ninh máy tính mã nguồn mở cung cấp
thông tin về lỗ hổng bảo mật và hỗ trợ việc thử nghiệm thâm nhập và phát triển IDS
(Intrusion Detection Systems_Hệ thống phát hiện xâm nhập) signature Tiểu project
nổi tiếng nhất của nó là Metasploit Framework, một công cụ để phát triển và thực thi
exploit code (mã khai thác) đối với một máy tính mục tiêu từ xa Các tiểu project quan trọng khác bao gồm: Database Opcode, lưu trữ shellcode, và nghiên cứu bảo mật Metasploit project cũng nổi tiếng với các công cụ anti-forensic và evasion, một số
trong đó được xây dựng vào Metasploit Framework Metasploit đã được tạo ra bởi HD
Moore vào năm 2003 như một công cụ mạng di động bằng cách sử dụng ngôn ngữ kịch
bản Perl Sau đó, Metasploit Framework đã được viết lại hoàn toàn bằng ngôn ngữ
lập trình Ruby và đã trở thành project Ruby lớn nhất thế giới, với hơn 700,000 dòng code Nó là một công cụ mạnh mẽ cho các nhà nghiên cứu an ninh của bên thứ ba để điều tra lỗ hổng bảo mật tiềm năng
Ngày 21 Tháng 10 năm 2009 có công bố nói rằng Metasploit project đã được
mua lại bởi Rapid7, một công ty bảo mật cung cấp các giải pháp quản lý lỗ hổng
Trang 2Giống như các sản phẩm thương mại tương đương như Canvas của Immunity hoặc Core Impact của Core Security Technologies, Metasploit có thể được sử dụng
để kiểm tra lỗ hổng của các hệ thống máy tính để bảo vệ chúng, và nó có thể được sử dụng để đột nhập vào hệ thống từ xa Cũng như nhiều công cụ bảo mật thông tin
khác, Metasploit cũng có thể được sử dụng cho cả các hoạt động hợp pháp và các hoạt động trái phép Kể từ khi mua lại Metasploit Framework, Rapid7 đã có thêm ba
phiên bản lõi mở độc quyền là Metasploit Express, Metasploit Pro và Metsploit Community Trong đó 2 bản Express và Pro là tính phí còn Community là free.
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 www.metasploit.com Version mới nhất hiện nay là v4.0
Metasploit có thể tự động update bắt đầu từ version 2.2 trở đi, sử dụng script
dev_msfupdate.bat trong thư mục cài đặt
II Các thành phần của Metasploit
1 Metasploit Interface:
Metasploit hỗ trợ nhiều giao diện với người dùng:
- Console interface: dùng dev_msfconsole.bat để mở interface này 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, đặc biệt interface này còn hỗ trợ sử dụng phím tab để hoàn thành dòng lệnh giống như cisco IOS nên dễ sử dụng hơn cho người dùng Giao diện Console như hình sau:
Trang 3- Web interface: dùng local host default https://localhost:3790 giao tiếp thân thiện với
người dùng thông qua giao diện web Hiện Rapid7 cung cấp cho người dùng phiên bản dùng thử 7 ngày Metasploit Pro Giao diện Metasploit Pro như hình sau:
- Command line interface: dùng dev_msfgui.bat Tuy giao diện này không thân thiện
với người dùng nhưng nó cung cấp những kịch bản đơn giản và có thể thực hiện hàng loạt công việc cùng 1 lúc Giao diện CLI như hình sau:
Trang 42 Metasploit Enviroment:
Metasploit có 2 môi trường làm việc chính là Global Enviroment và Temporary 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
Ví dụ:
msf-pro> setg LPORT 80
msf-pro> setg LHOST 172.16.8.2
3 Module Framework:
Các module trong framework bao gồm:
- Exploits:là một phần của phần mềm, một đoạn dữ liệu, hoặc chuỗi các lệnh mà
lợi dụng một lỗi, lỗi hoặc lỗ hổng để gây ra hành vi không mong muốn hoặc không mong muốn xảy ra trên phần mềm máy tính, phần cứng, hoặc một cái gì đó thuộc điện
tử (thường trên máy vi tính) Điều này thường bao gồm những thứ như giành quyền kiểm soát của một hệ thống máy tính hoặc cho phép nâng quyền hay một tấn công từ chối dịch vụ
- Payloads:là các phần của code được thực thi trên hệthống đích như một phần của nỗ
lực khai thác
Metasploit cung cấp nhiều loại payload, bao gồm:
Lệnh Shell: cho phép người dùng chạy các kịch bản bộ sưu tập hoặc chạy các lệnh tùy
ý đối với máy chủ
Lệnh Meterpreter: cho phép người dùng điều khiển màn hình của thiết bị bằng cách sử dụng VNC và để trình duyệt tải lên và tải về tập tin
- NOP Generators: Thông thường, các vị trí chính xác của jump có thể không được
biết đến,và cácNOP cần được đưa vào trước để khai thác thực tế Để tránh IDSes
từ việc kích hoạt trên các mẫu lưu lượng truy cập, Các NOP Genergator cho phép làm bối rối các trình tự của NOP hoặc NOP sleds
Trang 5- Encoders: Cũng giống như NOP sleds hayPayloads đều có thể kích hoạt được IDS signatures Các Encoders còn có thể tránh được bằng cách mã hóa các payload,vì vậy
mà chúng vượt qua mà không bị phát hiện qua mạng, được giải mã vào mục tiêu, và thực hiện theo kế hoạch
- Auxiliary Modules: cung cấp chức năng tăng cường cho các thử nghiệm xâm nhập
về vân tay và quét lỗ hổng
III Sử dụng Metasploit framework
- 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 dev_msfupdate.bat
- 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
- 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.
- 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
Ví dụ:
msf-pro> use windows_ssl_pct
msf-pro> show targets
Exploit sẽ liệt kê ra những target như: winxp, winxp SP1, win2000, win2000 SP1
- 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 đó
Trang 6show advanced: xem những advanced options của payload đó
- 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 Sử dụng Metasploit Pro Web UI
Đang tiến hành thử nghiệm
Kết quả thu được ban đầu:
- Có thể Scan toàn bộ host trong mạng LAN Cung cấp thông tin chi tiết về OS, Ip address, Mac address của từng host trong mạng
- Có thể Scan một địa chỉ Web bất kỳ Cung cấp thông tin chi tiết về OS, Ip address
- Có thể Bruteforce tìm username & password và lỗ hổng để login, SSH hoặc khai thác
lỗ hổng của các host trong mạng
Trang 7V Cách phòng chống
Thường xuyên cập nhật các mã lỗi mới và tải 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