Path: blob/master/modules/auxiliary/scanner/db2/db2_version.rb
19515 views
##1# This module requires Metasploit: https://metasploit.com/download2# Current source: https://github.com/rapid7/metasploit-framework3##45class MetasploitModule < Msf::Auxiliary6include Msf::Exploit::Remote::DB27include Msf::Auxiliary::Scanner8include Msf::Auxiliary::Report910def initialize11super(12'Name' => 'DB2 Probe Utility',13'Description' => 'This module queries a DB2 instance information.',14'Author' => ['todb'],15'License' => MSF_LICENSE,16'Notes' => {17'Stability' => [CRASH_SAFE],18'SideEffects' => [],19'Reliability' => []20}21)22register_options(23[24OptInt.new('TIMEOUT', [true, 'Timeout for the DB2 probe', 5])25]26)2728deregister_options('USERNAME', 'PASSWORD')29end3031def to32return 5 if datastore['TIMEOUT'].to_i.zero?3334datastore['TIMEOUT'].to_i35end3637def run_host(ip)38info = db2_probe(to)39if info[:excsatrd]40inst = info[:instance_name]41plat = info[:platform]42ver = info[:version]43pta = info[:plaintext_auth]44report_info = "Platform: #{plat}, Version: #{ver}, Instance: #{inst}, Plain-Authentication: #{pta ? 'OK' : 'NO'}"45print_good("#{ip}:#{rport} DB2 - #{report_info}")46report_service(47host: rhost,48port: rport,49name: 'db2',50info: report_info51)52end53disconnect54rescue ::Rex::ConnectionRefused55vprint_error("#{rhost}:#{rport} : Cannot connect to host")56return :done57rescue ::Rex::ConnectionError58vprint_error("#{rhost}:#{rport} : Unable to attempt probe")59return :done60rescue ::Rex::Proto::DRDA::RespError => e61vprint_error("#{rhost}:#{rport} : Error in connecting to DB2 instance: #{e}")62return :error63end64end656667