Adversaries may masquerade malicious payloads as legitimate files through changes to the payload's formatting, including the file’s signature, extension, and contents. Various file types have a typical standard format, including how they are encoded and organized. For example, a file’s signature (also known as header or magic bytes) is the beginning bytes of a file and is often used to identify the file’s type. For example, the header of a JPEG file, is
0xFF 0xD8 and the file extension is either
Adversaries may edit the header’s hex code and/or the file extension of a malicious payload in order to bypass file validation checks and/or input sanitization. This behavior is commonly used when payload files are transferred (e.g., Ingress Tool Transfer) and stored (e.g., Upload Malware) so that adversaries may move their malware without triggering detections.
Common non-executable file types and extensions, such as text files (
.txt) and image files (
.gif, etc.) may be typically treated as benign. Based on this, adversaries may use a file extension to disguise malware, such as naming a PHP backdoor code with a file name of
test.gif. A user may not know that a file is malicious due to the benign appearance and file extension.
Polygot files, which are files that have multiple different file types and that function differently based on the application that will execute them, may also be used to disguise malicious malware and capabilities.
|C0025||2016 Ukraine Electric Power Attack||
During the 2016 Ukraine Electric Power Attack, Sandworm Team masqueraded executables as
AvosLocker has been disguised as a .jpg file.
|S1063||Brute Ratel C4||
Brute Ratel C4 has used Microsoft Word icons to hide malicious LNK files.
|C0022||Operation Dream Job||
During Operation Dream Job, Lazarus Group disguised malicious template files as JPEG files to avoid detection.
The QakBot payload has been disguised as a PNG file and hidden within LNK files using a Microsoft File Explorer icon.
Anti-virus can be used to automatically quarantine suspicious files.
|M1040||Behavior Prevention on Endpoint||
Implement security controls on the endpoint, such as a Host Intrusion Prevention System (HIPS), to identify and prevent execution of files with mismatching file signatures.
Ensure that input sanitization is performed and that files are validated properly before execution; furthermore, implement a strict allow list to ensure that only authorized file types are processed. Restrict and/or block execution of files where headers and extensions do not match.
|ID||Data Source||Data Component||Detects|
Monitor for abnormal command execution from otherwise non-executable file types (such as
Check and ensure that file headers/signature and extensions match using magic bytes detection and/or file signature validation. In Linux, the