Detection: Windows BitDefender Submission Wizard DLL Sideloading

EXPERIMENTAL DETECTION

This detection status is set to experimental. The Splunk Threat Research team has not yet fully tested, simulated, or built comprehensive datasets for this detection. As such, this analytic is not officially supported. If you have any questions or concerns, please reach out to us at research@splunk.com.

Description

Detects DLL side-loading of Bitdefender Submission Wizard (BDSubmit.exe, bdsw.exe, or renamed BluetoothService.exe) when a malicious log.dll is loaded from a non-standard path via Sysmon ImageLoad events.

 1`sysmon`
 2EventCode=7
 3(
 4    Image IN (
 5        "*\\BDSubmit.exe",
 6        "*\\bdsw.exe",
 7        "*\\BluetoothService.exe"
 8    )
 9    OR
10    OriginalFileName IN (
11        "BDSubmit.exe",
12        "bdsw.exe"
13    )
14)
15ImageLoaded="*\\log.dll"
16NOT ImageLoaded IN (
17    "*:\\Program Files (x86)\\*",
18    "*:\\Program Files\\*",
19    "*:\\Windows\\System32\\*",
20    "*:\\Windows\\SysWOW64\\*"
21)
22
23| stats count min(_time) as firstTime
24              max(_time) as lastTime
25  by dest Image ImageLoaded Signed SignatureStatus User OriginalFileName loaded_file
26     loaded_file_path process_exec process_guid process_hash process_id process_name
27     process_path service_dll_signature_exists service_dll_signature_verified signature
28     signature_id user_id vendor_product
29
30| `security_content_ctime(firstTime)`
31
32| `security_content_ctime(lastTime)`
33
34| `windows_bitdefender_submission_wizard_dll_sideloading_filter`

Data Source

Name Platform Sourcetype Source
Sysmon EventID 7 Windows icon Windows 'XmlWinEventLog' 'XmlWinEventLog:Microsoft-Windows-Sysmon/Operational'

Macros Used

Name Value
sysmon (source=WinEventLog:Microsoft-Windows-Sysmon/Operational OR source=XmlWinEventLog:Microsoft-Windows-Sysmon/Operational OR source=Syslog:Linux-Sysmon/Operational)
windows_bitdefender_submission_wizard_dll_sideloading_filter search *
windows_bitdefender_submission_wizard_dll_sideloading_filter is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Annotations

- MITRE ATT&CK
+ Kill Chain Phases
+ NIST
+ CIS
- Threat Actors
ID Technique Tactic
T1574 Hijack Execution Flow Execution
Exploitation
Installation
DE.CM
CIS 10

Default Configuration

This detection is configured by default in Splunk Enterprise Security to run with the following settings:

Setting Value
Disabled true
Cron Schedule 0 * * * *
Earliest Time -70m@m
Latest Time -10m@m
Schedule Window auto
Creates Finding (Notable) Yes
Rule Title %name%
Rule Description %description%
Notable Event Fields user, dest
Creates Intermediate Finding (Risk Event) Yes
TTP detections generate a Finding (Notable) and may generate Intermediate Findings (Risk Events) for associated entities.

Implementation

Ingest Sysmon ImageLoad events and ensure the Splunk Add-on for Sysmon is configured to parse them. Enable ImageLoad in Sysmon config for DLLs. Map logs to Endpoint data model where applicable.

Known False Positives

Legitimate Bitdefender installations loading log.dll from Program Files are excluded. Allowlist known paths as needed.

Associated Analytic Story

Finding

Title Entity Field Entity Type Risk Score
Bitdefender Submission Wizard loaded $ImageLoaded$ from a non-standard path on $dest$ by user $User$, indicating potential DLL side-loading activity. User user 50

Intermediate Findings

Message Entity Field Entity Type Risk Score
Bitdefender Submission Wizard loaded $ImageLoaded$ from a non-standard path on $dest$ by user $User$, indicating potential DLL side-loading activity. dest system 50

Threat Objects

Field Type
Image process_name
ImageLoaded file_name

References

Detection Testing

Test Type Status Dataset Source Sourcetype
Validation Not Applicable N/A N/A N/A
Unit ❌ Failing N/A N/A N/A
Integration ❌ Failing N/A N/A N/A

Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range


Source: GitHub | Version: 3