Adversaries may try to gather information about registered local system services. Adversaries may obtain information about services using tools as well as OS utility commands such as sc query
, tasklist /svc
, systemctl --type=service
, and net start
.
Adversaries may use the information from System Service Discovery during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
ID | Name | Description |
---|---|---|
G0018 | admin@338 |
admin@338 actors used the following command following exploitation of a machine with LOWBALL malware to obtain information about services: |
G0006 | APT1 |
APT1 used the commands |
G0143 | Aquatic Panda |
Aquatic Panda has attempted to discover services for third party EDR products.[3] |
S0638 | Babuk |
Babuk can enumerate all services running on a compromised host.[4] |
S0127 | BBSRAT | |
S0570 | BitPaymer |
BitPaymer can enumerate existing Windows services on the host that are configured to run as LocalSystem.[6] |
S1070 | Black Basta |
Black Basta can check whether the service name FAX is present.[7] |
G0060 | BRONZE BUTLER |
BRONZE BUTLER has used TROJ_GETVERSION to discover system services.[8] |
S0572 | Caterpillar WebShell |
Caterpillar WebShell can obtain a list of the services from a system.[9] |
G0114 | Chimera |
Chimera has used |
S0154 | Cobalt Strike |
Cobalt Strike can enumerate services on compromised hosts.[11] |
S0244 | Comnie |
Comnie runs the command: |
S0625 | Cuba |
Cuba can query service status using |
S1066 | DarkTortilla |
DarkTortilla can retrieve information about a compromised system's running services.[14] |
S0024 | Dyre |
Dyre has the ability to identify running services on a compromised host.[15] |
G1006 | Earth Lusca |
Earth Lusca has used Tasklist to obtain information from a compromised host.[16] |
S0081 | Elise |
Elise executes |
S0082 | Emissary |
Emissary has the capability to execute the command |
S0091 | Epic |
Epic uses the |
S0049 | GeminiDuke |
GeminiDuke collects information on programs and services on the victim that are configured to automatically run at startup.[20] |
S0237 | GravityRAT |
GravityRAT has a feature to list the available services on the system.[21] |
S0342 | GreyEnergy |
GreyEnergy enumerates all Windows services.[22] |
S1027 | Heyoka Backdoor |
Heyoka Backdoor can check if it is running as a service on a compromised host.[23] |
S0431 | HotCroissant |
HotCroissant has the ability to retrieve a list of services on the infected host.[24] |
S0203 | Hydraq |
Hydraq creates a backdoor through which remote attackers can monitor services.[25][26] |
S0398 | HyperBro |
HyperBro can list all services and their configurations.[27] |
G0119 | Indrik Spider |
Indrik Spider has used the win32_service WMI class to retrieve a list of services from the system.[28] |
S0260 | InvisiMole |
InvisiMole can obtain running services on the victim.[29] |
S0015 | Ixeshe | |
S0201 | JPIN | |
S0283 | jRAT | |
G0004 | Ke3chang |
Ke3chang performs service discovery using |
G0094 | Kimsuky |
Kimsuky has used an instrumentor script to gather the names of all services running on a victim's system.[34] |
S0236 | Kwampirs |
Kwampirs collects a list of running services with the command |
S0582 | LookBack | |
S0039 | Net |
The |
G0049 | OilRig |
OilRig has used |
C0012 | Operation CuckooBees |
During Operation CuckooBees, the threat actors used the |
C0014 | Operation Wocao |
During Operation Wocao, threat actors used the |
G0033 | Poseidon Group |
After compromising a victim, Poseidon Group discovers all running services.[41] |
S0378 | PoshC2 |
PoshC2 can enumerate service and service permission information.[42] |
S0629 | RainyDay |
RainyDay can create and register a service for execution.[43] |
S0241 | RATANKBA | |
S0496 | REvil | |
S0085 | S-Type | |
S1085 | Sardonic |
Sardonic has the ability to execute the |
S0692 | SILENTTRINITY |
SILENTTRINITY can search for modifiable services that could be used for privilege escalation.[48] |
S0533 | SLOTHFULMEDIA |
SLOTHFULMEDIA has the capability to enumerate services.[49] |
S0615 | SombRAT | |
S0559 | SUNBURST |
SUNBURST collected a list of service names that were hashed using a FNV-1a + XOR algorithm to check against similarly-hashed hardcoded blocklists.[51] |
S0018 | Sykipot | |
S0242 | SynAck | |
S0663 | SysUpdate |
SysUpdate can collect a list of services on a victim machine.[55] |
S0057 | Tasklist |
Tasklist can be used to discover services running on a system.[56] |
G0139 | TeamTNT |
TeamTNT has searched for services such as Alibaba Cloud Security's aliyun service and BMC Helix Cloud Security's bmc-agent service in order to disable them.[57] |
S0266 | TrickBot |
TrickBot collects a list of install programs and services on the system’s machine.[58] |
G0010 | Turla |
Turla surveys a system upon check-in to discover running services and associated processes using the |
S0386 | Ursnif | |
S0180 | Volgmer |
Volgmer queries the system to identify existing services.[60] |
G1017 | Volt Typhoon |
Volt Typhoon has used |
S0219 | WINERACK | |
S0086 | ZLib |
ZLib has the ability to discover and manipulate Windows services.[46] |
S0412 | ZxShell |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
ID | Data Source | Data Component | Detects |
---|---|---|---|
DS0017 | Command | Command Execution |
Monitor executed commands and arguments that could be taken to gather system information related to services. Remote access tools with built-in features may interact directly with the Windows API to gather information. Information may also be acquired through Windows system management tools such as Windows Management Instrumentation and PowerShell. |
DS0009 | Process | OS API Execution |
Monitor for API calls associated with gathering information about registered local system services, such as QueryServiceStatusEx. Other Windows API calls worth monitoring include EnumServicesStatusExA, which can be used to enumerate services in the service control manager database. Note: Most EDR tools do not support direct monitoring of API calls due to the sheer volume of calls produced by an endpoint but may have alerts or events that are based on abstractions of OS API calls. Dynamic malware analysis tools (i.e., sandboxes) can be used to trace the execution, including OS API calls, for a single PE binary. |
Process Creation |
Monitor for newly executed processes with arguments that may try to get information about registered services. System and network discovery techniques normally occur throughout an operation as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as Lateral Movement, based on the information obtained. Note: Event IDs are for Sysmon (Event ID 1 - process create) and Windows Security Log (Event ID 4688 - a new process has been created). For event id 4688, depending on Windows version, you might need to enable Analytic 1 - Suspicious Processes
|