Detect Hidden File System in Microsoft Sentinel
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/
KQL Detection Query
DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("diskpart.exe", "format.com", "bcdedit.exe")
| extend DiskpartScript = ProcessCommandLine has_any ("select disk", "select volume", "create partition", "delete partition")
| extend BCDEdit = FileName =~ "bcdedit.exe"
| extend FormatDisk = FileName =~ "format.com"
| extend SuspiciousParent = InitiatingProcessFileName has_any ("cmd.exe", "powershell.exe", "wscript.exe", "cscript.exe")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessFileName,
DiskpartScript, BCDEdit, FormatDisk, SuspiciousParent
| sort by Timestamp desc
union (
DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("powershell.exe", "cmd.exe")
| where ProcessCommandLine has_any ("\\Device\\HarddiskVolume", "\\\\.\\PhysicalDrive", "\\\\.\\Harddisk", "CreateFile.*\\\\.\\")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessFileName
| sort by Timestamp desc
) Detects potential hidden file system activity by monitoring raw disk access via physical drive paths (\\.\PhysicalDrive0, Device\HarddiskVolume), diskpart operations that could create unformatted partitions, and bcdedit modifications that could hide boot-level file systems. This covers both the creation and access patterns for hidden file systems.
Data Sources
Required Tables
False Positives & Tuning
- Disk imaging and forensic tools that use raw disk access (dd, FTK Imager, Autopsy) for legitimate forensic analysis
- System administrators using diskpart for legitimate disk partitioning and management operations
- Drive encryption software (BitLocker, VeraCrypt) that accesses raw disk sectors during encryption
- Virtual machine software that uses raw disk access for virtual disk management operations
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.