CHƢƠNG 2 : TỔNG QUAN VỀ METASPLOIT
3.5. Viết chƣơng trình và chạy thử nghiệm công cụ
3.5.2. Chạy thử nghiệm công cụ
Khi đƣợc nạp vào thông qua lệnh “load report”, quá trình khởi động Plugin sẽ gồm các bƣớc (xem Hình 3.19).
Nạp và kiểm tra các Module chức năng, cụ thể nạp ReportEngine và từ ReportEngine sẽ nạp các Module con và các Module liên quan đƣợc sử dụng. Việc nạp thành công khi kiểm tra đƣợc phiên bản của các thành phần con.
Đọc tình trạng các gói dữ liệu đã đƣợc sử dụng lần trƣớc đó.
Gắn bộ lệnh của công cụ Report vào bộ lệnh của Console.
Chạy lời chào của công cụ.
Kiểm tra thử tình trạng kết nối cơ sở dữ liệu.
Ngoài ra các lệnh trong chƣơng trình bao gồm:
Report_banner: In lại lời chào ứng dụng ra màn hình (Hình 3.20)
Hình 3. 20 Lệnh Report_banner
Check_db: Sử dụng biến trạng thái cơ sở dữ liệu của Framerork để thông báo và cập nhật
trạng thái cơ sở dữ liệu của công cụ (Hình 3.21).
Hình 3. 21 Lệnh Check_db
Check_report: Sử dụng để kiểm tra các chức năng của chƣơng trình có hoạt động đúng
hay không bằng việc ngầm xuất một File báo cáo mẫu (Hình 3.22).
Check_status: Kiểm tra trạng thái các gói dữ liệu, liệt kê, thông tin lần cập nhật cuối cùng và tình trạng chọn. Các gói này đƣợc lƣu trong thƣ mục cài đặt của chƣơng trình nên ngƣời dùng có thể bỏ trực tiếp File theo định dạng Xml xuất cơ sở dữ liệu của Metasploit vào trong thƣ mục chứa. Trạng thái của các gói dữ liệu này đƣợc lƣu dƣới dạng tên gói trong biến của chƣơng trình nên khi chƣa sử dụng thì gói sẽ chƣa đƣợc mở (Hình 3.23).
Hình 3. 23 Lệnh Check_status
Use_datapack: Chọn gói cho mục đích xuất báo cáo. Gói đƣợc chọn sau khi check_status
sẽ đƣợc hiển thị có dấu tích X (Hình 3.24).
Unuse_datapack: Bỏ chọn gói dữ liệu (Hình 3.25).
Hình 3. 25 Lệnh Unuse_datapack
Remove_datapack: Xoá vĩnh viễn gói dữ liệu khỏi máy (Hình 3.26)
Hình 3. 26 Lệnh Remove_datapack
Collect_info: thu thập thông tin của Workspace đƣợc chỉ định trở thành một gói dữ liệu
dùng cho việc tạo báo cáo. Các tập tin dữ liệu này sẽ đƣợc lƣu trong thƣ mục chứa các gói dữ liệu và hiển thị ngay trên check_status (Hình 3.27).
Hình 3. 27 Lệnh Collect_info
Gen_report: thực hiện tạo báo cáo ra một đƣờng dẫn đƣợc chỉ định. Báo cáo đƣợc lƣu dƣới dạng PDF hoặc HTML nhƣng không khuyến khích dùng tập tin HTML vì có thể bị chỉnh sửa dễ dàng. Để lấy tập tin HTML, sau khi xuất file ngƣời dùng cần vào thƣ mục Report_engine/Generator/form/<loại báo cáo>/export.html để dùng (Hình 3.28).
Sau khi tạo báo cáo, File đã xuất hiện ở thƣ mục đích (Hình 3.29).
Hình 3. 29 File báo cáo
Hoạt động tạo báo cáo của các lệnh Check_report và lệnh Report đều thực hiện qua chƣơng trình con PDFexporter.exe. Vì hiện tại Plugin không thể đƣa tới cho ngƣời dùng Gem Ruby hay yêu cầu Rapid7 thêm Gem liên quan đến hoạt động tạo báo cáo nên các Gem dùng ngoài cho mục đích tạo File đƣợc viết trong File PDFexport.rb và PDFexporter.rb và sau đó đƣợc biên dịch bằng công cụ Ocra để tạo File có thể thực thi cho nền tảng Windows. Công cụ Ocra có nhiệm vụ đọc mã nguồn, tích hợp môi trƣờng Ruby phù hợp và các gói cần thiết cho công cụ PDFexport chạy đƣợc và biên dịch thành File thực thi. Việc này thuận tiện cho nhà phát triển khi không thể can thiệp đƣợc vào danh sách các gói đƣợc sử dụng của Framework, tránh việc phiên bản Plugin không thể hoạt động khi Framework cập nhật và thay đổi danh sách Gem.