From fd0b42be4a64257df7c5843ac44b5a4a292147f4 Mon Sep 17 00:00:00 2001 From: Jon Hart Date: Mon, 15 Jun 2015 12:45:14 -0700 Subject: [PATCH] Properly store quake service info --- modules/auxiliary/scanner/quake/server_info.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/auxiliary/scanner/quake/server_info.rb b/modules/auxiliary/scanner/quake/server_info.rb index 259a1110df..7d4c9e24ea 100644 --- a/modules/auxiliary/scanner/quake/server_info.rb +++ b/modules/auxiliary/scanner/quake/server_info.rb @@ -55,10 +55,13 @@ class Metasploit3 < Msf::Auxiliary stuff = decode_info(response) when 'status' stuff = decode_status(response) + else + stuff = {} end if datastore['VERBOSE'] - stuff.inspect + # get everything + stuff else # try to get the host name, game name and version stuff.select { |k, _| %w(hostname sv_hostname gamename com_gamename version).include?(k) } @@ -68,9 +71,9 @@ class Metasploit3 < Msf::Auxiliary def scanner_process(response, src_host, src_port) stuff = decode_stuff(response) return unless stuff - @results[src_host] ||= [] + @results[src_host] ||= {} print_good("#{src_host}:#{src_port} found '#{stuff}'") - @results[src_host] << stuff + @results[src_host].merge!(stuff) end def scanner_postscan(_batch) @@ -81,7 +84,7 @@ class Metasploit3 < Msf::Auxiliary proto: 'udp', port: rport, name: 'Quake', - info: stuff + info: stuff.inspect ) end end