Windows Phantom DLL Created on Disk

 Original Source: [splunk source]
Name:Windows Phantom DLL Created on Disk
id:34cb2dfb-1dec-4b6b-bc72-c3904e5e4521
version:2
date:None
author:Onur Mustafa Erdogan, Nasreddine Bencherchali, Splunk
status:production
type:TTP
Description:The following analytic detects creation of DLL files with names associated with phantom DLL hijacking opportunities. These DLLs are usually absent from standard Windows installations, but legitimate Windows components or services may attempt to load them when they are present in expected search paths such as System32. Phantom DLL hijacking involves placing a malicious DLL where a legitimate process will search for a non-existent dependency, allowing the attacker-controlled library to execute in that process context. ShieldBreak is one example where the exploit redirects a privileged Defender-driven write into C:\Windows\System32\phoneinfo.dll and then triggers Windows Error Reporting so wermgr.exe loads the planted DLL at SYSTEM integrity. If confirmed malicious, this activity can indicate preparation for code execution, persistence, or local privilege escalation through DLL search order hijacking.
Data_source:
  • -Sysmon EventID 11
search:| tstats `security_content_summariesonly`
count min(_time) as firstTime
max(_time) as lastTime
from datamodel=Endpoint.Filesystem where

Filesystem.action IN ("created","modified")

Filesystem.file_path IN (
"*:\\Windows\\System32\\axeonoffhelper.dll",
"*:\\Windows\\System32\\cdpsgshims.dll",
"*:\\Windows\\System32\\oci.dll",
"*:\\Windows\\System32\\offdmpsvc.dll",
"*:\\Windows\\System32\\shellchromeapi.dll",
"*:\\Windows\\System32\\TSMSISrv.dll",
"*:\\Windows\\System32\\TSVIPSrv.dll",
"*:\\Windows\\System32\\wbem\\wbemcomn.dll",
"*:\\Windows\\System32\\WLBSCTRL.dll",
"*:\\Windows\\System32\\wow64log.dll",
"*:\\Windows\\System32\\WptsExtensions.dll",
"*\\phoneinfo.dll",
"*\\SprintCSP.dll"
)
by Filesystem.action Filesystem.dest Filesystem.file_hash
Filesystem.file_name Filesystem.file_path Filesystem.process_id
Filesystem.user Filesystem.vendor_product

| `drop_dm_object_name(Filesystem)`
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `windows_phantom_dll_created_on_disk_filter`


how_to_implement:To successfully implement this search, you need file creation telemetry from Windows endpoints mapped into the Endpoint.Filesystem datamodel. If you are using Sysmon, enable EventID 11 and ensure the FileCreate configuration captures the full target filename for DLL creations in Windows system paths.
known_false_positives:Some legacy or third-party components may create DLLs with these names for legitimate compatibility reasons, but creation in Windows system paths should be uncommon. Review the creating process, signer, file hash, path, and whether the DLL is expected on the host before tuning.
References:
  -http://remoteawesomethoughts.blogspot.com/2019/05/windows-10-task-schedulerservice.html
  -https://clement.notin.org/blog/2020/09/12/CVE-2020-7315-McAfee-Agent-DLL-injection/
  -https://decoded.avast.io/martinchlumecky/png-steganography/
  -https://github.com/blackarrowsec/redteam-research/tree/26e6fc0c0d30d364758fa11c2922064a9a7fd309/LPE%20via%20StorSvc
  -https://github.com/Wh04m1001/SysmonEoP
  -https://itm4n.github.io/cdpsvc-dll-hijacking/
  -https://posts.specterops.io/lateral-movement-scm-and-dll-hijacking-primer-d2f61e8ab992
  -https://securelist.com/passiveneuron-campaign-with-apt-implants-and-cobalt-strike/117745/
  -https://www.crowdstrike.com/en-us/blog/4-ways-adversaries-hijack-dlls/
  -https://www.cyderes.com/howler-cell/rogueplanet-windows-zero-day
  -https://www.hexacorn.com/blog/2013/12/08/beyond-good-ol-run-key-part-5/
  -https://www.hexacorn.com/blog/2016/06/02/beyond-good-ol-run-key-part-40/
  -https://www.hexacorn.com/blog/2025/06/14/wermgr-exe-boot-offdmpsvc-dll-lolbin/
  -https://www.hexacorn.com/blog/2025/06/14/wpr-exe-boottrace-phantom-dll-axeonoffhelper-dll-lolbin/
  -https://www.threatlocker.com/blog/nightmareeclipse-releases-new-poc-shieldbreak-exploits-same-weakness-as-rogueplanet
  -https://x.com/0gtweet/status/1564131230941122561
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:['RoguePlanet', 'Windows Privilege Escalation', 'Windows Defense Evasion Tactics']

asset_type:Endpoint

mitre_attack_id:['T1574.001', 'T1068']

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

category:endpoint

security_domain:endpoint

tags:

tests:
 name:'True Positive Test'
 attack_data:
  data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/emerging_threats/ShieldBreak/phoneinfo_dll_created.log
  source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
  sourcetype: XmlWinEventLog
 test_type:'unit'
manual_test:None