Path: blob/master/lib/msf/core/auxiliary/etcd.rb
19852 views
# -*- coding: binary -*-123module Msf4module Auxiliary::Etcd5TCP_PORT = 23796def initialize(info = {})7super89register_options(10[11Opt::RPORT(TCP_PORT),12OptString.new('TARGETURI', [true, 'base URI of etcd', '/'])13]14)1516register_autofilter_ports([TCP_PORT])17end1819def fingerprint_service(target_uri)20res = send_request_raw(21'uri' => normalize_uri(target_uri, 'version'),22'method' => 'GET'23)24if res && res.code == 20025begin26banner = res.get_json_document27rescue JSON::ParserError => e28print_error("Failed to read JSON from etcd version response: #{e.class} - #{e.message}}")29return30end31elsif res32vprint_error("Invalid response #{res.code} for etcd version response")33return34else35vprint_error("No response for etcd version probe")36return37end3839report_service(40host: rhost,41port: rport,42name: 'etcd',43proto: 'tcp',44info: banner45)46banner47end48end49end505152