Detection rules › Sigma
Monitoring For Persistence Via BITS
BITS will allow you to schedule a command to execute after a successful download to notify you that the job is finished. When the job runs on the system the command specified in the BITS job will be executed. This can be abused by actors to create a backdoor within the system and for persistence. It will be chained in a BITS job to schedule the download of malware/additional binaries and execute the program after being downloaded.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Execution | T1197 BITS Jobs |
| Persistence | T1197 BITS Jobs |
| Stealth | T1197 BITS Jobs |
Event coverage
| Provider | Event | Title |
|---|---|---|
| Sysmon | Event ID 1 | Process creation |
Rule body yaml
title: Monitoring For Persistence Via BITS
id: b9cbbc17-d00d-4e3d-a827-b06d03d2380d
status: test
description: |
BITS will allow you to schedule a command to execute after a successful download to notify you that the job is finished.
When the job runs on the system the command specified in the BITS job will be executed.
This can be abused by actors to create a backdoor within the system and for persistence.
It will be chained in a BITS job to schedule the download of malware/additional binaries and execute the program after being downloaded.
references:
- https://www.fireeye.com/blog/threat-research/2020/10/kegtap-and-singlemalt-with-a-ransomware-chaser.html
- http://0xthem.blogspot.com/2014/03/t-emporal-persistence-with-and-schtasks.html
- https://isc.sans.edu/diary/Wipe+the+drive+Stealthy+Malware+Persistence+Mechanism+-+Part+1/15394
author: Sreeman
date: 2020-10-29
modified: 2024-01-25
tags:
- attack.persistence
- attack.execution
- attack.stealth
- attack.t1197
logsource:
product: windows
category: process_creation
detection:
selection_img:
- Image|endswith: '\bitsadmin.exe'
- OriginalFileName: 'bitsadmin.exe'
selection_cli_notify_1:
CommandLine|contains: '/SetNotifyCmdLine'
selection_cli_notify_2:
CommandLine|contains:
- '%COMSPEC%'
- 'cmd.exe'
- 'regsvr32.exe'
selection_cli_add_1:
CommandLine|contains: '/Addfile'
selection_cli_add_2:
CommandLine|contains:
- 'http:'
- 'https:'
- 'ftp:'
- 'ftps:'
condition: selection_img and (all of selection_cli_notify_* or all of selection_cli_add_*)
falsepositives:
- Unknown
level: medium
Stages and Predicates
Stage 0: condition
selection_img and (all of selection_cli_notify_* or all of selection_cli_add_*)Stage 1: selection_img
selection_img:
- Image|endswith: '\bitsadmin.exe'
- OriginalFileName: 'bitsadmin.exe'
Stage 2: selection_cli_notify_1
selection_cli_notify_1:
CommandLine|contains: '/SetNotifyCmdLine'
Stage 3: selection_cli_notify_2
selection_cli_notify_2:
CommandLine|contains:
- '%COMSPEC%'
- 'cmd.exe'
- 'regsvr32.exe'
Stage 4: selection_cli_add_1
selection_cli_add_1:
CommandLine|contains: '/Addfile'
Stage 5: selection_cli_add_2
selection_cli_add_2:
CommandLine|contains:
- 'http:'
- 'https:'
- 'ftp:'
- 'ftps:'
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
CommandLine | match |
|
Image | ends_with |
|
OriginalFileName | eq |
|