Files
atomic-red-team/atomics/T1158/T1158.md
T
2018-05-23 23:09:31 +00:00

3.1 KiB
Raw Blame History

T1158 - Hidden Files and Directories

Description from ATT&CK

To prevent normal users from accidentally changing special files on a system, most operating systems have the concept of a hidden file. These files dont show up when a user browses the file system with a GUI or when using normal commands on the command line. Users must explicitly ask to show the hidden files either via a series of Graphical User Interface (GUI) prompts or with command line switches (dir /a for Windows and ls a for Linux and macOS).

===Windows===

Users can mark specific files as hidden by using the attrib.exe binary. Simply do attrib +h filename to mark a file or folder as hidden. Similarly, the “+s” marks a file as a system file and the “+r” flag marks the file as read only. Like most windows binaries, the attrib.exe binary provides the ability to apply these changes recursively “/S”.

===Linux/Mac===

Users can mark specific files as hidden simply by putting a “.” as the first character in the file or folder name (Citation: Sofacy Komplex Trojan) (Citation: Antiquated Mac Malware). Files and folder that start with a period, ., are by default hidden from being viewed in the Finder application and standard command-line utilities like “ls”. Users must specifically change settings to have these files viewable. For command line usages, there is typically a flag to see all files (including hidden ones). To view these files in the Finder Application, the following command must be executed: defaults write com.apple.finder AppleShowAllFiles YES, and then relaunch the Finder Application.

===Mac===

Files on macOS can be marked with the UF_HIDDEN flag which prevents them from being seen in Finder.app, but still allows them to be seen in Terminal.app (Citation: WireLurker). Many applications create these hidden files and folders to store information so that it doesnt clutter up the users workspace. For example, SSH utilities create a .ssh folder thats hidden and contains the users known hosts and keys.

Adversaries can use this to their advantage to hide files and folders anywhere on the system for persistence and evading a typical user or system analysis that does not incorporate investigation of hidden files.

Detection: Monitor the file system and shell commands for files being created with a leading "." and the Windows command-line use of attrib.exe to add the hidden attribute.

Platforms: Linux, macOS, Windows

Data Sources: File monitoring, Process Monitoring, Process command-line parameters

Defense Bypassed: Host forensic analysis

Permissions Required: User

Atomic Tests


Atomic Test #1 - Create a hidden file in a hidden directory

Creates a hidden file inside a hidden directory

Supported Platforms: Linux, macOS

Run it with sh!

mkdir .hidden-directory
echo "this file is hidden" > .hidden-directory/.hidden-file