Monitoring SFX archives with Wazuh

Self-extracting archives (SFX) are executables that contain compressed data with a built-in code to extract the data when it executes. They are commonly used for packaging and distributing software installers, portable applications, system recovery or backup files, and securely delivering compressed and encrypted files. Attackers use SFX archives as a delivery mechanism for malware because they are easy to distribute and can disguise as legitimate software.
For many years, benign uses of SFX archives have existed, but recently these archives may include hidden malicious functionality that security detections may overlook. Researchers have found that an empty SFX archive file can also be harmful because it can give hackers a persistent backdoor to a victim’s environment.
Attackers can configure SFX archives to exhibit various behaviors that pose significant risks to systems and networks. Some of these behaviors include the following:
These behaviors aim to compromise system integrity, exfiltrate sensitive data, or facilitate further malware propagation. Therefore, it is essential to adopt robust security measures and continuous monitoring to detect and mitigate the threats posed by suspicious SFX archives.
We use the following infrastructure to demonstrate the detection of SFX archives behaviors with Wazuh.
We show how to use Sysmon integration with Wazuh to detect SFX archives behaviors on the Windows 11 endpoint.
Perform the following steps to configure the Wazuh agent to capture Sysmon logs and send them to the Wazuh server for analysis.
1. Download Sysmon from the Microsoft Sysinternals page.
2. Extract the compressed Sysmon file to your preferred location.
3. Download the Sysmon configuration file – sysmonconfig.xml using Powershell. Replace <SYSMON_EXECUTABLE_PATH>
with the path to your Sysmon executable.
wget -Uri https://wazuh.com/resources/blog/emulation-of-attack-techniques-and-detection-with-wazuh/sysmonconfig.xml -OutFile <SYSMON_EXECUTABLE_PATH>
4. Switch to the directory with the Symon executable. Run the command below to install and start Sysmon using PowerShell with Administrator privileges:
> .\Sysmon64.exe -accepteula -i sysmonconfig.xml
5. Add the following configuration within the <ossec_config>
block of the C:\Program Files (x86)\ossec-agent\ossec.conf
file. This configures the Wazuh agent to collect and forward Sysmon event logs to the Wazuh server.
<localfile> <location>Microsoft-Windows-Sysmon/Operational</location> <log_format>eventchannel</log_format> </localfile>
6. Restart the Wazuh agent to apply the configuration changes:
> Restart-Service -Name wazuh
In this section, we create rules to detect activities performed using SFX archives on the victim endpoint.
1. Add the rules below to the /var/ossec/etc/rules/local_rules.xml
file on the Wazuh server:
<group name="sfx_archives"> <rule id="100102" level="10"> <if_sid>61603</if_sid> <field name="win.eventdata.CommandLine" type="pcre2">(?i)[C-Z]:.*.\\[7ZipRar_].*sfx.*\\*|.*\\7z.*</field> <description>SFX archive command, $(win.eventdata.CommandLine) invoked the application $(win.eventdata.OriginalFileName).</description> <mitre> <id>T1490</id> </mitre> </rule> <rule id="100103" level="10"> <if_sid>61603</if_sid> <field name="win.eventdata.CurrentDirectory" type="pcre2">(?i)[C-Z]:.*.\\[7ZipRar_].*sfx.*\\*|.*\\7z.*</field> <description>SFX archive command, $(win.eventdata.CommandLine) executed from $(win.eventdata.CurrentDirectory).</description> <mitre> <id>T1490</id> </mitre> </rule> <rule id="100104" level="10"> <if_sid>61613</if_sid> <field name="win.eventdata.targetFilename" type="pcre2">(?i)[C-Z]:.*.\\[7ZipRar_].*sfx.*\\*|.*\\7z.*</field> <description>The file $(win.eventdata.targetFilename) has been created by $(win.eventdata.image). SFX archive activity detected.</description> <mitre> <id>T1486</id> </mitre> </rule> <rule id="100105" level="10"> <if_sid>92213</if_sid> <field name="win.eventdata.targetFilename" type="pcre2">(?i)[C-Z]:.*.\\[7ZipRar_].*sfx.*\\*|.*\\7z.*</field> <description>The file $(win.eventdata.targetFilename) has been created by $(win.eventdata.image). SFX archive activity detected.</description> <mitre> <id>T1486</id> </mitre> </rule> <rule id="100106" level="10"> <if_sid>61615</if_sid> <field name="win.eventdata.eventType" type="pcre2" >^SetValue$</field> <field name="win.eventdata.Image" type="pcre2">(?i)[C-Z]:.*.\\[7ZipRar].*sfx.*\\.*</field> <description>The image, $(win.eventdata.image) made a change to the registry at $(win.eventdata.targetObject). SFX archive activity.</description> <mitre> <id>T1543</id> </mitre> </rule> <rule id="100107" level="10"> <if_sid>61609</if_sid> <field name="win.eventdata.ImageLoaded" type="pcre2">(?i)[C-Z]:.*.\\[7ZipRar].*sfx.*exe</field> <description>The image $(win.eventdata.image) loaded a file $(win.eventdata.imageLoaded). SFX archive activity detected.</description> </rule> <rule id="100108" level="10"> <if_sid>61609</if_sid> <field name="win.eventdata.Image" type="pcre2">(?i)[C-Z]:.*.\\[7ZipRar].*sfx.*exe</field> <description>The suspicious image, $(win.eventdata.image), loaded the executable $(win.eventdata.imageLoaded). SFX archive activity detected.</description> </rule> </group>
Where:
100102
detects when an SFX archive executes command line instructions on the Windows endpoint.100103
detects when an SFX archive executes several commands from the win.eventdata.CurrentDirectory
to perform several activities on the Windows endpoint.100104
and Rule ID 100105
detect when an SFX archive with win.eventdata.image creates files on the Windows endpoint.100106
detects when an SFX archive changes registry settings on the Windows endpoint.100107
and Rule ID 100108
detect when an SFX archive loads an image file win.eventdata.imageLoaded
on the Windows endpoint.2. Restart the Wazuh manager for the changes to take effect:
# systemctl restart wazuh-manager
Below is the image of the alerts generated on the Wazuh dashboard when an SFX archive is executed on the Windows endpoint.
From the Agents tab in your Wazuh dashboard, select the Windows endpoint and navigate to the Security events tab to view the generated alerts.
Due to the widespread abuse of SFX archives, it’s important to understand the extended functionality provided by some SFX archives and how adversaries leverage these in their intrusions. In this blog post, we demonstrated how to detect SFX archives behaviors with Wazuh. We utilized Sysmon to enrich logs from the victim endpoint and created rules to detect suspicious activities associated with SFX archives.
Wazuh is an open source security platform with several capabilities to monitor and protect your infrastructure against malicious activities. You can also join our Slack community of professionals and users if you have any questions on this blog post or Wazuh in general.