Một số tính năng của Metasploit scanner

  • Cung cấp quyền truy cập vào tất cả các lớp và phương thức của exploit
  • Cung cấp sự hỗ trợ cho proxy, SSL và report
  • Xây dựng một luồng và quét trong phạm vi chỉ định

Hữu ích

  • Việc viết một module để scan rất hữu ích trong kiểm tra an ninh mạng, bởi nó cho phép người sử dụng xác định mọi trường hợp của những mật khẩu kém an toàn hoặc có thể scan trong một nhóm các dịch vụ dễ bị tấn công mà cần được vá lại. Sử dụng Metasploit Framework sẽ cho phép cải tiến, thêm hoặc chỉnh sửa module nếu cần

Kịch bản

  • Sử dụng TCP scanner đơn giản này để kết nối đến một host ở cổng mặc định là 12345, có thể được thay đổi thông qua những options của scanner module lúc chạy.
  • Nó sẽ gửi một message ‘HELLO SERVER’, sau đó nhận một phản hồi (response) và xuất nó ra cùng với địa chỉ IP của host từ xa đó.

Code đơn giản của module TCP_scanner

  • Đoạn code này sử dụng các thư viện có sẵn như Remote::Tcp, Auxiliary::Scanner để hỗ trợ việc viết đơn giản hơn.
  • Super() chỉ là phần mô tả về tên, phiên bản, tác giả, bản quyền của module này.

  • Register_options() là phần tùy chọn thêm của module. Trong đoạn code này, phần option đã thiết đặt sẳn port kết nối là 12345. Nhưng ta vẫn có thể set RPORT lại theo ý mình.

  • Phần lệnh chính của module

  • Khi nhập địa chỉ IP từ màn hình chính, nó đưa IP vào hàm run_host(ip) để khởi chạy kết nối – hàm connect() sẽ đảm nhận trọng trách này. greeting = “HELLO SERVER” là một “lời chào” khi bên này kết nối tới host bên kia, sock.puts(greeting) sẽ đảm nhận nhiệm vụ đặt “lời chào” ấy vào socket để chuyển qua đó. data = sock.recv(1024) thì có nhiệm vụ khác là: nếu có một thông điệp phản hồi lại thì nó sẽ nhận vào bộ đệm data (mỗi lần 1024 bytes). Và sau đó, hàm print_status sẽ xuất dữ liệu nhận được kèm với IP của người gửi thông điệp đó. Cuối cùng, là disconnect() khi hoàn tất quá trình trên.

Lưu lại, kiểm tra và chạy Auxiliary Module Scanner

  • Đoạn code trên sẽ được lưu vào file có tên simple_tcp.rb và lưu vào thư mục
  • ~/.msf4/module/auxiliary/scanner/http – nếu là phiên bản kali dưới năm 2016
  • ~/.msf8/module/auxiliary/scanner/http – nếu là phiên bản kali năm 2016

Có 2 điều cần lưu ý:

  • Module đó sẽ không hiển thị trừ khi khởi động lại metasploit
  • Cấu trúc thư mục là rất quan trọng, nếu mà lưu nó trong đường dẫn sau:

~/.msf4/modules/auxiliary/scanner/http/ thì khi sử dụng nó ta dùng: msf> use auxiliary/scanner/http/simple_tcp

  • Để kiểm tra security scanner, thì hãy thiết lập một cổng 12345 để lắng nghe kết nối.
  • Sử dụng nc –lnvp 12345 để lắng nghe kết nối từ cổng này.
  • Ngoài ra, ta có thể tạo một txt với nội dung “Hello Metasploit” chẳng hạn, để khi mà bên Metasploit kết nối tới thì ta sẽ phản hồi thông điệp này với bên đó.

  • Sau đó, bên Metasploit sẽ sử dụng module simple_tcp để scan host có địa chỉ IP bên kia thử. Và sẽ có phản hồi như hình dưới đây:

  • Kết quả sẽ nhận về message “Hello Metasploit” từ 192.168.183.129
  • [*] Received: hello metasploit from 192.168.183.129
  • [*] Auxiliary module execution completed

Link demo