Lucene search

K
nmapRewanth CoolNMAP:SMB-ENUM-SERVICES.NSE
HistorySep 05, 2017 - 6:19 p.m.

smb-enum-services NSE Script

2017-09-0518:19:11
Rewanth Cool
nmap.org
370

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%

Retrieves the list of services running on a remote Windows system. Each service attribute contains service name, display name and service status of each service.

Note: Modern Windows systems requires a privileged domain account in order to list the services.

References:

Script Arguments

randomseed, smbbasic, smbport, smbsign

See the documentation for the smb library.

smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername

See the documentation for the smbauth library.

Example Usage

nmap --script smb-enum-services.nse -p445 <host>
nmap --script smb-enum-services.nse --script-args smbusername=<username>,smbpass=<password> -p445 <host>

Script Output

| smb-enum-services:
|
|   ALG:
|     display_name: Application Layer Gateway Service
|     state:
|       SERVICE_PAUSE_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_RUNNING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|       SERVICE_CONTROL_CONTINUE
|       SERVICE_CONTROL_NETBINDADD
|       SERVICE_CONTROL_STOP
|       SERVICE_CONTROL_NETBINDENABLE
|   ClipSrv:
|     display_name: ClipBook
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   COMSysApp:
|     display_name: COM+ System Application
|     state:
|       SERVICE_PAUSE_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_RUNNING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|       SERVICE_CONTROL_CONTINUE
|       SERVICE_CONTROL_NETBINDADD
|       SERVICE_CONTROL_STOP
|       SERVICE_CONTROL_NETBINDENABLE
|   Dfs:
|     display_name: Distributed File System
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   ImapiService:
|     display_name: IMAPI CD-Burning COM Service
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   IsmServ:
|     display_name: Intersite Messaging
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   LicenseService:
|     display_name: License Logging
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   mnmsrvc:
|     display_name: NetMeeting Remote Desktop Sharing
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   MSDTC:
|     display_name: Distributed Transaction Coordinator
|     state:
|       SERVICE_PAUSE_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_RUNNING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|       SERVICE_CONTROL_CONTINUE
|       SERVICE_CONTROL_INTERROGATE
|       SERVICE_CONTROL_NETBINDADD
|       SERVICE_CONTROL_PARAMCHANGE
|       SERVICE_CONTROL_STOP
|       SERVICE_CONTROL_NETBINDENABLE
|   NtFrs:
|     display_name: File Replication
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   RDSessMgr:
|     display_name: Remote Desktop Help Session Manager
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   rpcapd:
|     display_name: Remote Packet Capture Protocol v.0 (experimental)
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   RpcLocator:
|     display_name: Remote Procedure Call (RPC) Locator
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   Spooler:
|     display_name: Print Spooler
|     state:
|       SERVICE_PAUSE_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_RUNNING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|       SERVICE_CONTROL_CONTINUE
|       SERVICE_CONTROL_INTERROGATE
|       SERVICE_CONTROL_NETBINDADD
|       SERVICE_CONTROL_PARAMCHANGE
|       SERVICE_CONTROL_STOP
|       SERVICE_CONTROL_NETBINDENABLE
|   swprv:
|     display_name: Microsoft Software Shadow Copy Provider
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   SysmonLog:
|     display_name: Performance Logs and Alerts
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   TlntSvr:
|     display_name: Telnet
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   TPVCGateway:
|     display_name: TP VC Gateway Service
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   Tssdis:
|     display_name: Terminal Services Session Directory
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   UMWdf:
|     display_name: Windows User Mode Driver Framework
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   UPS:
|     display_name: Uninterruptible Power Supply
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   vds:
|     display_name: Virtual Disk Service
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   VGAuthService:
|     display_name: VMware Alias Manager and Ticket Service
|     state:
|       SERVICE_PAUSE_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_RUNNING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|       SERVICE_CONTROL_CONTINUE
|       SERVICE_CONTROL_NETBINDADD
|       SERVICE_CONTROL_STOP
|       SERVICE_CONTROL_NETBINDENABLE
|   VMTools:
|     display_name: VMware Tools
|     state:
|       SERVICE_PAUSE_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_RUNNING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|       SERVICE_CONTROL_CONTINUE
|       SERVICE_CONTROL_INTERROGATE
|       SERVICE_CONTROL_NETBINDDISABLE
|       SERVICE_CONTROL_PAUSE
|       SERVICE_CONTROL_NETBINDADD
|       SERVICE_CONTROL_PARAMCHANGE
|       SERVICE_CONTROL_STOP
|       SERVICE_CONTROL_NETBINDENABLE
|   vmvss:
|     display_name: VMware Snapshot Provider
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   VMware Physical Disk Helper Service:
|     display_name: VMware Physical Disk Helper Service
|     state:
|       SERVICE_PAUSE_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_RUNNING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|       SERVICE_CONTROL_CONTINUE
|       SERVICE_CONTROL_NETBINDADD
|       SERVICE_CONTROL_STOP
|       SERVICE_CONTROL_NETBINDENABLE
|   VSS:
|     display_name: Volume Shadow Copy
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|     controls_accepted:
|
|   WmiApSrv:
|     display_name: WMI Performance Adapter
|     state:
|       SERVICE_STOPPED
|       SERVICE_STOP_PENDING
|       SERVICE_CONTINUE_PENDING
|       SERVICE_PAUSED
|     type:
|       SERVICE_TYPE_WIN32
|       SERVICE_TYPE_WIN32_OWN_PROCESS
|_    controls_accepted:

