Adversaries may stop or disable services on a system to render those services unavailable to legitimate users. Stopping critical services or processes can inhibit or stop response to an incident or aid in the adversary's overall objectives to cause damage to the environment.(Citation: Talos Olympic Destroyer 2018)(Citation: Novetta Blockbuster)
Adversaries may accomplish this by disabling individual services of high importance to an organization, such as MSExchangeIS
, which will make Exchange content inaccessible (Citation: Novetta Blockbuster). In some cases, adversaries may stop or disable many or all services to render systems unusable.(Citation: Talos Olympic Destroyer 2018) Services or processes may not allow for modification of their data stores while running. Adversaries may stop services or processes in order to conduct [Data Destruction](https://attack.mitre.org/techniques/T1485) or [Data Encrypted for Impact](https://attack.mitre.org/techniques/T1486) on the data stores of services like Exchange and SQL Server.(Citation: SecureWorks WannaCry Analysis)
Atomic Test #1 - Windows - Stop service using Service Controller
Atomic Test #5 - Linux - Stop service by killing process using killall
Atomic Test #6 - Linux - Stop service by killing process using kill
Atomic Test #7 - Linux - Stop service by killing process using pkill
Stops a specified service using the sc.exe command. Upon execution, if the spooler service was running infomration will be displayed saying it has changed to a state of STOP_PENDING. If the spooler service was not running “The service has not been started.” will be displayed and it can be started by running the cleanup command.
Supported Platforms: Windows
auto_generated_guid: 21dfb440-830d-4c86-a3e5-2a491d5a8d04
| Name | Description | Type | Default Value | |——|————-|——|—————| | service_name | Name of a service to stop | string | spooler|
1
command_prompt
! Elevation Required (e.g. root or admin)sc.exe stop #{service_name}
sc.exe start #{service_name} >nul 2>&1
Stops a specified service using the net.exe command. Upon execution, if the service was running “The Print Spooler service was stopped successfully.” will be displayed. If the service was not running, “The Print Spooler service is not started.” will be displayed and it can be started by running the cleanup command.
Supported Platforms: Windows
auto_generated_guid: 41274289-ec9c-4213-bea4-e43c4aa57954
| Name | Description | Type | Default Value | |——|————-|——|—————| | service_name | Name of a service to stop | string | spooler|
1
command_prompt
! Elevation Required (e.g. root or admin)net.exe stop #{service_name}
net.exe start #{service_name} >nul 2>&1
Stops a specified service killng the service’s process. This technique was used by WannaCry. Upon execution, if the spoolsv service was running “SUCCESS: The process “spoolsv.exe” with PID 2316 has been terminated.” will be displayed. If the service was not running “ERROR: The process “spoolsv.exe” not found.” will be displayed and it can be started by running the cleanup command.
Supported Platforms: Windows
auto_generated_guid: f3191b84-c38b-400b-867e-3a217a27795f
| Name | Description | Type | Default Value | |——|————-|——|—————| | process_name | Name of a process to kill | string | spoolsv.exe|
1
command_prompt
!taskkill.exe /f /im #{process_name}
Stops a specified service using the systemctl command. Upon execution, if the specified service was running, it will change to a state of inactive and it can be restarted by running the cleanup command. You can list all available services with following command: “systemctl list-units –type=service”
Supported Platforms: Linux
auto_generated_guid: 42e3a5bd-1e45-427f-aa08-2a65fa29a820
| Name | Description | Type | Default Value | |——|————-|——|—————| | service_name | Name of a service to stop | string | cron|
1
sh
! Elevation Required (e.g. root or admin)1
sudo systemctl stop #{service_name}
1
sudo systemctl start #{service_name} 2> /dev/null
Stops a specified service by sending a SIGTERM signal to the linked process using the killall command. Upon execution, if the service’s main process was running, it will be terminated. If the service was not running, no process will be found to kill and it can be restarted by running the cleanup command. You can list all available services with following command: “systemctl list-units –type=service”
Supported Platforms: Linux
auto_generated_guid: e5d95be6-02ee-4ff1-aebe-cf86013b6189
| Name | Description | Type | Default Value | |——|————-|——|—————| | process_name | Name of a process to stop | string | cron| | service_name | Name of a service to restart | string | cron|
1
sh
! Elevation Required (e.g. root or admin)1
sudo killall -SIGTERM #{process_name}
1
sudo systemctl start #{service_name} 2> /dev/null
Stops a specified service by sending a SIGTERM signal to the linked process using the kill command. Upon execution, if the service’s main process was running, it will be terminated. If the service was not running, no process will be found to kill and it can be restarted by running the cleanup command. You can list all available services with following command: “systemctl list-units –type=service”
Supported Platforms: Linux
auto_generated_guid: 332f4c76-7e96-41a6-8cc2-7361c49db8be
| Name | Description | Type | Default Value | |——|————-|——|—————| | process_name | Name of a process to kill | string | cron| | service_name | Name of a service to restart | string | cron|
1
sh
! Elevation Required (e.g. root or admin)1
sudo kill -SIGTERM $(pgrep #{process_name})
1
sudo systemctl start #{service_name} 2> /dev/null
Stops a specified service by sending a SIGTERM signal to the linked process using pkill. This method is effective when multiple instances of the process may be running. Upon execution, if any instances of the process were running, they will be terminated. If no instances were running, pkill will not find any processes to kill. Stopped service can be restarted by running the cleanup command. You can list all available services with following command: “systemctl list-units –type=service”
Supported Platforms: Linux
auto_generated_guid: 08b4718f-a8bf-4bb5-a552-294fc5178fea
| Name | Description | Type | Default Value | |——|————-|——|—————| | process_pattern | Pattern to match the name of the process to kill | string | ^cron$| | service_name | Name of a service to restart | string | cron|
1
sh
! Elevation Required (e.g. root or admin)1
sudo pkill -SIGTERM #{process_pattern}
1
sudo systemctl start #{service_name} 2> /dev/null