Path: blob/master/modules/auxiliary/scanner/db2/discovery.rb
19583 views
##1# This module requires Metasploit: https://metasploit.com/download2# Current source: https://github.com/rapid7/metasploit-framework3##45class MetasploitModule < Msf::Auxiliary6include Msf::Auxiliary::Report7include Msf::Auxiliary::Scanner8include Msf::Exploit::Remote::Udp910def initialize11super(12'Name' => 'DB2 Discovery Service Detection',13'Description' => 'This module simply queries the DB2 discovery service for information.',14'Author' => [ 'MC' ],15'License' => MSF_LICENSE,16'Notes' => {17'Stability' => [CRASH_SAFE],18'SideEffects' => [],19'Reliability' => []20}21)2223register_options([Opt::RPORT(523),])24end2526def run_host(ip)27pkt = 'DB2GETADDR' + "\x00" + 'SQL05000' + "\x00"2829connect_udp30udp_sock.put(pkt)31res = udp_sock.read(1024)3233unless res34print_error("Unable to determine version info for #{ip}")35return36end3738res = res.split(/\x00/)3940product_id = res[1]41node_name = res[2]4243report_note(44host: ip,45proto: 'udp',46port: datastore['RPORT'],47type: 'SERVICE_INFO',48data: { service_info: "#{node_name}_#{product_id}" }49)5051report_service(52host: ip,53port: datastore['RPORT'],54proto: 'udp',55name: 'ibm-db2',56info: "#{node_name}_#{product_id}"57)5859print_good("Host #{ip} node name is #{node_name} with a product id of #{product_id}")60rescue ::Rex::ConnectionError => e61vprint_error(e.message)62rescue ::Errno::EPIPE => e63vprint_error(e.message)64ensure65disconnect_udp66end67end686970