Skip to content
Atomic Red Team
atomics
T1547

T1547 - Boot or Logon Autostart Execution

Description from ATT&CK (opens in a new tab)

Adversaries may configure system settings to automatically execute a program during system boot or logon to maintain persistence or gain higher-level privileges on compromised systems. Operating systems may have mechanisms for automatically running a program on system boot or account logon.(Citation: Microsoft Run Key)(Citation: MSDN Authentication Packages)(Citation: Microsoft TimeProvider)(Citation: Cylance Reg Persistence Sept 2013)(Citation: Linux Kernel Programming) These mechanisms may include automatically executing programs that are placed in specially designated directories or are referenced by repositories that store configuration information, such as the Windows Registry. An adversary may achieve the same goal by modifying or extending features of the kernel.

Since some boot or logon autostart programs run with higher privileges, an adversary may leverage these to elevate privileges.

Atomic Tests


Atomic Test #1 - Add a driver

Install a driver via pnputil.exe lolbin

Supported Platforms: Windows

auto_generated_guid: cb01b3da-b0e7-4e24-bf6d-de5223526785

Inputs:

NameDescriptionTypeDefault Value
driver_infA built-in, already installed windows driver infpathC:\Windows\INF\usbstor.inf

Attack Commands: Run with command_prompt!

pnputil.exe /add-driver "#{driver_inf}"


Atomic Test #2 - Driver Installation Using pnputil.exe

pnputil.exe is a native command-line utility in Windows to install drivers, this can be abused by to install malicious drivers. Ref: https://lolbas-project.github.io/lolbas/Binaries/Pnputil/ (opens in a new tab)

Supported Platforms: Windows

auto_generated_guid: 5cb0b071-8a5a-412f-839d-116beb2ed9f7

Inputs:

NameDescriptionTypeDefault Value
driver_pathEnter the driver file path to install (Default is used built-in windows driver - acpipmi.inf)pathC:\Windows\INF\acpipmi.inf

Attack Commands: Run with powershell!

pnputil.exe -i -a #{driver_path}


Atomic Test #3 - Leverage Virtual Channels to execute custom DLL during successful RDP session

Virtual Channels can be leveraged to alter RDP behavior using dedicated Addins.The mechanism is implemented using DLLs which can be executed during RDP session automatically. The DLLs are loaded in the host system only after successful connection is established with the remote system. Once the test is run, amsi.dll will be loaded on the host system during successful RDP session. Blog :https://learn.microsoft.com/en-us/windows/win32/termserv/terminal-services-virtual-channels?redirectedfrom=MSDN (opens in a new tab)

Supported Platforms: Windows

auto_generated_guid: fdd45306-74f6-4ade-9a97-0a4895961228

Inputs:

NameDescriptionTypeDefault Value
Subkey_AddedNew Sub key added in the registry pathStringMalware
dll_infcustom DLL to be executedPathC:\Windows\System32\amsi.dll

Attack Commands: Run with command_prompt! Elevation Required (e.g. root or admin)

reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\Addins\#{Subkey_Added}" /v Name /t REG_SZ /d "#{dll_inf}" /f

Cleanup Commands:

reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\Addins\#{Subkey_Added}" /f