
Nmap Development mailing list archives
Service fingerprint integration highlights
From: Daniel Miller <bonsaiviking () gmail com>
Date: Thu, 29 Oct 2015 11:19:05 -0500
Since February we have added 259 service match lines, a 2.5% increase. Of those, 9 were new softmatches for services including http, openflow, hadoop-ipc, domain, smtp, ftp, and postgresql. We dealt with a few false-positive match problems of note: * The sslstrip http-proxy match for the GenericLines probe was commented out. Several products return a bare HTTP 400 error for this probe, so it's not a good candidate. * The Apache http softmatch was changed to add a negative lookahead '(?!400)' to prevent matching 400 errors, which can be sent plaintext by an HTTPS service. * The Landesk "match 264 random bytes" regex was expanded to avoid matching HTTP services with a similar '(?!HTTP)' * We moved a big block of generic Apache fingerprints down near the bottom of the http section of GetRequest matches so that more-specific match lines can match first. If you wanna ride in my Mercedes, you better probe port 2000/tcp: match telematics m|^<auth-request rca-id=\"1\" version=\"([\d.]+)\" car-line=\"([^"]+)\" telematics=\"([^"]+)\" phase=\"NEGOTIATE_PARAMS\"/>\0<auth-ack result=\"FALSE\" reason=\"APP_NOT_SUPPORTED\"/>\0| p/Mercedes telematics/ v/$1/ i/model: $2; telematics: $3/ Care to sequence your genome over the Internet? match dnastar m|^....\0{7}.,PSH,[\x21-\x7e]{55}\0{800}|s p/Dnastar Lasergene/ cpe:/a:dnastar:lasergene/ OpenFlow Software Defined Networking (SDN) is an interesting service that we get submissions for occasionally. It really should get an NSE script, so I added a suggestion to the Script Ideas page on SecWiki: https://secwiki.org/w/Nmap/Script_Ideas # https://wiki.wireshark.org/OpenFlow # 4-byte TXID is random in OpenDaylight, sequential in POX softmatch openflow m|^\x01\0\0\x08....$| i/OpenFlow 1.0/ Did you know Python's multiprocessing module can communicate over TCP? # Unfortunately, no authkey comes up tcpwrapped :( Need a good probe or NSE script. match python-mp m|^\0\0\0\x1f#CHALLENGE#.{20}| p/Python multiprocessing.connection.Listener/ i/authkey set/ cpe:/a:python:python/ A few new services I labeled "textui" instead of "telnet" since they don't actually do Telnet protocol negotiation. I'd gladly take suggestions for how to better classify things. Here's a home automation system: match textui m|^R:ERROR:6 \"Syntax Error\"\r\n| p/Vantage InFusion home automation controller port/ Thanks to Kristian Hermansen, we know Valve Steam's new in-home streaming service responds to the Help probe, usually including its hostname: match valve-steam m|^\xff\xff\xff\xff!L_\xa0.{28}\0\0\0\x08\x06\x10\x06\x18\x9c\xd3\x01\".([\w.-]+)0\x028| p/Valve Steam In-Home Streaming service/ h/$1/ match valve-steam m|^\xff\xff\xff\xff!L_\xa0| p/Valve Steam In-Home Streaming service/ A few malware listeners; perhaps we should mark these "malware" instead of "backdoor"? # https://www.mysonicwall.com/sonicalert/searchresults.aspx?ev=article&id=733 match backdoor m|^!\* LOLNOGTFO\nDUP\n| p/Linux.Flooder.SS C&C server/ i/**MALWARE**/ o/Linux/ cpe:/o:linux:linux_kernel/a match backdoor m|^x0$| p/Blackshades connection port/ i/**BACKDOOR**/ o/Windows/ cpe:/o:microsoft:windows/a match backdoor m|^REQF\x0c1\x0c1$| p/Blackshades transfer port/ i/**BACKDOOR**/ o/Windows/ cpe:/o:microsoft:windows/a And nothing like an unprotected bind shell to make you feel secure in your network: # "version" may be locale-dependent: reported as Portuguese with versão match shell m|^Microsoft Windows ([^[]+) \[[^]]+ ([\d.]+)\]\r\n\(C\) Copyright 1985-\d\d\d\d Microsoft Corp\.\r\n\r\n(.*)>| p/CMD.EXE/ i/**BACKDOOR**; Windows $2; path: $3/ o/Windows $1/ cpe:/o:microsoft:windows_$SUBST(1," ","_")/ This service slurps up multicast streams and returns them in response to a HTTP request: match http m|^HTTP/1\.1 200 OK \nContent-Type:application/octet-stream\n\n| p/udpxy UDP-to-HTTP multicast traffic relay/ cpe:/a:pavel_cherenkov:udpxy/ We corrected the name and CPE of various iterations of Macromedia/Adobe sometimes-Flash Media Server based on version number: match http m|^HTTP/1\.0 \d\d\d .*\r\nServer: FlashCom/(1\.[\w._-]+)\r\n|s p/Macromedia Flash Communication Server httpd/ v/$1/ cpe:/a:macromedia:flash_communication_server:$1/ match http m|^HTTP/1\.0 \d\d\d .*\r\nServer: FlashCom/(2\.[\w._-]+)\r\n|s p/Macromedia Flash Media Server httpd/ v/$1/ cpe:/a:macromedia:flash_media_server:$1/ match http m|^HTTP/1\.0 \d\d\d .*\r\nServer: FlashCom/([34]\.[\w._-]+)\r\n|s p/Adobe Flash Media Server httpd/ v/$1/ cpe:/a:adobe:flash_media_server:$1/ match http m|^HTTP/1\.0 \d\d\d .*\r\nServer: FlashCom/([5-9]\.[\w._-]+)\r\n|s p/Adobe Media Server httpd/ v/$1/ cpe:/a:adobe:media_server:$1/ Finally have a match for BitKeeper, the VCS that inspired Linus Torvalds to create Git: match bitkeeper m|^@SERVER INFO@\nPROTOCOL=([\d.]+)\nVERSION=bk-([\w._-]+)\nUTC=\d+\nTIME_T=\d+\nROOT=([^\n]+)\nUSER=(?:[^\n]+)\nHOST=(?:[^\n]+)\nREALUSER=(?:[^\n]+)\nREALHOST=([^\n]+)\nPLATFORM=([^\n]+)\n| p/BitKeeper distributed VCS/ v/$2/ i/protocol $1; root $3; $5/ h/$4/ cpe:/a:bitmover:bitkeeper:$2 AFP match lines will now grab the hardware version for Mac computers, reporting things like MacPro5,1 which can be used to identify a family of model numbers. And we have had a few upgrades to our service probes that are worth a closer look: * TLSSessionReq - http://issues.nmap.org/199 * TLS-PSK - http://seclists.org/nmap-dev/2015/q4/51 Dan
_______________________________________________ Sent through the dev mailing list https://nmap.org/mailman/listinfo/dev Archived at http://seclists.org/nmap-dev/
Current thread:
- Service fingerprint integration highlights Daniel Miller (Oct 29)