Lucene search

K
nmapPatrik KarlssonNMAP:XDMCP-DISCOVER.NSE
HistoryJan 26, 2012 - 7:35 p.m.

xdmcp-discover NSE Script

2012-01-2619:35:19
Patrik Karlsson
nmap.org
176

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

10 High

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:L/Au:N/C:C/I:C/A:C

0.973 High

EPSS

Percentile

99.8%

Requests an XDMCP (X display manager control protocol) session and lists supported authentication and authorization mechanisms.

Example Usage

nmap -sU -p 177 --script xdmcp-discover <ip>

Script Output

PORT    STATE         SERVICE
177/udp open|filtered xdmcp
| xdmcp-discover:
|   Session id: 0x0000703E
|   Authorization name: MIT-MAGIC-COOKIE-1
|_  Authorization data: c282137c9bf8e2af88879e6eaa922326

Requires


local nmap = require "nmap"
local shortport = require "shortport"
local stdnse = require "stdnse"
local table = require "table"
local xdmcp = require "xdmcp"

description = [[
Requests an XDMCP (X display manager control protocol) session and lists supported authentication and authorization mechanisms.
]]

---
-- @usage
-- nmap -sU -p 177 --script xdmcp-discover <ip>
--
-- @output
-- PORT    STATE         SERVICE
-- 177/udp open|filtered xdmcp
-- | xdmcp-discover:
-- |   Session id: 0x0000703E
-- |   Authorization name: MIT-MAGIC-COOKIE-1
-- |_  Authorization data: c282137c9bf8e2af88879e6eaa922326
--

author = "Patrik Karlsson"
license = "Same as Nmap--See https://nmap.org/book/man-legal.html"
categories = {"safe", "discovery"}


portrule = shortport.port_or_service(177, "xdmcp", "udp")

local mutex = nmap.mutex("xdmcp-discover")
local function fail(err) return stdnse.format_output(false, err) end


action = function(host, port)

  local DISPLAY_ID = 1
  local result = {}

  local helper = xdmcp.Helper:new(host, port)
  local status = helper:connect()
  if ( not(status) ) then
    return fail("Failed to connect to server")
  end

  local status, response = helper:createSession(nil,
    {"MIT-MAGIC-COOKIE-1", "XDM-AUTHORIZATION-1"}, DISPLAY_ID)

  if ( not(status) ) then
    return fail("Failed to create xdmcp session")
  end

  table.insert(result, ("Session id: 0x%.8X"):format(response.session_id))
  if ( response.auth_name and 0 < #response.auth_name ) then
    table.insert(result, ("Authentication name: %s"):format(response.auth_name))
  end
  if ( response.auth_data and 0 < #response.auth_data ) then
    table.insert(result, ("Authentication data: %s"):format(stdnse.tohex(response.auth_data)))
  end
  if ( response.authr_name and 0 < #response.authr_name ) then
    table.insert(result, ("Authorization name: %s"):format(response.authr_name))
  end
  if ( response.authr_data and 0 < #response.authr_data ) then
    table.insert(result, ("Authorization data: %s"):format(stdnse.tohex(response.authr_data)))
  end
  return stdnse.format_output(true, result)
end

9.8 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

10 High

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:L/Au:N/C:C/I:C/A:C

0.973 High

EPSS

Percentile

99.8%

Related for NMAP:XDMCP-DISCOVER.NSE