1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-08 05:31:31 +00:00

Remove ssl-google-cert-catalog. Fixes #533

This commit is contained in:
dmiller
2016-12-05 17:44:34 +00:00
parent e4717fa068
commit a8ff212b84
3 changed files with 3 additions and 74 deletions

View File

@@ -1,5 +1,8 @@
# Nmap Changelog ($Id$); -*-text-*-
o [NSE][GH#533] Removed ssl-google-cert-catalog, since Google shut off that
service at some point. Reported by Brian Morin.
o [NSE][GH#540] Add tls.servername script-arg for forcing a name to be used for
TLS Server Name Indication extension. The argument overrides the default use
of the host's targetname. [Bertrand Bonnefoy-Claudet]

View File

@@ -488,7 +488,6 @@ Entry { filename = "ssl-cert.nse", categories = { "default", "discovery", "safe"
Entry { filename = "ssl-date.nse", categories = { "default", "discovery", "safe", } }
Entry { filename = "ssl-dh-params.nse", categories = { "safe", "vuln", } }
Entry { filename = "ssl-enum-ciphers.nse", categories = { "discovery", "intrusive", } }
Entry { filename = "ssl-google-cert-catalog.nse", categories = { "discovery", "external", "safe", } }
Entry { filename = "ssl-heartbleed.nse", categories = { "safe", "vuln", } }
Entry { filename = "ssl-known-key.nse", categories = { "default", "discovery", "safe", "vuln", } }
Entry { filename = "ssl-poodle.nse", categories = { "safe", "vuln", } }

View File

@@ -1,73 +0,0 @@
local dns = require "dns"
local math = require "math"
local os = require "os"
local shortport = require "shortport"
local sslcert = require "sslcert"
local stdnse = require "stdnse"
local string = require "string"
local table = require "table"
local tls = require "tls"
description = [[
Queries Google's Certificate Catalog for the SSL certificates retrieved from
target hosts.
The Certificate Catalog provides information about how recently and for how long
Google has seen the given certificate. If a certificate doesn't appear in the
database, despite being correctly signed by a well-known CA and having a
matching domain name, it may be suspicious.
]]
---
-- @usage
-- nmap -p 443 --script ssl-cert,ssl-google-cert-catalog <host>
--
-- @output
-- PORT STATE SERVICE
---443/tcp open https
---| ssl-google-cert-catalog:
---| First/last date seen: 19 Aug 2011 / 10 Sep 2011
---|_ Days in between: 20
author = "Vasiliy Kulikov"
license = "Same as Nmap--See https://nmap.org/book/man-legal.html"
categories = { "safe", "discovery", "external" }
--dependencies = { "ssl-cert" }
local format_date = function(day_num)
return os.date("%d %b %Y", 60 * 60 * 24 * math.tointeger(day_num))
end
portrule = shortport.ssl
action = function(host, port)
host.targetname = tls.servername(host)
local lines, sha1, query
local status, cert = sslcert.getCertificate(host, port)
if not status then
return nil
end
sha1 = stdnse.tohex(cert.digest(cert, "sha1"))
query = sha1 .. ".certs.googlednstest.com"
stdnse.debug1("%s", query)
local status, decoded_response = dns.query(query, { dtype = "TXT" })
lines = {}
if status then
local raw_start, raw_stop, delta = string.match(decoded_response, "(%d+) (%d+) (%d+)")
local date_start, date_stop = format_date(raw_start), format_date(raw_stop)
table.insert(lines, "First/last date seen: " .. date_start .. " / " .. date_stop)
table.insert(lines, "Days in between: " .. tonumber(delta))
else
table.insert(lines, "No DB entry")
end
return stdnse.format_output(true, lines)
end