From 424ebfbd70c7129ec907a918da928705553c6668 Mon Sep 17 00:00:00 2001 From: dmiller Date: Tue, 1 Sep 2020 17:09:47 +0000 Subject: [PATCH] New UDP payloads. Closes #1860 --- CHANGELOG | 4 ++ nmap-payloads | 151 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 153 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c738098eb..b941e979f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,10 @@ o [GH#1859] Allow multiple UDP payloads to be specified for a port in nmap-payloads. If the first payload does not get a response, the remaining payloads are tried round-robin. [Paul Miseiko, Rapid7] +o [GH#1860] 23 new UDP payloads and dozens more default ports for existing + payloads developed for Rapid7's InsightVM scan engine. These speed up and + ensure detection of open UDP services. [Paul Miseiko, Rapid7] + o [GH#1616] New option --discovery-ignore-rst tells Nmap to ignore TCP RST responses when determining if a target is up. Useful when firewalls are spoofing RST packets. [Tom Sellers, Rapid7] diff --git a/nmap-payloads b/nmap-payloads index a006809ed..92b866891 100644 --- a/nmap-payloads +++ b/nmap-payloads @@ -36,7 +36,37 @@ # GenericLines. Use for the echo service. udp 7 "\x0D\x0A\x0D\x0A" # DNSStatusRequest -udp 53 "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00" +udp 53,5353,26198 "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00" +# DNS VER +udp 53,5353,26198 + "\x77\x77\x01\x00\x00" + "\x01\x00\x00\x00\x00\x00\x00\x07\x76\x65\x72\x73\x69\x6f\x6e\x04\x62" + "\x69\x6e\x64\x00\x00\x10\x00\x03" + +# DHCP INFORM +udp 67 + "\x01\x01\x06\x00" + "\x01\x23\x45\x67\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x35\xd4\xd8\x51\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x82\x53\x63\x35\x01" + "\x08\xff" + +# TFTP GET +udp 69 + "\x00\x01\x72\x37\x74\x66\x74\x70\x2e\x74\x78\x74\x00\x6f\x63" + "\x74\x65\x74\x00" + # QUIC packet with unsupported version Q999 # Also found on 443, but need to check whether DTLS or QUIC is more prevalent udp 80 "\r12345678Q999\x00" @@ -45,21 +75,57 @@ udp 111 "\x72\xFE\x1D\x13\x00\x00\x00\x00\x00\x00\x00\x02\x00\x01\x86\xA0" "\x00\x01\x97\x7C\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00" +# ONCRPC CALL +udp 111,2049,4045,32768-65535 + "\x3e\xec\xe3\xca\x00\x00\x00\x00\x00\x00\x00\x02\x00" + "\xbc\x61\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" # NTPRequest udp 123 "\xE3\x00\x04\xFA\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\xC5\x4F\x23\x4B\x71\xB1\x52\xF3" +# NTP REQ +udp 123 + "\xd9\x00\x0a\xfa\x00\x00\x00" + "\x00\x00\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6" + "\xf1\x5e\xdb\x78\x00\x00\x00" +# DCERPC CALL +udp 135,1025-1199 + "\x05\x00\x0b\x03\x10\x00\x00\x00\x48\x00" + "\x00\x00\x01\x00\x00\x00\xb8\x10\xb8\x10\x00\x00\x00\x00\x01\x00\x00" + "\x00\x00\x00\x01\x00\x01\x23\x45\x67\x89\xab\xcd\xef\x01\x23\x45\x67" + "\x89\xab\xcd\xef\xe7\x03\x00\x00\xfe\xdc\xba\x98\x76\x54\x32\x10\x01" + "\x23\x45\x67\x89\xab\xcd\xef\xe7\x03\x00\x00" # NBTStat udp 137 "\x80\xF0\x00\x10\x00\x01\x00\x00\x00\x00\x00\x00" "\x20CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\x00\x00\x21\x00\x01" +# CIFS NS NAME QUERY UC +udp 137 + "\x01\x91\x00\x00\x00\x01" + "\x00\x00\x00\x00\x00\x00\x20\x43\x4b\x41\x41\x41\x41\x41\x41\x41\x41" + "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" + "\x41\x41\x41\x41\x41\x00\x00\x21\x00\x01" +# CIFS NS NAME QUERY BC +udp 137 + "\x01\x91\x00\x10\x00\x01\x00" + "\x00\x00\x00\x00\x00\x20\x43\x4b\x41\x41\x41\x41\x41\x41\x41\x41\x41" + "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" + "\x41\x41\x41\x41\x00\x00\x21\x00\x01" # SNMPv3GetRequest -udp 161 +udp 161,260,3401 "\x30\x3A\x02\x01\x03\x30\x0F\x02\x02\x4A\x69\x02\x03\x00\xFF\xE3" "\x04\x01\x04\x02\x01\x03\x04\x10\x30\x0E\x04\x00\x02\x01\x00\x02" "\x01\x00\x04\x00\x04\x00\x04\x00\x30\x12\x04\x00\x04\x00\xA0\x0C" "\x02\x02\x37\xF0\x02\x01\x00\x02\x01\x00\x30\x00" +# SNMP PUBLIC WALK +udp 161,260,3401 + "\x30\x1f\x02\x01\x00\x04\x06\x70" + "\x75\x62\x6c\x69\x63\xa1\x12\x02\x01\x00\x02" + "\x01\x00\x02\x01\x00\x30" + "\x07\x30\x05\x06\x01\x00\x05\x00" # Sqlping - disabled because it trips a Snort rule with SID 2049 # ("MS-SQL ping attempt"). # udp 1434 "\x02" @@ -134,6 +200,22 @@ udp 500 "\x80\x03\x00\x01\x80\x04\x00\x02" "\x80\x0B\x00\x01\x00\x0C\x00\x04\x00\x00\x00\x01" source 500 +# IPSEC START +udp 500,4500 + "\x31\x27\xfc" + "\xb0\x38\x10\x9e\x89\x00\x00\x00\x00\x00\x00\x00\x00\x01\x10\x02\x00" + "\x00\x00\x00\x00\x00\x00\x00\xcc\x0d\x00\x00\x5c\x00\x00\x00\x01\x00" + "\x00\x00\x01\x00\x00\x00\x50\x01\x01\x00\x02\x03\x00\x00\x24\x01\x01" + "\x00\x00\x80\x01\x00\x05\x80\x02\x00\x02\x80\x04\x00\x02\x80\x03\x00" + "\x03\x80\x0b\x00\x01\x00\x0c\x00\x04\x00\x00\x0e\x10\x00\x00\x00\x24" + "\x02\x01\x00\x00\x80\x01\x00\x05\x80\x02\x00\x01\x80\x04\x00\x02\x80" + "\x03\x00\x03\x80\x0b\x00\x01\x00\x0c\x00\x04\x00\x00\x0e\x10\x0d\x00" + "\x00\x18\x1e\x2b\x51\x69\x05\x99\x1c\x7d\x7c\x96\xfc\xbf\xb5\x87\xe4" + "\x61\x00\x00\x00\x04\x0d\x00\x00\x14\x40\x48\xb7\xd5\x6e\xbc\xe8\x85" + "\x25\xe7\xde\x7f\x00\xd6\xc2\xd3\x0d\x00\x00\x14\x90\xcb\x80\x91\x3e" + "\xbb\x69\x6e\x08\x63\x81\xb5\xec\x42\x7b\x1f\x00\x00\x00\x14\x26\x24" + "\x4d\x38\xed\xdb\x61\xb3\x17\x2a\x36\xe3\xd0\xcf\xb8\x19" +source 500 # Routing Information Protocol version 1. Special-case request for the entire # routing table (address family 0, address 0.0.0.0, metric 16). RFC 1058, @@ -142,6 +224,12 @@ udp 520 "\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x10" +# RMCP ASF ping +udp 623 + "\x06\x00\xff\x06" # RMCP version 6, sequence 0xff, normal RMCP class ASF + "\x00\x00\x11\xbe" # IAN ASF code 4542 + "\x80\x00\x00\x00" # payload-less ASF presence ping + # IPMI # RMCP Get Channel Auth Capabilities udp 623 @@ -160,6 +248,11 @@ udp 626 "SNQUERY: 127.0.0.1:AAAAAA:xsvr" # Byte 9: Message packet-id array length (0) # Byte 10-13: Message packet-id (0) udp 1194 "8d\xc1x\x01\xb8\x9b\xcb\x8f\0\0\0\0\0" +# OpenVPN when in PKI mode and without the "HMAC Firewall" setting enabled +# (tls-auth) should respond to the following probe, which is +# 0x38<8 random bytes><4 null bytes> +udp 1194 + "\x38\x01\x02\x03\x04\x05\x06\x07\x08\x00\x00\x00\x00" # Citrix MetaFrame application browser service # Original idea from http://sh0dan.org/oldfiles/hackingcitrix.html @@ -202,6 +295,23 @@ udp 1645,1812 "\x01\x00\x00\x14" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +# L2TP ICRQ +udp 1701 + "\xc8\x02" + "\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00" + "\x01\x80\x08\x00\x00\x00\x02\x01\x00\x80\x0e\x00\x00\x00\x07\x6e\x78" + "\x70\x2d\x73\x63\x61\x6e\x80\x0a\x00\x00\x00\x03\x00\x00\x00\x03\x80" + "\x08\x00\x00\x00\x09\x00\x00" + +# UPNP MSEARCH +udp 1900 + "\x4d\x2d\x53\x45\x41\x52\x43\x48\x20\x2a" + "\x20\x48\x54\x54\x50\x2f\x31\x2e\x31\x0d\x0a\x48\x6f\x73\x74\x3a\x20" + "\x32\x33\x39\x2e\x32\x35\x35\x2e\x32\x35\x35\x2e\x32\x35\x30\x3a\x31" + "\x39\x30\x30\x0d\x0a\x4d\x61\x6e\x3a\x20\x22\x73\x73\x64\x70\x3a\x64" + "\x69\x73\x63\x6f\x76\x65\x72\x22\x0d\x0a\x4d\x58\x3a\x20\x35\x0d\x0a" + "\x53\x54\x3a\x20\x73\x73\x64\x70\x3a\x61\x6c\x6c\x0d\x0a\x0d\x0a" + # NFS version 2, RFC 1831. XID 0x00000000, program 100003 (NFS), procedure # NFSPROC_NULL (does nothing, see section 2.2.1), null authentication (see # section 9.1). @@ -272,13 +382,24 @@ udp 5351 "\x00\x00" # dns-sd -B _services._dns-sd._udp . # See section 9 of # http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt. +# This first probe is a QU probe, meaning a unicast response is desired +udp 5353 + "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00" + "\x09_services\x07_dns-sd\x04_udp\x05local\x00\x00\x0C\x80\x01" +# This second probe is a QM probe, meaning a unicast response is desired udp 5353 "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00" "\x09_services\x07_dns-sd\x04_udp\x05local\x00\x00\x0C\x00\x01" +# PCANY STATUS +udp 5632 "\x53\x54" + # CoAP GET .well-known/core udp 5683 "@\x01\x01\xce\xbb.well-known\x04core" +# UT2K PING +udp 7777 "\x4e\x6f\x6e\x65\x00" + # Ubiquiti Discovery Service - v1 udp 10001 "\x01\x00\x00\x00" @@ -310,6 +431,13 @@ udp 17185 "\x00\x00\x00\x30\x00\x00\x00\x01" # Empty data? "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00" +# VXWORKS DEBUG (alternative?) +udp 17185 + "\x72\x37\x72\x37\x00\x00\x00" + "\x00\x00\x00\x00\x02\x55\x55\x55\x55\x00\x00\x00\x01\x00\x00\x00\x01" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff" + "\xff\x55\x10\x00\x00\x00\x3c\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00" + "\x00\x00\x00\x00\x00\x00" # Quake 2 and Quake 3 game servers (and servers of derived games like Nexuiz). # Gets game information from the server (see probe responses in @@ -335,6 +463,10 @@ udp 64738 "\x00\x00\x00\x00abcdefgh" udp 3784 "\x01\xe7\xe5\x75\x31\xa3\x17\x0b\x21\xcf\xbf\x2b\x99\x4e\xdd\x19\xac\xde\x08\x5f\x8b\x24\x0a\x11\x19\xb6\x73\x6f\xad\x28\x13\xd2\x0a\xb9\x12\x75" +# Kademlia (kad) as used by various P2P applications. Send a Kademlia ping +# 4665, 4666, 4672, 6429: eDonkey/eMule and variants +udp 4665,4666,4672,6429 "\xE4\x60" + # TeamSpeak 2 # UDP login request # See http://wiki.wireshark.org/TeamSpeak2 @@ -353,6 +485,21 @@ udp 9987 udp 11211 "\0\x01\0\0\0\x01\0\0version\r\n" +# Steam, typically using a port in 27015-27030. Send a "Source Engine query" +udp 27015-27030 + "\xff\xff\xff\xff\x54\x53\x6f\x75\x72\x63\x65\x20\x45\x6e\x67\x69\x6e\x65\x20\x51\x75\x65\x72\x79\x00" + +# TRIN00 UNIX PING +udp 27444 "\x70\x6e\x67\x20\x6c\x34\x34\x61\x64\x73\x6c" + +# BO PING +udp 31337 + "\xce\x63\xd1\xd2\x16\xe7\x13\xcf\x38" + "\xa5\xa5\x86\xb2\x75\x4b\x99\xaa\x32\x58" + +# TRIN00 WIN PING +udp 34555 "\x70\x6e\x67\x20\x5b\x5d\x2e\x2e\x4b\x73" + # Beckhoff ADS discovery request # https://github.com/ONE75/adsclient/blob/master/src/AdsClient.Finder/DeviceFinder.cs#L49-L64 udp 48899