Detect Hidden File System in CrowdStrike LogScale
Adversaries may use a hidden file system to conceal malicious activity from users and security tools. Hidden file systems operate outside normal OS file system abstractions — adversaries write raw data to unused disk space, inside volume slack space, inside NTFS extended attributes, or in specially crafted partitions that aren't mounted by the OS. The Equation Group APT, ComRAT v4, Regin rootkit, and BOOTRASH VBR bootkit all use hidden file systems. This technique makes data invisible to standard forensic tools and EDR sensors that operate at the file system API level.
MITRE ATT&CK
- Tactic
- Defense Evasion
- Technique
- T1564 Hide Artifacts
- Sub-technique
- T1564.005 Hidden File System
- Canonical reference
- https://attack.mitre.org/techniques/T1564/005/
LogScale Detection Query
#event_simpleName=ProcessRollup2
| FileName = /(?i)(diskpart\.exe|format\.com|bcdedit\.exe|powershell\.exe|cmd\.exe)/
| CommandLine = /(?i)(\\\.\\PhysicalDrive|\\Device\\Harddisk|Device\\HarddiskVolume|select disk|select volume|create partition|delete partition)/ OR FileName = /(?i)(diskpart\.exe|format\.com|bcdedit\.exe)/
| ParentBaseFileName = /(?i)(cmd\.exe|powershell\.exe|wscript\.exe|cscript\.exe)/
| eval RawDiskAccess = if(CommandLine = /(\\\.\\PhysicalDrive|\\Device\\Harddisk)/, 1, 0)
| eval DiskPartOp = if(FileName = /(?i)diskpart\.exe/, 1, 0)
| eval BCDModify = if(FileName = /(?i)bcdedit\.exe/, 1, 0)
| eval SuspiciousParent = if(ParentBaseFileName = /(?i)(cmd|powershell|wscript|cscript)\.exe/, 1, 0)
| eval RiskScore = RawDiskAccess + DiskPartOp + BCDModify + SuspiciousParent
| where RiskScore > 0
| groupBy([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, RawDiskAccess, DiskPartOp, BCDModify, SuspiciousParent, RiskScore], function=count(as=EventCount))
| sort(RiskScore, order=desc) CrowdStrike LogScale CQL query using ProcessRollup2 events to detect hidden file system staging behavior — raw physical disk path access and disk manipulation utilities spawned from scripting interpreters — with composite risk scoring for analyst prioritization.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate IT automation using diskpart scripted from cmd.exe or PowerShell for routine disk management and server provisioning
- Windows Subsystem for Linux (WSL) or virtualization platforms accessing raw disk devices via PhysicalDrive paths during normal operation
- CrowdStrike Real Time Response (RTR) or other EDR response tools that invoke disk utility commands during remote incident response
Other platforms for T1564.005
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Raw Physical Disk Access via PowerShell
Expected signal: Sysmon Event ID 1: powershell.exe with PhysicalDrive in command line. Security Event ID 4688. No disk modification occurs — only read access.
- Test 2Diskpart Script Execution
Expected signal: Sysmon Event ID 1: diskpart.exe with /s flag and script path. Security Event ID 4688 for diskpart.exe. Script file creation in Temp (Sysmon EventCode=11).
- Test 3BCDEdit Query for Boot Configuration
Expected signal: Sysmon Event ID 1: bcdedit.exe with /enum flag. Security Event ID 4688. Output shows all boot entries including any hidden or non-standard entries.
References (4)
- https://attack.mitre.org/techniques/T1564/005/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1564.005/T1564.005.md
- https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2018/03/08064459/Equation_group_questions_and_answers.pdf
- https://securelist.com/the-penquin-turla/67962/
Unlock Pro Content
Get the full detection package for T1564.005 including response playbook, investigation guide, and atomic red team tests.