Bá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. Giố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: - 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: 2. 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. - 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 đó. show 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. V. 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 . Bá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. 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. 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