1. 程式人生 > >滲透之——Metasploit自定義FTP掃描模組

滲透之——Metasploit自定義FTP掃描模組

轉載請註明出處:https://blog.csdn.net/l1028386804/article/details/86375375

這裡,我們編寫的Ruby指令碼ftp_version_by_binghe.rb如下:

##
# Author 冰河
# Date 2019-01-12
# Description 自定義FTP發現模組,用於主動發現目標機所在C段網路的FTP伺服器,並主動進行自動化滲透
##
require 'msf/core'
class Metasploit3 < Msf::Auxiliary
  include Msf::Exploit::Remote::Ftp
  include Msf::Auxiliary::Scanner
  include Msf::Auxiliary::Report

  #初始化基礎資訊
  def initialize
    super(
      'Name'        => 'FTP Version Scanner Customized Module',
      'Description' => 'Detect FTP Version from the target and Attack All of The FTP Server.',
      'Author'      => 'binghe',
      'License'     => MSF_LICENSE
    )

    register_options(
      [
        Opt::RPORT(21),
      ])
  end

  #程式入口
  def run_host(target_host)

    connect(true, false)

    if(banner)
    print_status("#{rhost} is running #{banner}")
    report_service(:host=>rhost, :port=>rport, :name=>"ftp", :info=>banner)
    end
    disconnect
   end
end

接下來我們將ftp_version_by_binghe.rb指令碼上傳到Kali伺服器的/usr/share/metasploit-framework/modules/auxiliary/scanner/ftp目錄下。

在執行這個指令碼之前,我們先使用Metasploit中的msftidy工具檢查一下此指令碼的語法是否正確。

在Kali的命令列執行如下命令:

/usr/share/metasploit-framework/tools/dev/msftidy.rb /usr/share/metasploit-framework/modules/auxiliary/scanner/ftp/ftp_version_by_binghe.rb 

未輸出任何資訊,證明指令碼正確。

接下來,我們進行msf終端,執行我們自定義的FTP掃描模組:

msfconsole
use auxiliary/scanner/ftp/ftp_version_by_binghe 
show options
set RHOSTS 192.168.109.159
run

輸出的結果為:

[*] 192.168.109.159:21    - 192.168.109.159 is running 220 (vsFTPd 2.3.4)

[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed