T1197: BITS Jobs
Adversaries may abuse BITS jobs to persistently execute code and perform various background tasks. Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through Component Object Model (COM). BITS is commonly used by updaters, messengers, and other applications preferred to operate in the background (using available idle bandwidth) without interrupting other networked applications. File transfer tasks are implemented as BITS jobs, which contain a queue of one or more file operations.
The interface to create and manage BITS jobs is accessible through PowerShell and the BITSAdmin tool.
Adversaries may abuse BITS to download (e.g. Ingress Tool Transfer), execute, and even clean up after running malicious code (e.g. Indicator Removal). BITS tasks are self-contained in the BITS job database, without new files or registry modifications, and often permitted by host firewalls. BITS enabled execution may also enable persistence by creating long-standing jobs (the default maximum lifetime is 90 days and extendable) or invoking an arbitrary program when a job completes or errors (including after system reboots).
BITS upload functionalities can also be used to perform Exfiltration Over Alternative Protocol.
Positive Technologies products that cover the technique
MaxPatrol SIEM knowledge base
hacking_tools: PT-CR-351: Koadic_Bitsadmin_Stager: Possible use of the Koadic software with BITSAdmin is detected
mitre_attck_defense_evasion: PT-CR-203: BitsJob_Download_and_Run: An attempt to download or start an application using Microsoft Windows "bitsadmin" is detected
Detection
ID | DS0029 | Data source and component | Network Traffic: Network Connection Creation | Description | Monitor for newly constructed network activity generated by BITS. BITS jobs use HTTP(S) and SMB for remote connections and are tethered to the creating user and will only function when that user is logged on (this rule applies even if a user attaches the job to a service account). |
---|
ID | DS0019 | Data source and component | Service: Service Metadata | Description | BITS runs as a service and its status can be checked with the Sc query utility ( |
---|
ID | DS0009 | Data source and component | Process: Process Creation | Description | Monitor for newly constructed BITS tasks to enumerate using the BITSAdmin tool (bitsadmin /list /allusers /verbose). Note: Event IDs are for Sysmon (Event ID 1 - process create) and Windows Security Log (Event ID 4688 - a new process has been created). Analytic 1 is oriented around looking for the creation of Microsoft Background Intelligent Transfer Service utility (bitsadmin.exe) processes that schedule a BITS job to persist on an endpoint. The analytic identifies the command-line parameters used to create, resume or add a file to a BITS job; these are typically seen combined in a single command-line or executed in sequence. Analytic 2 identifies Microsoft Background Intelligent Transfer Service utility Analytic 1 - BITS Job Persistence
Analytic 2 - BITSAdmin Download File
|
---|
ID | DS0017 | Data source and component | Command: Command Execution | Description | Monitor executed commands and arguments from the BITSAdmin tool (especially the ‘Transfer’, 'Create', 'AddFile', 'SetNotifyFlags', 'SetNotifyCmdLine', 'SetMinRetryDelay', 'SetCustomHeaders', and 'Resume' command options) Admin logs, PowerShell logs, and the Windows Event log for BITS activity. Also consider investigating more detailed information about jobs by parsing the BITS job database. |
---|
Mitigation
ID | M1018 | Name | User Account Management | Description | Consider limiting access to the BITS interface to specific users or groups. |
---|
ID | M1037 | Name | Filter Network Traffic | Description | Modify network and/or host firewall rules, as well as other network controls, to only allow legitimate BITS traffic. |
---|
ID | M1028 | Name | Operating System Configuration | Description | Consider reducing the default BITS job lifetime in Group Policy or by editing the |
---|