mirror of
https://github.com/nmap/nmap.git
synced 2025-12-06 12:41:29 +00:00
@@ -1,5 +1,7 @@
|
|||||||
# Nmap Changelog ($Id$); -*-text-*-
|
# Nmap Changelog ($Id$); -*-text-*-
|
||||||
|
|
||||||
|
o [NSE] Added docker-version script for detecting Docker [Claudio Criscione]
|
||||||
|
|
||||||
o [NSE] Improved http-form-brute autodetection and behavior to handle more
|
o [NSE] Improved http-form-brute autodetection and behavior to handle more
|
||||||
unusual-but-valid HTML syntax, non-POST forms, success/failure testing on
|
unusual-but-valid HTML syntax, non-POST forms, success/failure testing on
|
||||||
HTTP headers, and more. [nnposter]
|
HTTP headers, and more. [nnposter]
|
||||||
|
|||||||
36
scripts/docker-version.nse
Normal file
36
scripts/docker-version.nse
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
local shortport = require "shortport"
|
||||||
|
local json = require "json"
|
||||||
|
local http = require "http"
|
||||||
|
local nmap = require "nmap"
|
||||||
|
|
||||||
|
description = [[Detects the Docker service version.]]
|
||||||
|
|
||||||
|
---
|
||||||
|
-- @output
|
||||||
|
-- PORT STATE SERVICE VERSION
|
||||||
|
-- 2375/tcp open docker Docker 1.1.2
|
||||||
|
|
||||||
|
author = "Claudio Criscione"
|
||||||
|
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||||
|
categories = {"version"}
|
||||||
|
|
||||||
|
portrule = shortport.version_port_or_service({2375, 2376}, {"docker", "docker-s"}, "tcp")
|
||||||
|
|
||||||
|
action = function(host, port)
|
||||||
|
|
||||||
|
local http_response = http.get(host, port, "/version")
|
||||||
|
if not http_response or not http_response.status or
|
||||||
|
http_response.status ~= 200 or not http_response.body then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local ok_json, response = json.parse(http_response.body)
|
||||||
|
if ok_json and response["Version"] and response["GitCommit"] then
|
||||||
|
---Detected
|
||||||
|
port.version.name = response["Version"]
|
||||||
|
port.version.product = "Docker"
|
||||||
|
nmap.set_port_version(host, port)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
@@ -94,6 +94,7 @@ Entry { filename = "dns-srv-enum.nse", categories = { "discovery", "safe", } }
|
|||||||
Entry { filename = "dns-update.nse", categories = { "intrusive", "vuln", } }
|
Entry { filename = "dns-update.nse", categories = { "intrusive", "vuln", } }
|
||||||
Entry { filename = "dns-zeustracker.nse", categories = { "discovery", "external", "malware", "safe", } }
|
Entry { filename = "dns-zeustracker.nse", categories = { "discovery", "external", "malware", "safe", } }
|
||||||
Entry { filename = "dns-zone-transfer.nse", categories = { "discovery", "intrusive", } }
|
Entry { filename = "dns-zone-transfer.nse", categories = { "discovery", "intrusive", } }
|
||||||
|
Entry { filename = "docker-version.nse", categories = { "version", } }
|
||||||
Entry { filename = "domcon-brute.nse", categories = { "brute", "intrusive", } }
|
Entry { filename = "domcon-brute.nse", categories = { "brute", "intrusive", } }
|
||||||
Entry { filename = "domcon-cmd.nse", categories = { "auth", "intrusive", } }
|
Entry { filename = "domcon-cmd.nse", categories = { "auth", "intrusive", } }
|
||||||
Entry { filename = "domino-enum-users.nse", categories = { "auth", "intrusive", } }
|
Entry { filename = "domino-enum-users.nse", categories = { "auth", "intrusive", } }
|
||||||
|
|||||||
Reference in New Issue
Block a user