Windows Uncommon Remote Thread Creation In Browser Process

 Original Source: [splunk source]
Name:Windows Uncommon Remote Thread Creation In Browser Process
id:634cce27-a3a6-4079-b0d6-3ced361a0aa9
version:1
date:None
author:Teoderick Contreras, Nasreddine Bencherchali, Splunk
status:production
type:Anomaly
Description:The following analytic identifies the creation of a remote thread by a process such as wermgr.exe or rundll32.exe into a browser process such as firefox.exe, chrome.exe, and others. These processes do not typically create remote threads, in browser processes. It leverages Sysmon EventID 8 to detect this behavior by monitoring SourceImage and TargetImage fields. This activity is significant because it is commonly associated with malware like Qakbot and IcedID, which injects malicious code into legitimate processes to steal information. If confirmed malicious, this activity could allow attackers to execute arbitrary code, escalate privileges, and exfiltrate sensitive data from the compromised host.
Data_source:
  • -Sysmon EventID 8
search:`sysmon`
EventCode=8
SourceImage IN (
"*\\rundll32.exe",
"*\\wermgr.exe"
)
TargetImage IN (
"*\\Sputnik.exe",
"*\\ChromePlus.exe",
"*\\QIP Surf.exe",
"*\\BlackHawk.exe",
"*\\7Star.exe",
"*\\Sleipnir5.exe",
"*\\Citrio.exe",
"*\\Chrome SxS.exe",
"*\\Chrome.exe",
"*\\Coowon.exe",
"*\\CocCocBrowser.exe",
"*\\Uran.exe",
"*\\QQBrowser.exe",
"*\\Orbitum.exe",
"*\\Slimjet.exe",
"*\\Iridium.exe",
"*\\Vivaldi.exe",
"*\\Chromium.exe",
"*\\GhostBrowser.exe",
"*\\CentBrowser.exe",
"*\\Xvast.exe",
"*\\Chedot.exe",
"*\\SuperBird.exe",
"*\\360Browser.exe",
"*\\360Chrome.exe",
"*\\dragon.exe",
"*\\brave.exe",
"*\\torch.exe",
"*\\UCBrowser.exe",
"*\\BliskBrowser.exe",
"*\\Epic Privacy Browser.exe",
"*\\nichrome.exe",
"*\\AmigoBrowser.exe",
"*\\KometaBrowser.exe",
"*\\XpomBrowser.exe",
"*\\msedge.exe",
"*\\LiebaoBrowser.exe",
"*\\AvastBrowser.exe",
"*\\Kinza.exe",
"*\\seamonkey.exe",
"*\\icedragon.exe",
"*\\cyberfox.exe",
"*\\SlimBrowser.exe",
"*\\palemoon.exe",
"*\\opera.exe",
"*\\yandex.exe",
"*\\atom.exe",
"*\\Chromodo.exe",
"*\\360chrome.exe",
"*\\360se.exe",
"*\\Maxthon.exe",
"*\\k-meleon.exe",
"*\\SLBrowser.exe",
"*\\Go!.exe",
"*\\Secure Browser.exe",
"*\\Elements Browser.exe",
"*\\Mustang.exe",
"*\\Suhba.exe",
"*\\TorBro.exe",
"*\\RockMelt.exe",
"*\\Bromium.exe",
"*\\Twinkstar.exe",
"*\\iTop Private Browser.exe",
"*\\CCleaner Browser.exe",
"*\\AcWebBrowser.exe",
"*\\CoolNovo.exe",
"*\\spark.exe",
"*\\iron.exe",
"*\\Titan Browser.exe",
"*\\AVG Browser.exe",
"*\\UR Browser.exe",
"*\\Flock.exe",
"*\\CryptoTab Browser.exe",
"*\\Sidekick.exe",
"*\\SwingBrowser.exe",
"*\\SalamWeb.exe",
"*\\NetboxBrowser.exe",
"*\\GarenaPlus.exe",
"*\\InsomniacBrowser.exe",
"*\\Viasat Browser.exe",
"*\\whale.exe",
"*\\falkon.exe",
"*\\SogouExplorer.exe",
"*\\firefox.exe",
"*\\waterfox.exe",
"*\\thunderbird.exe",
"*\\basilisk.exe",
"*\\BitTubeBrowser.exe"
)
| stats count min(_time) as firstTime
max(_time) as lastTime
values(NewThreadId) as "NewThreadId"
values(StartAddress) as "StartAddress"
by dest signature_id signature
SourceProcessGuid SourceProcessId SourceImage
TargetProcessGuid TargetProcessId TargetImage
StartModule StartFunction vendor_product
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `windows_uncommon_remote_thread_creation_in_browser_process_filter`


how_to_implement:To successfully implement this search, you need to be ingesting logs with the SourceImage, TargetImage, and EventCode executions from your endpoints related to create remote thread or injecting codes. If you are using Sysmon, you must have at least version 6.0.4 of the Sysmon TA.
known_false_positives:No false positives have been identified at this time.
References:
  -https://news.sophos.com/en-us/2022/03/10/qakbot-decoded/
  -https://www.trellix.com/en-us/about/newsroom/stories/research/demystifying-qbot-malware.html
  -https://www.joesandbox.com/analysis/380662/0/html
drilldown_searches:
 name:'View the detection results for - "$dest$"'
 search:'%original_detection_search% | search dest = "$dest$"'
 earliest_offset:'$info_min_time$'
 latest_offset:'$info_max_time$'
 name:'View risk events for the last 7 days for - "$dest$"'
 search:'| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$") | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
 earliest_offset:'7d'
 latest_offset:'0'
analytic_story:['Qakbot', 'IcedID', 'Living Off The Land']

asset_type:Endpoint

mitre_attack_id:['T1055.001']

product:['Splunk Enterprise', 'Splunk Enterprise Security', 'Splunk Cloud']

category:endpoint

security_domain:endpoint

tags:

tests:
 name:'True Positive Test - Wermgr'
 attack_data:
  data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/qakbot/remote_thread/sysmon_wermgr_remote.log
  source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
  sourcetype: XmlWinEventLog
 test_type:'unit'
 name:'True Positive Test - Rundll32'
 attack_data:
  data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/icedid/inf_icedid/windows-sysmon.log
  source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
  sourcetype: XmlWinEventLog
 test_type:'unit'
manual_test:None