Files
2025-09-05 04:51:14 -06:00

291 lines
9.6 KiB
YAML

attack_technique: T1529
display_name: System Shutdown/Reboot
atomic_tests:
- name: Shutdown System - Windows
auto_generated_guid: ad254fa8-45c0-403b-8c77-e00b3d3e7a64
description: |
This test shuts down a Windows system.
supported_platforms:
- windows
input_arguments:
timeout:
description: Timeout period before shutdown (seconds)
type: integer
default: 1
executor:
command: |
shutdown /s /t #{timeout}
name: command_prompt
elevation_required: true
- name: Restart System - Windows
auto_generated_guid: f4648f0d-bf78-483c-bafc-3ec99cd1c302
description: |
This test restarts a Windows system.
supported_platforms:
- windows
input_arguments:
timeout:
description: Timeout period before restart (seconds)
type: integer
default: 1
executor:
command: |
shutdown /r /t #{timeout}
name: command_prompt
elevation_required: true
- name: Restart System via `shutdown` - FreeBSD/macOS/Linux
auto_generated_guid: 6326dbc4-444b-4c04-88f4-27e94d0327cb
description: |
This test restarts a FreeBSD/macOS/Linux system.
supported_platforms:
- linux
- macos
input_arguments:
timeout:
description: Time to restart (can be minutes or specific time)
type: string
default: now
executor:
command: |
shutdown -r #{timeout}
name: sh
elevation_required: true
- name: Shutdown System via `shutdown` - FreeBSD/macOS/Linux
auto_generated_guid: 4963a81e-a3ad-4f02-adda-812343b351de
description: |
This test shuts down a FreeBSD/macOS/Linux system using a halt.
supported_platforms:
- linux
- macos
input_arguments:
timeout:
description: Time to shutdown (can be minutes or specific time)
type: string
default: now
executor:
command: |
shutdown -h #{timeout}
name: sh
elevation_required: true
- name: Restart System via `reboot` - FreeBSD/macOS/Linux
auto_generated_guid: 47d0b042-a918-40ab-8cf9-150ffe919027
description: |
This test restarts a FreeBSD/macOS/Linux system via `reboot`.
supported_platforms:
- linux
- macos
executor:
command: |
reboot
name: sh
elevation_required: true
- name: Shutdown System via `halt` - FreeBSD/Linux
auto_generated_guid: 918f70ab-e1ef-49ff-bc57-b27021df84dd
description: |
This test shuts down a FreeBSD/Linux system using `halt`.
supported_platforms:
- linux
executor:
command: |
halt -p
name: sh
elevation_required: true
- name: Reboot System via `halt` - FreeBSD
auto_generated_guid: 7b1cee42-320f-4890-b056-d65c8b884ba5
description: |
This test restarts a FreeBSD system using `halt`.
supported_platforms:
- linux
executor:
command: |
halt -r
name: sh
elevation_required: true
- name: Reboot System via `halt` - Linux
auto_generated_guid: 78f92e14-f1e9-4446-b3e9-f1b921f2459e
description: |
This test restarts a Linux system using `halt`.
supported_platforms:
- linux
executor:
command: |
halt --reboot
name: bash
elevation_required: true
- name: Shutdown System via `poweroff` - FreeBSD/Linux
auto_generated_guid: 73a90cd2-48a2-4ac5-8594-2af35fa909fa
description: |
This test shuts down a FreeBSD/Linux system using `poweroff`.
supported_platforms:
- linux
executor:
command: |
poweroff
name: sh
elevation_required: true
- name: Reboot System via `poweroff` - FreeBSD
auto_generated_guid: 5a282e50-86ff-438d-8cef-8ae01c9e62e1
description: |
This test restarts a FreeBSD system using `poweroff`.
supported_platforms:
- linux
executor:
command: |
poweroff -r 3
name: sh
elevation_required: true
- name: Reboot System via `poweroff` - Linux
auto_generated_guid: 61303105-ff60-427b-999e-efb90b314e41
description: |
This test restarts a Linux system using `poweroff`.
supported_platforms:
- linux
executor:
command: |
poweroff --reboot
name: bash
elevation_required: true
- name: Logoff System - Windows
auto_generated_guid: 3d8c25b5-7ff5-4c9d-b21f-85ebd06654a4
description: |
This test performs a Windows system logoff as seen in [dcrat backdoor capabilities](https://www.mandiant.com/resources/analyzing-dark-crystal-rat-backdoor)
supported_platforms:
- windows
executor:
command: |
shutdown /l
name: command_prompt
elevation_required: true
- name: ESXi - Terminates VMs using pkill
auto_generated_guid: 987c9b4d-a637-42db-b1cb-e9e242c3991b
description: |
In VMWARE ESXi, process names starting with vmx are associated with running VMs. An adversary can use the pkill command to kill all processes with a prefix vmx.
[Reference](https://www.crowdstrike.com/blog/hypervisor-jackpotting-ecrime-actors-increase-targeting-of-esxi-servers/)
supported_platforms:
- windows
input_arguments:
vm_host:
description: Specify the host name of the ESXi Server
type: string
default: atomic.local
vm_user:
description: Specify the privilege user account on ESXi Server
type: string
default: root
vm_pass:
description: Specify the privilege user password on ESXi Server
type: string
default: pass
plink_file:
description: Path to plink
type: path
default: 'PathToAtomicsFolder\..\ExternalPayloads\plink.exe'
cli_script:
description: Path to text with commands
type: path
default: PathToAtomicsFolder\T1529\src\esx_pkill.txt
dependency_executor_name: powershell
dependencies:
- description: |
Check if plink is available.
prereq_command: |
if (Test-Path "#{plink_file}") {exit 0} else {exit 1}
get_prereq_command: |
New-Item -Type Directory "PathToAtomicsFolder\..\ExternalPayloads\" -ErrorAction Ignore -Force | Out-Null
Invoke-WebRequest "https://the.earth.li/~sgtatham/putty/latest/w64/plink.exe" -OutFile "#{plink_file}"
executor:
command: |
echo "" | "#{plink_file}" "#{vm_host}" -ssh -l "#{vm_user}" -pw "#{vm_pass}" -m "#{cli_script}"
name: command_prompt
elevation_required: false
- name: ESXi - Avoslocker enumerates VMs and forcefully kills VMs
auto_generated_guid: 189f7d6e-9442-4160-9bc3-5e4104d93ece
description: |
Avoslocker malware has inbuilt functionality to enumerate the VM instances and uses the esxcli command to forcefully power off them.
[Reference](https://blogs.vmware.com/security/2022/02/avoslocker-modern-linux-ransomware-threats.html)
supported_platforms:
- windows
input_arguments:
vm_host:
description: Specify the host name of the ESXi Server
type: string
default: atomic.local
vm_user:
description: Specify the privilege user account on ESXi Server
type: string
default: root
vm_pass:
description: Specify the privilege user password on ESXi Server
type: string
default: pass
plink_file:
description: Path to plink
type: path
default: 'PathToAtomicsFolder\..\ExternalPayloads\plink.exe'
cli_script:
description: Path to text with commands
type: path
default: PathToAtomicsFolder\T1529\src\esx_avoslocker_kill_vm.txt
dependency_executor_name: powershell
dependencies:
- description: |
Check if plink is available.
prereq_command: |
if (Test-Path "#{plink_file}") {exit 0} else {exit 1}
get_prereq_command: |
New-Item -Type Directory "PathToAtomicsFolder\..\ExternalPayloads\" -ErrorAction Ignore -Force | Out-Null
Invoke-WebRequest "https://the.earth.li/~sgtatham/putty/latest/w64/plink.exe" -OutFile "#{plink_file}"
executor:
command: |
echo "" | "#{plink_file}" "#{vm_host}" -ssh -l "#{vm_user}" -pw "#{vm_pass}" -m "#{cli_script}"
name: command_prompt
elevation_required: false
- name: ESXi - vim-cmd Used to Power Off VMs
auto_generated_guid: 622cc1a0-45e7-428c-aed7-c96dd605fbe6
description: |
Adversaries may power off VMs to facilitate the deployment of ransomware payloads.
[Reference](https://lolesxi-project.github.io/LOLESXi/lolesxi/Binaries/vim-cmd/#power%20off%20vm)
supported_platforms:
- windows
input_arguments:
vm_host:
description: Specify the host name or IP of the ESXi server.
type: string
default: atomic.local
vm_user:
description: Specify the privilege user account on the ESXi server.
type: string
default: root
vm_pass:
description: Specify the privileged user's password.
type: string
default: password
plink_file:
description: Path to Plink
type: path
default: 'PathToAtomicsFolder\..\ExternalPayloads\plink.exe'
dependency_executor_name: powershell
dependencies:
- description: |
Check if we have plink
prereq_command: |
if (Test-Path "#{plink_file}") {exit 0} else {exit 1}
get_prereq_command: |
New-Item -Type Directory "PathToAtomicsFolder\..\ExternalPayloads\" -ErrorAction Ignore -Force | Out-Null
Invoke-WebRequest "https://the.earth.li/~sgtatham/putty/latest/w64/plink.exe" -OutFile "#{plink_file}"
executor:
command: |
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "for i in `vim-cmd vmsvc/getallvms | awk 'NR>1 {print $1}'`; do vim-cmd vmsvc/power.off $i & done"
name: command_prompt
elevation_required: false
- name: Abuse of Linux Magic System Request Key for Reboot
auto_generated_guid: d2a1f4bc-a064-4223-8281-a086dce5423c
description: |
adversaries with root or sufficient privileges to silently manipulate or destabilize a system. By writing to /proc/sysrq-trigger, they can forced to reboot.
supported_platforms:
- linux
executor:
command: |
echo "b" > /proc/sysrq-trigger
name: bash
elevation_required: true