Requires


local msrpc = require "msrpc"
local smb = require "smb"
local stdnse = require "stdnse"
local shortport = require "shortport"

description = [[
Retrieves the list of services running on a remote Windows system.
Each service attribute contains service name, display name and service status of
each service.

Note: Modern Windows systems requires a privileged domain account in order to
list the services.

References:
* https://technet.microsoft.com/en-us/library/bb490995.aspx
* https://en.wikipedia.org/wiki/Windows_service
]]

---
-- @usage
-- nmap --script smb-enum-services.nse -p445 <host>
-- nmap --script smb-enum-services.nse --script-args smbusername=<username>,smbpass=<password> -p445 <host>
--
-- @output
-- | smb-enum-services:
-- |
-- |   ALG:
-- |     display_name: Application Layer Gateway Service
-- |     state:
-- |       SERVICE_PAUSE_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_RUNNING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |       SERVICE_CONTROL_CONTINUE
-- |       SERVICE_CONTROL_NETBINDADD
-- |       SERVICE_CONTROL_STOP
-- |       SERVICE_CONTROL_NETBINDENABLE
-- |   ClipSrv:
-- |     display_name: ClipBook
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   COMSysApp:
-- |     display_name: COM+ System Application
-- |     state:
-- |       SERVICE_PAUSE_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_RUNNING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |       SERVICE_CONTROL_CONTINUE
-- |       SERVICE_CONTROL_NETBINDADD
-- |       SERVICE_CONTROL_STOP
-- |       SERVICE_CONTROL_NETBINDENABLE
-- |   Dfs:
-- |     display_name: Distributed File System
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   ImapiService:
-- |     display_name: IMAPI CD-Burning COM Service
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   IsmServ:
-- |     display_name: Intersite Messaging
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   LicenseService:
-- |     display_name: License Logging
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   mnmsrvc:
-- |     display_name: NetMeeting Remote Desktop Sharing
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   MSDTC:
-- |     display_name: Distributed Transaction Coordinator
-- |     state:
-- |       SERVICE_PAUSE_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_RUNNING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |       SERVICE_CONTROL_CONTINUE
-- |       SERVICE_CONTROL_INTERROGATE
-- |       SERVICE_CONTROL_NETBINDADD
-- |       SERVICE_CONTROL_PARAMCHANGE
-- |       SERVICE_CONTROL_STOP
-- |       SERVICE_CONTROL_NETBINDENABLE
-- |   NtFrs:
-- |     display_name: File Replication
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   RDSessMgr:
-- |     display_name: Remote Desktop Help Session Manager
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   rpcapd:
-- |     display_name: Remote Packet Capture Protocol v.0 (experimental)
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   RpcLocator:
-- |     display_name: Remote Procedure Call (RPC) Locator
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   Spooler:
-- |     display_name: Print Spooler
-- |     state:
-- |       SERVICE_PAUSE_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_RUNNING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |       SERVICE_CONTROL_CONTINUE
-- |       SERVICE_CONTROL_INTERROGATE
-- |       SERVICE_CONTROL_NETBINDADD
-- |       SERVICE_CONTROL_PARAMCHANGE
-- |       SERVICE_CONTROL_STOP
-- |       SERVICE_CONTROL_NETBINDENABLE
-- |   swprv:
-- |     display_name: Microsoft Software Shadow Copy Provider
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   SysmonLog:
-- |     display_name: Performance Logs and Alerts
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   TlntSvr:
-- |     display_name: Telnet
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   TPVCGateway:
-- |     display_name: TP VC Gateway Service
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   Tssdis:
-- |     display_name: Terminal Services Session Directory
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   UMWdf:
-- |     display_name: Windows User Mode Driver Framework
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   UPS:
-- |     display_name: Uninterruptible Power Supply
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   vds:
-- |     display_name: Virtual Disk Service
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   VGAuthService:
-- |     display_name: VMware Alias Manager and Ticket Service
-- |     state:
-- |       SERVICE_PAUSE_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_RUNNING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |       SERVICE_CONTROL_CONTINUE
-- |       SERVICE_CONTROL_NETBINDADD
-- |       SERVICE_CONTROL_STOP
-- |       SERVICE_CONTROL_NETBINDENABLE
-- |   VMTools:
-- |     display_name: VMware Tools
-- |     state:
-- |       SERVICE_PAUSE_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_RUNNING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |       SERVICE_CONTROL_CONTINUE
-- |       SERVICE_CONTROL_INTERROGATE
-- |       SERVICE_CONTROL_NETBINDDISABLE
-- |       SERVICE_CONTROL_PAUSE
-- |       SERVICE_CONTROL_NETBINDADD
-- |       SERVICE_CONTROL_PARAMCHANGE
-- |       SERVICE_CONTROL_STOP
-- |       SERVICE_CONTROL_NETBINDENABLE
-- |   vmvss:
-- |     display_name: VMware Snapshot Provider
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   VMware Physical Disk Helper Service:
-- |     display_name: VMware Physical Disk Helper Service
-- |     state:
-- |       SERVICE_PAUSE_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_RUNNING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |       SERVICE_CONTROL_CONTINUE
-- |       SERVICE_CONTROL_NETBINDADD
-- |       SERVICE_CONTROL_STOP
-- |       SERVICE_CONTROL_NETBINDENABLE
-- |   VSS:
-- |     display_name: Volume Shadow Copy
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |     controls_accepted:
-- |
-- |   WmiApSrv:
-- |     display_name: WMI Performance Adapter
-- |     state:
-- |       SERVICE_STOPPED
-- |       SERVICE_STOP_PENDING
-- |       SERVICE_CONTINUE_PENDING
-- |       SERVICE_PAUSED
-- |     type:
-- |       SERVICE_TYPE_WIN32
-- |       SERVICE_TYPE_WIN32_OWN_PROCESS
-- |_    controls_accepted:
--
-- @xmloutput
--
-- <table key="ALG">
-- <elem key="display_name">Application Layer Gateway Service</elem>
-- <table key="state">
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_PAUSE_PENDING</elem>
-- <elem>SERVICE_RUNNING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- <elem>SERVICE_CONTROL_NETBINDADD</elem>
-- <elem>SERVICE_CONTROL_CONTINUE</elem>
-- <elem>SERVICE_CONTROL_NETBINDENABLE</elem>
-- <elem>SERVICE_CONTROL_STOP</elem>
-- </table>
-- </table>
-- <table key="ClipSrv">
-- <elem key="display_name">ClipBook</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="COMSysApp">
-- <elem key="display_name">COM+ System Application</elem>
-- <table key="state">
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_PAUSE_PENDING</elem>
-- <elem>SERVICE_RUNNING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- <elem>SERVICE_CONTROL_NETBINDADD</elem>
-- <elem>SERVICE_CONTROL_CONTINUE</elem>
-- <elem>SERVICE_CONTROL_NETBINDENABLE</elem>
-- <elem>SERVICE_CONTROL_STOP</elem>
-- </table>
-- </table>
-- <table key="Dfs">
-- <elem key="display_name">Distributed File System</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="ImapiService">
-- <elem key="display_name">IMAPI CD-Burning COM Service</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="IsmServ">
-- <elem key="display_name">Intersite Messaging</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="LicenseService">
-- <elem key="display_name">License Logging</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="mnmsrvc">
-- <elem key="display_name">NetMeeting Remote Desktop Sharing</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="MSDTC">
-- <elem key="display_name">Distributed Transaction Coordinator</elem>
-- <table key="state">
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_PAUSE_PENDING</elem>
-- <elem>SERVICE_RUNNING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- <elem>SERVICE_CONTROL_NETBINDADD</elem>
-- <elem>SERVICE_CONTROL_CONTINUE</elem>
-- <elem>SERVICE_CONTROL_INTERROGATE</elem>
-- <elem>SERVICE_CONTROL_NETBINDENABLE</elem>
-- <elem>SERVICE_CONTROL_STOP</elem>
-- <elem>SERVICE_CONTROL_PARAMCHANGE</elem>
-- </table>
-- </table>
-- <table key="NtFrs">
-- <elem key="display_name">File Replication</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="RDSessMgr">
-- <elem key="display_name">Remote Desktop Help Session Manager</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="rpcapd">
-- <elem key="display_name">Remote Packet Capture Protocol v.0 (experimental)</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="RpcLocator">
-- <elem key="display_name">Remote Procedure Call (RPC) Locator</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="Spooler">
-- <elem key="display_name">Print Spooler</elem>
-- <table key="state">
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_PAUSE_PENDING</elem>
-- <elem>SERVICE_RUNNING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- <elem>SERVICE_CONTROL_NETBINDADD</elem>
-- <elem>SERVICE_CONTROL_CONTINUE</elem>
-- <elem>SERVICE_CONTROL_INTERROGATE</elem>
-- <elem>SERVICE_CONTROL_NETBINDENABLE</elem>
-- <elem>SERVICE_CONTROL_STOP</elem>
-- <elem>SERVICE_CONTROL_PARAMCHANGE</elem>
-- </table>
-- </table>
-- <table key="swprv">
-- <elem key="display_name">Microsoft Software Shadow Copy Provider</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="SysmonLog">
-- <elem key="display_name">Performance Logs and Alerts</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="TlntSvr">
-- <elem key="display_name">Telnet</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="TPVCGateway">
-- <elem key="display_name">TP VC Gateway Service</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="Tssdis">
-- <elem key="display_name">Terminal Services Session Directory</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="UMWdf">
-- <elem key="display_name">Windows User Mode Driver Framework</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="UPS">
-- <elem key="display_name">Uninterruptible Power Supply</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="vds">
-- <elem key="display_name">Virtual Disk Service</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="VGAuthService">
-- <elem key="display_name">VMware Alias Manager and Ticket Service</elem>
-- <table key="state">
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_PAUSE_PENDING</elem>
-- <elem>SERVICE_RUNNING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- <elem>SERVICE_CONTROL_NETBINDADD</elem>
-- <elem>SERVICE_CONTROL_CONTINUE</elem>
-- <elem>SERVICE_CONTROL_NETBINDENABLE</elem>
-- <elem>SERVICE_CONTROL_STOP</elem>
-- </table>
-- </table>
-- <table key="VMTools">
-- <elem key="display_name">VMware Tools</elem>
-- <table key="state">
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_PAUSE_PENDING</elem>
-- <elem>SERVICE_RUNNING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- <elem>SERVICE_CONTROL_NETBINDADD</elem>
-- <elem>SERVICE_CONTROL_CONTINUE</elem>
-- <elem>SERVICE_CONTROL_INTERROGATE</elem>
-- <elem>SERVICE_CONTROL_NETBINDDISABLE</elem>
-- <elem>SERVICE_CONTROL_NETBINDENABLE</elem>
-- <elem>SERVICE_CONTROL_STOP</elem>
-- <elem>SERVICE_CONTROL_PAUSE</elem>
-- <elem>SERVICE_CONTROL_PARAMCHANGE</elem>
-- </table>
-- </table>
-- <table key="vmvss">
-- <elem key="display_name">VMware Snapshot Provider</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="VMware Physical Disk Helper Service">
-- <elem key="display_name">VMware Physical Disk Helper Service</elem>
-- <table key="state">
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_PAUSE_PENDING</elem>
-- <elem>SERVICE_RUNNING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- <elem>SERVICE_CONTROL_NETBINDADD</elem>
-- <elem>SERVICE_CONTROL_CONTINUE</elem>
-- <elem>SERVICE_CONTROL_NETBINDENABLE</elem>
-- <elem>SERVICE_CONTROL_STOP</elem>
-- </table>
-- </table>
-- <table key="VSS">
-- <elem key="display_name">Volume Shadow Copy</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>
-- <table key="WmiApSrv">
-- <elem key="display_name">WMI Performance Adapter</elem>
-- <table key="state">
-- <elem>SERVICE_STOPPED</elem>
-- <elem>SERVICE_PAUSED</elem>
-- <elem>SERVICE_STOP_PENDING</elem>
-- <elem>SERVICE_CONTINUE_PENDING</elem>
-- </table>
-- <table key="type">
-- <elem>SERVICE_TYPE_WIN32_OWN_PROCESS</elem>
-- <elem>SERVICE_TYPE_WIN32</elem>
-- </table>
-- <table key="controls_accepted">
-- </table>
-- </table>

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

