Files
metasploit-gs/tools/modules/module_ports.rb
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
1.3 KiB
Ruby
Raw Normal View History

#!/usr/bin/env ruby
2018-03-20 11:33:34 +00:00
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
2010-05-03 17:13:09 +00:00
#
# This script lists each module by the default ports it uses
#
msfbase = __FILE__
while File.symlink?(msfbase)
2013-09-30 13:47:53 -05:00
msfbase = File.expand_path(File.readlink(msfbase), File.dirname(msfbase))
end
2015-10-06 10:30:52 -05:00
$:.unshift(File.expand_path(File.join(File.dirname(msfbase), '..', '..', 'lib')))
2012-04-15 23:35:38 -05:00
require 'msfenv'
$:.unshift(ENV['MSF_LOCAL_LIB']) if ENV['MSF_LOCAL_LIB']
require 'rex'
# Initialize the simplified framework instance.
2010-10-12 15:57:58 +00:00
$framework = Msf::Simple::Framework.create('DisableDatabase' => true)
2024-01-16 13:31:51 +00:00
# XXX: this is weird, merging module sets together for different module types could lead to unforseen issues
all_modules = $framework.exploits.merge($framework.auxiliary)
all_ports = {}
all_modules.each_module { |name, mod|
2013-09-30 13:47:53 -05:00
x = mod.new
ports = []
if x.datastore['RPORT']
ports << x.datastore['RPORT']
end
if(x.respond_to?('autofilter_ports'))
x.autofilter_ports.each do |rport|
ports << rport
end
end
ports = ports.map{|p| p.to_i}
ports.uniq!
ports.sort{|a,b| a <=> b}.each do |rport|
2024-01-07 13:28:13 -05:00
# Just record the first occurrence.
2013-09-30 13:47:53 -05:00
all_ports[rport] = x.fullname unless all_ports[rport]
end
}
all_ports.sort.each { |k,v|
2013-09-30 13:47:53 -05:00
puts "%5s # %s" % [k,v]
}