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 -- nmap --script smb-enum-services.nse --script-args smbusername=,smbpass= -p445 -- -- @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 -- -- -- Application Layer Gateway Service --
-- SERVICE_PAUSED -- SERVICE_PAUSE_PENDING -- SERVICE_RUNNING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- -- SERVICE_CONTROL_NETBINDADD -- SERVICE_CONTROL_CONTINUE -- SERVICE_CONTROL_NETBINDENABLE -- SERVICE_CONTROL_STOP --
-- -- -- ClipBook --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- COM+ System Application --
-- SERVICE_PAUSED -- SERVICE_PAUSE_PENDING -- SERVICE_RUNNING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- -- SERVICE_CONTROL_NETBINDADD -- SERVICE_CONTROL_CONTINUE -- SERVICE_CONTROL_NETBINDENABLE -- SERVICE_CONTROL_STOP --
-- -- -- Distributed File System --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- IMAPI CD-Burning COM Service --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Intersite Messaging --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- License Logging --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- NetMeeting Remote Desktop Sharing --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Distributed Transaction Coordinator --
-- SERVICE_PAUSED -- SERVICE_PAUSE_PENDING -- SERVICE_RUNNING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- -- SERVICE_CONTROL_NETBINDADD -- SERVICE_CONTROL_CONTINUE -- SERVICE_CONTROL_INTERROGATE -- SERVICE_CONTROL_NETBINDENABLE -- SERVICE_CONTROL_STOP -- SERVICE_CONTROL_PARAMCHANGE --
-- -- -- File Replication --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Remote Desktop Help Session Manager --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Remote Packet Capture Protocol v.0 (experimental) --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Remote Procedure Call (RPC) Locator --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Print Spooler --
-- SERVICE_PAUSED -- SERVICE_PAUSE_PENDING -- SERVICE_RUNNING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- -- SERVICE_CONTROL_NETBINDADD -- SERVICE_CONTROL_CONTINUE -- SERVICE_CONTROL_INTERROGATE -- SERVICE_CONTROL_NETBINDENABLE -- SERVICE_CONTROL_STOP -- SERVICE_CONTROL_PARAMCHANGE --
-- -- -- Microsoft Software Shadow Copy Provider --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Performance Logs and Alerts --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Telnet --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- TP VC Gateway Service --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Terminal Services Session Directory --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Windows User Mode Driver Framework --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Uninterruptible Power Supply --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- Virtual Disk Service --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- VMware Alias Manager and Ticket Service --
-- SERVICE_PAUSED -- SERVICE_PAUSE_PENDING -- SERVICE_RUNNING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- -- SERVICE_CONTROL_NETBINDADD -- SERVICE_CONTROL_CONTINUE -- SERVICE_CONTROL_NETBINDENABLE -- SERVICE_CONTROL_STOP --
-- -- -- VMware Tools --
-- SERVICE_PAUSED -- SERVICE_PAUSE_PENDING -- SERVICE_RUNNING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- -- SERVICE_CONTROL_NETBINDADD -- SERVICE_CONTROL_CONTINUE -- SERVICE_CONTROL_INTERROGATE -- SERVICE_CONTROL_NETBINDDISABLE -- SERVICE_CONTROL_NETBINDENABLE -- SERVICE_CONTROL_STOP -- SERVICE_CONTROL_PAUSE -- SERVICE_CONTROL_PARAMCHANGE --
-- -- -- VMware Snapshot Provider --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- VMware Physical Disk Helper Service --
-- SERVICE_PAUSED -- SERVICE_PAUSE_PENDING -- SERVICE_RUNNING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- -- SERVICE_CONTROL_NETBINDADD -- SERVICE_CONTROL_CONTINUE -- SERVICE_CONTROL_NETBINDENABLE -- SERVICE_CONTROL_STOP --
-- -- -- Volume Shadow Copy --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- -- -- WMI Performance Adapter --
-- SERVICE_STOPPED -- SERVICE_PAUSED -- SERVICE_STOP_PENDING -- SERVICE_CONTINUE_PENDING --
-- -- SERVICE_TYPE_WIN32_OWN_PROCESS -- SERVICE_TYPE_WIN32 --
-- --
-- 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