Adversaries may use NTFS file attributes to hide their malicious data in order to evade detection. Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. [1] Within MFT entries are file attributes, [2] such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files). [1] [3] [4] [5]
Adversaries may store malicious data or binaries in file attribute metadata instead of directly in files. This may be done to evade some defenses, such as static indicator scanning tools and anti-virus. [6] [4]
ID | Name | Description |
---|---|---|
S0504 | Anchor | |
G0050 | APT32 |
APT32 used NTFS alternate data streams to hide their payloads.[8] |
S0373 | Astaroth |
Astaroth can abuse alternate data streams (ADS) to store content for malicious payloads.[9] |
S0570 | BitPaymer |
BitPaymer has copied itself to the |
S1052 | DEADEYE |
The DEADEYE.EMBED variant of DEADEYE can embed its payload in an alternate data stream of a local file.[11] |
S0404 | esentutl |
esentutl can be used to read and write alternate data streams.[12] |
S0361 | Expand |
Expand can be used to download or copy a file into an alternate data stream.[13] |
S0168 | Gazer |
Gazer stores configuration items in alternate data streams (ADSs) if the Registry is not accessible.[14] |
S1160 | Latrodectus |
Latrodectus can delete itself while its process is still running through the use of an alternate data stream.[15] |
S0397 | LoJax |
LoJax has loaded an embedded NTFS DXE driver to be able to access and write to NTFS partitions.[16] |
S0139 | PowerDuke |
PowerDuke hides many of its backdoor payloads in an alternate data stream (ADS).[17] |
S0145 | POWERSOURCE |
If the victim is using PowerShell 3.0 or later, POWERSOURCE writes its decoded payload to an alternate data stream (ADS) named kernel32.dll that is saved in |
S0019 | Regin |
The Regin malware platform uses Extended Attributes to store encrypted executables.[19] |
S0476 | Valak |
Valak has the ability save and execute files as alternate data streams (ADS).[20][21][22] |
S0612 | WastedLocker |
WastedLocker has the ability to save and execute files as an alternate data stream (ADS).[23] |
S0027 | Zeroaccess |
Some variants of the Zeroaccess Trojan have been known to store data in Extended Attributes.[24] |
ID | Mitigation | Description |
---|---|---|
M1022 | Restrict File and Directory Permissions |
Consider adjusting read and write permissions for NTFS EA, though this should be tested to ensure routine OS operations are not impeded. [25] |
ID | Data Source | Data Component | Detects |
---|---|---|---|
DS0017 | Command | Command Execution |
The Streams tool of Sysinternals can be used to uncover files with ADSs. The |
DS0022 | File | File Metadata |
Monitor for contextual data about a file, which may include information such as name, the content (ex: signature, headers, or data/media), user/owner, permissions, may use NTFS file attributes to hide their malicious data in order to evade detection. Forensic techniques exist to identify information stored in NTFS EA. [6] |
File Modification |
There are many ways to create and interact with ADSs using Windows utilities. Monitor for operations (execution, copies, etc.) with file names that contain colons. This syntax (ex: |
||
DS0009 | Process | OS API Execution |
Monitor calls to the |
Process Creation |
Monitor for process execution that may use NTFS file attributes to hide their malicious data in order to evade detection. Analytic 1 - NTFS Alternate Data Stream Execution : System Utilities (Powershell)
Analytic 2 - NTFS Alternate Data Stream Execution : System Utilities (WMIC)
Analytic 3 - NTFS Alternate Data Stream Execution : System Utilities (rundll32)
Analytic 4 - NTFS Alternate Data Stream Execution : System Utilities (wscript/cscript)
|