metasploit编写自己的扫描器

require 'msf/core'
class Metasploit3 < Msf::Auxiliary
	include Msf::Exploit::Remote::Tcp
	include Msf::Auxiliary::Scanner

	def initialize
		super(
			'Name'        => 'My custom TCP scan',
			'Version'     => '$Revision$',
			'Description' => 'My quick scanner',
			'Author'      => 'yang',
			'License'     => MSF_LICENSE
		)
		register_options(
			[
				Opt::RPORT(12345)
			], self.class)
	end

	def run_host(ip)
		connect()
		sock.puts('HELLO SERVER')
		data = sock.recv(1024)
		print_status("Received: #{data} from #{ip}")
		disconnect()
	end
end


脚本如上,名字为simple_tcp.rb,放在/opt/metasploit-4.5.0/apps/pro/msf3/modules/auxiliary/scanner这个目录

建立banner.txt

[root@localhost scanner]# cat banner.txt 
Hello Metasploit

监听12345端口:

[root@localhost scanner]# nc -l 12345 < banner.txt

启动msfconsole,让其加载simple_tcp,加载时会检查脚本是否正确。

加载成功

metasploit编写自己的扫描器_第1张图片


如果加载有问题,则会出现:

metasploit编写自己的扫描器_第2张图片


会出现警告,我怀疑是脚本没写对。


运行simple_tcp,结果如图


metasploit编写自己的扫描器_第3张图片


这样,就成功了。

你可能感兴趣的:(metasploit编写自己的扫描器)