Pre-OS Boot T1542

Tactics: Stealth, Persistence

Adversaries may abuse Pre-OS Boot mechanisms as a way to establish persistence on a system. During the booting process of a computer, firmware and various startup services are loaded before the operating system. These programs control flow of execution before the operating system takes control.

Events covered

7 catalog events are tagged with this technique by at least one rule.

Authoring guide

These 20 rules share fields, values, and exclusions.

Fields filtered most (20 distinct)

These fields appear most often in rule filters.

FieldRulesHowSample values
process_basename8eq 5, in 3cp, mv, cpio, dracut, grub-mkconfig
TargetFilename7starts_with 2, wildcard 2, contains 1, ends_with 1, eq 1, in 1*.dat, *\EFI\Boot\*, *\EFI\Boot\bootmgfw.efi, *\EFI\Boot\bootx64.efi, /boot/efi/EFI/*/grub.cfg
event.type7eq 7start, creation
EventType6in 5, eq 1, ne 1exec, ProcessRollup2, exec_event, start, deletion
CommandLine4contains 2, in 1, ne 1* /S*, *-S*, */EFI/BOOT*, delete, deletevalue
Image4is_not_null 2, ends_with 1, eq 1, C:\Windows\System32\wpbbin.exe, \bcdedit.exe
ParentImage3is_not_null 3
DestinationPort2eq 1, ne 10, 21, 22, 69
OriginalFileName2eq 2MOUNTVOL.EXE, bcdedit.exe
process.args2eq 1, in 1, starts_with 1--format, -H, /boot/*, newc
All_Traffic.dest_category1ne 1common_software_repo_destination
All_Traffic.src_category1eq 1network, router, switch
All_Traffic.transport1eq 1tcp, udp
CurrentDirectory1contains 1*/EFI/BOOT*
Details1is_not_null 1

Top indicator values (75 distinct)

These values appear most often in rule predicates.

FieldKindValueRules (here)Corpus reach
EventTypein
exec
5180
EventTypein
start
5157
EventTypein
ProcessRollup2
4119
EventTypein
exec_event
4135
EventTypein
executed
285
event.typeeq
start
51036
event.typeeq
creation
248
ParentImageis_not_null
393
Imageis_not_null
2155
All_Traffic.dest_categoryne
common_software_repo_destination
1
All_Traffic.src_categoryeq
network
1
All_Traffic.src_categoryeq
router
1
All_Traffic.src_categoryeq
switch
1
All_Traffic.transporteq
tcp
14
All_Traffic.transporteq
udp
1
CommandLinecontains
*/EFI/BOOT*
1
CommandLinecontains
delete
130
CommandLinecontains
deletevalue
12
CommandLinecontains
import
14
CommandLinecontains
network
13
CommandLinecontains
safeboot
13
CommandLinein
* /S*
12
CommandLinein
*-S*
15
CommandLinene
unknown
13
CurrentDirectorycontains
*/EFI/BOOT*
1
DestinationPorteq
21
13
DestinationPorteq
22
1
DestinationPorteq
69
1
DestinationPortne
0
17
Detailsis_not_null
189

Exclusions (260 distinct)

These values appear most often in top-level exclusions.

FieldKindValueRules excluding
parent_process_basenamein
dracut
3
parent_process_basenamein
sudo
3
Imagein
./usr/bin/podman
2
Imagein
/bin/autossl_check
2
Imagein
/bin/chef-client
2
Imagein
/bin/dnf
2
Imagein
/bin/dnf-automatic
2
Imagein
/bin/dockerd
2
Imagein
/bin/dpkg
2
Imagein
/bin/dpkg-divert
2
Imagein
/bin/install
2
Imagein
/bin/microdnf
2
Imagein
/bin/pacman
2
Imagein
/bin/pamac-daemon
2
Imagein
/bin/podman
2

Rules under this technique

These vendors publish rules tagged with this technique.

Platform (all)
Domain (all)

Sigma 3 rules

Elastic 8 rules

Splunk 9 rules