portrule = shortport.port_or_service({445, 139}, "microsoft-ds", "tcp", "open")

action = function(host, port)

  local open_result
  local close_result
  local bind_result
  local result

  local status, smbstate = msrpc.start_smb(host, msrpc.SVCCTL_PATH)
  status, bind_result = msrpc.bind(smbstate, msrpc.SVCCTL_UUID, msrpc.SVCCTL_VERSION, nil)

  if(status == false) then
    smb.stop(smbstate)
    return nil, stdnse.format_output(false, bind_result)
  end

  -- Open the service manager
  stdnse.debug2("Opening the remote service manager")

  status, open_result = msrpc.svcctl_openscmanagerw(smbstate, host.ip, 0x02000000)

  if(status == false) then
    smb.stop(smbstate)
    return nil, stdnse.format_output(false, open_result)
  end


  --@param dwservicetype The type of services to be enumerated.
  --                     Lookup table for dwservicetype is as follows:
  --                       SERVICE_DRIVER - 0x0000000B
  --                       SERVICE_FILE_SYSTEM_DRIVER - 0x00000002
  --                       SERVICE_KERNEL_DRIVER - 0x00000001
  --                       SERVICE_WIN32 - 0x00000030
  --                       SERVICE_WIN32_OWN_PROCESS - 0x00000010 (default)
  --                       SERVICE_WIN32_SHARE_PROCESS - 0x00000020
  local dwservicetype = 0x00000010

  --@param dwservicestate The state of the services to be enumerated.
  --                      Lookup table for dwservicetype is as follows:
  --                      SERVICE_ACTIVE - 0x00000001
  --                      SERVICE_INACTIVE - 0x00000002
  --                      SERVICE_STATE_ALL - 0x00000003 (default)
  local dwservicestate = 0x00000001

  -- Fetches service name, display name and service status of every service.
  status, result = msrpc.svcctl_enumservicesstatusw(smbstate, open_result["handle"], dwservicetype, dwservicestate)

  if(status == false) then
    smb.stop(smbstate)
    return nil, stdnse.format_output(false, result)
  end

  -- Close the service manager
  stdnse.debug2("Closing the remote service manager")

  status, close_result = msrpc.svcctl_closeservicehandle(smbstate, open_result['handle'])

  smb.stop(smbstate)

  return 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:SMB-ENUM-SERVICES.NSE