1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-21 06:59:01 +00:00

Adds CPE entries to individual fingerprints (where known). XML output only.

This commit is contained in:
nnposter
2016-12-04 20:46:21 +00:00
parent b0b94049b7
commit 7b9c6e74d9
3 changed files with 29 additions and 0 deletions

View File

@@ -46,6 +46,8 @@ o [NSE] Revised script http-default-accounts in several ways:
- [GH#604] Implemented XML output. Layout of the classic text output has also - [GH#604] Implemented XML output. Layout of the classic text output has also
changed, including reporting blank usernames or passwords as "<blank>", changed, including reporting blank usernames or passwords as "<blank>",
instead of just empty strings. [nnposter] instead of just empty strings. [nnposter]
- Added CPE entries to individual fingerprints (where known). They are
reported only in the XML output. [nnposter]
o [NSE][GH#573] Updated http.lua to allow processing of HTTP responses with o [NSE][GH#573] Updated http.lua to allow processing of HTTP responses with
malformed header names. Such header lines are still captured in the rawheader malformed header names. Such header lines are still captured in the rawheader

View File

@@ -171,6 +171,7 @@ fingerprints = {}
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 0.8.8a -- Version 0.8.8a
name = "Cacti", name = "Cacti",
cpe = "cpe:/a:cacti:cacti",
category = "web", category = "web",
paths = { paths = {
{path = "/"}, {path = "/"},
@@ -199,6 +200,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 2.0.6 -- Version 2.0.6
name = "Zabbix", name = "Zabbix",
cpe = "cpe:/a:zabbix:zabbix",
category = "web", category = "web",
paths = { paths = {
{path = "/zabbix/"} {path = "/zabbix/"}
@@ -300,6 +302,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 3.2.3 -- Version 3.2.3
name = "Nagios", name = "Nagios",
cpe = "cpe:/a:nagios:nagios",
category = "web", category = "web",
paths = { paths = {
{path = "/"}, {path = "/"},
@@ -358,6 +361,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 8.1, 9.2, 10.3.4, 10.3.6, 12.1.2 -- Version 8.1, 9.2, 10.3.4, 10.3.6, 12.1.2
name = "WebLogic Server Console", name = "WebLogic Server Console",
cpe = "cpe:/a:bea:weblogic_server",
category = "web", category = "web",
paths = { paths = {
{path = "/console/"} {path = "/console/"}
@@ -394,6 +398,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 4.1.31, 6.0.24, 7.0.54 -- Version 4.1.31, 6.0.24, 7.0.54
name = "Apache Tomcat", name = "Apache Tomcat",
cpe = "cpe:/a:apache:tomcat",
category = "web", category = "web",
paths = { paths = {
{path = "/manager/html/"}, {path = "/manager/html/"},
@@ -453,6 +458,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 1.4.1, 1.5.2, 1.5.3, 1.6.0, 1.6.1 -- Version 1.4.1, 1.5.2, 1.5.3, 1.6.0, 1.6.1
name = "Apache Axis2", name = "Apache Axis2",
cpe = "cpe:/a:apache:axis2",
category = "web", category = "web",
paths = { paths = {
{path = "/axis2/axis2-admin/"} {path = "/axis2/axis2-admin/"}
@@ -553,6 +559,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 12.2SE on Catalyst 3750, 3845, CBS3020, 12.3 on Aironet 1300 -- Version 12.2SE on Catalyst 3750, 3845, CBS3020, 12.3 on Aironet 1300
name = "Cisco IOS", name = "Cisco IOS",
cpe = "cpe:/o:cisco:ios",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"}, {path = "/"},
@@ -581,6 +588,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version (see below) -- Version (see below)
name = "Cisco Linksys", name = "Cisco Linksys",
cpe = "cpe:/h:linksys:*",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -604,6 +612,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version ESIP-12-v302r125573-131230c_upc -- Version ESIP-12-v302r125573-131230c_upc
name = "Cisco EPC3925", name = "Cisco EPC3925",
cpe = "cpe:/h:cisco:epc3925",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -634,6 +643,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 1.0.1.3 on RT-N10U, RT-N66U -- Version 1.0.1.3 on RT-N10U, RT-N66U
name = "ASUS RT", name = "ASUS RT",
cpe = "cpe:/h:asus:rt-*",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -653,6 +663,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 5.00.12 on F5D7234-4 -- Version 5.00.12 on F5D7234-4
name = "Belkin G Wireless Router", name = "Belkin G Wireless Router",
cpe = "cpe:/h:belkin:f5d7234-4",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -681,6 +692,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 1.00.12 on F9K1001 v1 -- Version 1.00.12 on F9K1001 v1
name = "Belkin N150", name = "Belkin N150",
cpe = "cpe:/h:belkin:n150_f9k1001",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -864,6 +876,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 3.4.5.1 on Aruba800 -- Version 3.4.5.1 on Aruba800
name = "ArubaOS WebUI", name = "ArubaOS WebUI",
cpe = "cpe:/o:arubanetworks:arubaos",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -891,6 +904,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
name = "Aruba AirWave", name = "Aruba AirWave",
cpe = "cpe:/a:arubanetworks:airwave",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -915,6 +929,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 08.05.100 on NVR 1750D -- Version 08.05.100 on NVR 1750D
name = "Nortel VPN Router", name = "Nortel VPN Router",
cpe = "cpe:/h:nortel:vpn_router_*",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -939,6 +954,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 11.4.1, 11.5.3 -- Version 11.4.1, 11.5.3
name = "F5 TMOS", name = "F5 TMOS",
cpe = "cpe:/o:f5:tmos",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -963,6 +979,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 10.5 on MPX 8005 -- Version 10.5 on MPX 8005
name = "Citrix NetScaler", name = "Citrix NetScaler",
cpe = "cpe:/a:citrix:netscaler",
category = "routers", category = "routers",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -1215,6 +1232,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 071.*, 072.* on WorkCentre 7835, 7845, ColorQube 8900X -- Version 071.*, 072.* on WorkCentre 7835, 7845, ColorQube 8900X
name = "Xerox WorkCentre/ColorQube", name = "Xerox WorkCentre/ColorQube",
cpe = "cpe:/h:xerox:workcentre",
category = "printer", category = "printer",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -1377,6 +1395,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 7.5.0.3 on 2072-24C -- Version 7.5.0.3 on 2072-24C
name = "IBM Storwize V3700", name = "IBM Storwize V3700",
cpe = "cpe:/a:ibm:storwize_v3700_software",
category = "storage", category = "storage",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -1411,6 +1430,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 5.0.0 -- Version 5.0.0
name = "VMware ESXi", name = "VMware ESXi",
cpe = "cpe:/o:vmware:esxi",
category = "virtualization", category = "virtualization",
paths = { paths = {
{path = "/"} {path = "/"}
@@ -1435,6 +1455,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
-- Version 4.0.0 -- Version 4.0.0
name = "PCoIP Zero Client", name = "PCoIP Zero Client",
cpe = "cpe:/a:teradici:pcoip_host_software",
category = "virtualization", category = "virtualization",
paths = { paths = {
{path = "/login.html"} {path = "/login.html"}
@@ -1494,6 +1515,7 @@ table.insert(fingerprints, {
table.insert(fingerprints, { table.insert(fingerprints, {
--Version 1.10.12, 1.80 --Version 1.10.12, 1.80
name = "Dell iDRAC6", name = "Dell iDRAC6",
cpe = "cpe:/o:dell:idrac6_firmware",
category = "console", category = "console",
paths = { paths = {
{path = "/"} {path = "/"}

View File

@@ -54,6 +54,7 @@ This script was based on http-enum.
-- --
-- @xmloutput -- @xmloutput
-- <table key="Cacti"> -- <table key="Cacti">
-- <elem key="cpe">cpe:/a:cacti:cacti</elem>
-- <elem key="path">/</elem> -- <elem key="path">/</elem>
-- <table key="credentials"> -- <table key="credentials">
-- <table> -- <table>
@@ -63,6 +64,7 @@ This script was based on http-enum.
-- </table> -- </table>
-- </table> -- </table>
-- <table key="Nagios"> -- <table key="Nagios">
-- <elem key="cpe">cpe:/a:nagios:nagios</elem>
-- <elem key="path">/nagios/</elem> -- <elem key="path">/nagios/</elem>
-- <table key="credentials"> -- <table key="credentials">
-- <table> -- <table>
@@ -89,6 +91,8 @@ This script was based on http-enum.
-- 2016-12-01 nnposter -- 2016-12-01 nnposter
-- * implemented XML structured output -- * implemented XML structured output
-- * changed classic output to report empty credentials as <blank> -- * changed classic output to report empty credentials as <blank>
-- 2016-12-04 nnposter
-- * added CPE entries to individual fingerprints (where known)
--- ---
author = {"Paulino Calderon <calderon@websec.mx>", "nnposter"} author = {"Paulino Calderon <calderon@websec.mx>", "nnposter"}
@@ -270,6 +274,7 @@ local function test_credentials (host, port, fingerprint, path)
if #credlst == 0 then return nil end if #credlst == 0 then return nil end
-- Some credentials found. Generate the fingerprint output report -- Some credentials found. Generate the fingerprint output report
local out = stdnse.output_table() local out = stdnse.output_table()
out.cpe = fingerprint.cpe
out.path = path out.path = path
out.credentials = credlst out.credentials = credlst
local txtout = {} local txtout = {}