Lucene search

K
nmapPatrik KarlssonNMAP:GIOP-INFO.NSE
HistoryAug 19, 2010 - 11:14 p.m.

giop-info NSE Script

2010-08-1923:14:39
Patrik Karlsson
nmap.org
1240

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%

Queries a CORBA naming server for a list of objects.

Example Usage

nmap -sV -sC <target>

Script Output

PORT     STATE SERVICE              REASON
1050/tcp open  java-or-OTGfileshare syn-ack
| giop-info:
|   Object: Hello
|   Context: Test
|_  Object: GoodBye

Requires


local giop = require "giop"
local shortport = require "shortport"
local stdnse = require "stdnse"

description = [[
Queries a CORBA naming server for a list of objects.
]]

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

---
-- @output
-- PORT     STATE SERVICE              REASON
-- 1050/tcp open  java-or-OTGfileshare syn-ack
-- | giop-info:
-- |   Object: Hello
-- |   Context: Test
-- |_  Object: GoodBye
--
-- @xmloutput
-- <table>
--   <enum key="enum">0</enum>
--   <enum key="id">Hello</enum>
--   <enum key="kind">18</enum>
-- </table>
-- <table>
--   <enum key="enum">1</enum>
--   <enum key="id">Test</enum>
--   <enum key="kind">0</enum>
-- </table>
-- <table>
--   <enum key="enum">0</enum>
--   <enum key="id">Goodbye</enum>
--   <enum key="kind">18</enum>
-- </table>


-- Version 0.1

-- Created 07/08/2010 - v0.1 - created by Patrik Karlsson <[email protected]>


portrule = shortport.port_or_service( {2809,1050,1049} , "giop", "tcp", "open")

local fmt_meta = {
  __tostring = function (t)
    local tmp = "Unknown"
    if ( t.enum == 0 ) then
      tmp = "Object"
    elseif( t.enum == 1 ) then
      tmp = "Context"
    end

    -- TODO: Handle t.kind? May require IDL.
    return ("%s: %s"):format(tmp, t.id)
  end
}

local function fail (err) return stdnse.format_output(false, err) end
action = function(host, port)

  local helper = giop.Helper:new( host, port )
  local ctx, objs, status, err

  status, err = helper:Connect()
  if ( not(status) ) then return err end

  status, ctx = helper:GetNamingContext()
  if ( not(status) ) then return fail(ctx) end

  status, objs = helper:ListObjects(ctx)
  if ( not(status) ) then return fail(objs) end

  for _, obj in ipairs( objs ) do
    setmetatable(obj, fmt_meta)
  end

  return objs
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:GIOP-INFO.NSE