rapid7/metasploit-framework

View on GitHub
lib/msf/core/auxiliary/ntp.rb

Summary

Maintainability
A
20 mins
Test Coverage
# -*- coding: binary -*-
module Msf

###
#
# This module provides methods for working with NTP
#
###
module Auxiliary::NTP

  include Exploit::Capture
  include Auxiliary::Scanner

  #
  # Initializes an instance of an auxiliary module that uses NTP
  #

  def initialize(info = {})
    super
    register_options(
    [
      Opt::RPORT(123),
    ], self.class)

    register_advanced_options(
      [
        OptInt.new('VERSION', [true, 'Use this NTP version', 2]),
        OptInt.new('IMPLEMENTATION', [true, 'Use this NTP mode 7 implementation', 3])
      ], self.class)
  end

  # Called for each IP in the batch
  def scan_host(ip)
    if spoofed?
      datastore['ScannerRecvWindow'] = 0
      scanner_spoof_send(@probe, ip, datastore['RPORT'], datastore['SRCIP'], datastore['NUM_REQUESTS'])
    else
      scanner_send(@probe, ip, datastore['RPORT'])
    end
  end
end
end