HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/nmap/scripts/ncp-enum-users.nse
local ncp = require "ncp"
local shortport = require "shortport"
local stdnse = require "stdnse"
local table = require "table"

description = [[
Retrieves a list of all eDirectory users from the Novell NetWare Core Protocol (NCP) service.
]]

---
--
--@output
-- PORT    STATE SERVICE REASON
-- 524/tcp open  ncp     syn-ack
-- | ncp-enum-users:
-- |   CN=admin.O=cqure
-- |   CN=cawi.OU=finance.O=cqure
-- |   CN=linux-l84tadmin.O=cqure
-- |   CN=nist.OU=hr.O=cqure
-- |   CN=novlxregd.O=cqure
-- |   CN=novlxsrvd.O=cqure
-- |   CN=OESCommonProxy_linux-l84t.O=cqure
-- |   CN=sasi.OU=hr.O=cqure
-- |_  CN=wwwrun.O=cqure
--

-- Version 0.1
-- Created 04/26/2011 - v0.1 - created by Patrik Karlsson

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


portrule = shortport.port_or_service(524, "ncp", "tcp")

action = function(host, port)
  local helper = ncp.Helper:new(host,port)

  local status, resp = helper:connect()
  if ( not(status) ) then return stdnse.format_output(false, resp) end

  status, resp = helper:search("[Root]", "User", "*")
  if ( not(status) ) then return stdnse.format_output(false, resp) end

  local output = {}

  for _, entry in ipairs(resp) do
    table.insert(output, entry.name)
  end

  return stdnse.format_output(true, output)
end