After Microsoft decided to block Office macros by default, threat actors began pivoting to a usage of container files such as .iso, .rar, and .lnk files for malware distribution.
This is because TAs can then bypass the "Mark of the web" restrictions for downloaded files.
When downloaded, container files will have the MOTW attribute because they were downloaded from the internet. However, the document inside, such as a macro-enabled spreadsheet, will not.
When the document is extracted from the container, the user will still have to enable macros for the malicious code to automatically execute, but document will not be considered as coming from the internet.
Aside from usage of macro-enabled documents, threat actors can also used container files to distribute payloads directly. These container files may included files such as, the following (which can install a malicious payload) :
- LNKs
- DLLs
- EXEs
One way we can look for this type of activity is through identification of ISO mounting.
This artifact searches through the 'Microsoft-Windows-VHDMP-Operational' Windows event log looking for specific event IDs and the .iso file extension to identify ISO mounting.
We can see the following information around an ISO mount event:
- Time of the event
- Computer on which the file was mounted
- User that mounted the file
- Event ID/channel/record ID
- Message
- Event data
- Filename (what file was mounted)
Here, we can see the contents of the ISO via File Explorer. 👀
- AllTheThingsx64.dll
- document (LNK/shortcut)
In this case, the 'document.lnk' file is executed from the 'AllTheThings.iso'.
The LNK file then executes 'cmd.exe' and rundll32 to in order to load and execute 'AllTheThingsx64.dll' from the ISO, which spawns 'calc.exe'. 😜
('Windows[.]Forensics[.]Lnk' - parse the .lnk)
Why spawn 'calc.exe'? This a test from Atomic Red Team!
This artifact enumerates the running processes on a Linux system. This can be useful to check for proper configuration or misalignment across a fleet of hosts, or for identifying suspicious processes generated by, or leveraged by malware.
Some of the Information provided by the artifact:
- Process ID
- Parent process ID
- Command line
- Executable
- Hash
- Username
- Created time
- RSS (how much memory allocated to the process)
This artifact parses the 'com[.]apple.LaunchServices.QuarantineEventsV2' sqlite database to provide defenders with information around files that have been downloaded from the internet.
Information includes:
- DL Time
- DL URL
- Origin
- Agent Name/Bundle
- User
- Event UUID
On macOS, when a user downloads a file from the internet/third party source, the file will have an extended attribute associated with it called 'com[.]apple.quarantine'.
This asserts that the file will not be opened/executed, until explicitly allowed by the user (via prompt).
This artifact will detect renamed binaries commonly abused by adversaries.
Renaming binaries is a defense evasion technique used to bypass brittle process name and path-based detections. It is used by many actors/groups, including from commodity malware and nation states.
Here, we can see 'cmd.exe' was renamed in an attempt to appear as a legitimate instance of 'lsass.exe':
One might use this artifact to generate a baseline of normal Windows services, and look for services out of the ordinary. We can filter on display/service name, as well as DLL, path, etc. We can also calculate hashes and provide signing info for associated executables/DLLs.
Sorting on the 'Created' column shows the most recently created services (assuming no other manipulation, etc.). Here, we see a service named 'win32times', similar to the native Windows Time Service. We also see 'evilscript.ps1' being called by 'cmd', and no signing info.🦹🔍