Rapid7 Vulnerability & Exploit Database

NTP Protocol Fuzzer

Back to Search

NTP Protocol Fuzzer

Created
05/30/2018

Description

A simplistic fuzzer for the Network Time Protocol that sends the following probes to understand NTP and look for anomalous NTP behavior: * All possible combinations of NTP versions and modes, even if not allowed or specified in the RFCs * Short versions of the above * Short, invalid datagrams * Full-size, random datagrams * All possible NTP control messages * All possible NTP private messages This findings of this fuzzer are not necessarily indicative of bugs, let alone vulnerabilities, rather they point out interesting things that might deserve more attention. Furthermore, this module is not particularly intelligent and there are many more areas of NTP that could be explored, including: * Warn if the response is 100% identical to the request * Warn if the "mode" (if applicable) doesn't align with what we expect, * Filter out the 12-byte mode 6 unsupported opcode errors. * Fuzz the control message payload offset/size/etc. There be bugs

Author(s)

  • Jon Hart <jon_hart@rapid7.com>

Development

Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use auxiliary/fuzzers/ntp/ntp_protocol_fuzzer
msf auxiliary(ntp_protocol_fuzzer) > show actions
    ...actions...
msf auxiliary(ntp_protocol_fuzzer) > set ACTION < action-name >
msf auxiliary(ntp_protocol_fuzzer) > show options
    ...show and set options...
msf auxiliary(ntp_protocol_fuzzer) > run 

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security

;