CyberDax Origins
EmEditor Watering Hole Attack
BLUF
Attackers compromised the official download page of EmEditor, a popular text editor for developers, to distribute a tampered installer that delivers a multi-stage PowerShell-based stealer.
Executive Cost Summary
This cost analysis was developed by the CyberDax team using expert judgment and assisted analytical tools to support clarity and consistency.
For organizations affected by a watering hole supply-chain compromise delivering credential-stealing malware through a trusted developer tool:
- Low-end total cost: $750,000 – $1.2M
- (Limited endpoint exposure, rapid detection, minimal credential reuse)
- Typical expected range: $1.5M – $3.5M
- (Multiple developers impacted, credential resets, short-term operational disruption)
- Upper-bound realistic scenarios: $4M – $7M
- (Credential abuse leads to secondary access, customer assurance actions required)
Key Cost Drivers
- Number of developer endpoints requiring rebuild and credential resets
- Evidence of credential reuse across internal or customer-facing systems
- Duration between installer exposure and detection
- Contractual security obligations to enterprise customers
- Cyber insurance deductible levels and coverage limitations
Targeted Sectors
- Software Development
- IT
- Technology
Countries Targeted
- Global
Date of First Reported Activity
- Late December 2025
Date of Last Reported Activity Update
- January 26, 2026
APT Names
- Unidentified (suspected Russian or CIS-based due to geofencing).
Associated Criminal Organizations
- No criminal organization has been associated with this at this time.
IOCs
Domain
- EmEditorjp[.]com (malicious C2 mimicking legitimate site).
Installer
Tampered MSI installer for EmEditor.
Related Persistence Mechanisms
Scheduled Task
- A task named Google Drive Caching may be present in the system.
VBScript File
- A file named background.vbs is typically created in %LOCALAPPDATA%\Google Drive Caching\.
Log File
- The presence of C:\ProgramData\tmp_mojo.log is a known indicator of infection.
Command and Control (C2)
- The malware communicates with malicious domains, most notably cachingdrive[.]com
Tools Used
- PowerShell
- MSI Installers
CVEs & CVSS
- No specific CVE assigned to the watering hole site breach yet
- it involves a compromise of the vendor's distribution infrastructure.
Nessus ID
- Not applicable at this time.
Mitigation
- Verify checksums of downloaded installers. Emurasoft has issued a security advisory on its official site.
Malware Names
- Evelyn Stealer
- "Google Drive Caching" Extension
o As part of the infection chain, the malware may deploy a malicious browser extension by this name. This extension serves as a fully featured infostealer itself, capable of:
§ Logging keystrokes and stealing cookies.
§ Collecting browser history and bookmarks.
§ Replacing cryptocurrency wallet addresses with those controlled by the attacker.
§ Stealing Facebook ad accounts.
- Obfuscated PowerShell Scripts
o The initial compromise involves a modified Microsoft Installer (.MSI) that executes heavily obfuscated PowerShell scripts to download and deploy the final payloads.
Malware Sample
sha256
E3544F1A9707EC1CE083AFE0AE64F2EDE38A7D53FC6F98AAB917CA049BC63E69
Known Decoding Key (AES-256-CBC)
Key (32 bytes)
2e649f6145f55988b920ff5a445e63aae29c80495b830e0d8bb4b3fff4b1f6f4
IV (16 bytes)
5c507b22e9814428c5f2b1ef213c5c4a
Verdict
- Malicious
o Categorized as a high-risk data exfiltration Trojan.
Primary Objectives
- Harvest browser credentials, cookies, and autofill data.
- Steal cryptocurrency wallet information and session tokens.
- Capture system metadata, clipboard contents, and Wi-Fi credentials.
- Take screenshots of the infected environment.
Threat Actor Context
- Observed targeting software developers by abusing the Visual Studio Code (VSC) Extension Marketplace.
- Uses lures like "Bitcoin Black" themes and "Codo AI" coding assistants to deliver malicious extensions.
- Functions as a mature multi-stage pipeline designed to pivot from developer workstations into enterprise environments.
Behavior Analysis
Initial Infection
- Chained through malicious VSC extensions that execute PowerShell and batch scripts upon activation.
Anti-Analysis
- Implements multiple checks to detect sandbox or research environments and terminates if identified.
Execution
- Employs Process Hollowing and DLL Hijacking (often using the legitimate Lightshot utility) to run malicious code under trusted binary names like grpconv.exe.
Exfiltration
Communicates with Command-and-Control (C2) servers over FTP for data upload.
TTPs
Initial Access
- T1195.002 Supply Chain Compromise
o Compromise Software Supply Chain: Attackers modified the legitimate EmEditor MSI installer on the official website to include a malicious CustomAction script.
- T1189 Drive-by Compromise
o The compromise of the official download page served as a "watering hole" to infect users visiting the site.
Execution
- T1059.001 Command and Scripting Interpreter PowerShell
o The modified installer executes a PowerShell command to download and run subsequent payloads.
- T1204.002 User Execution Malicious File
o Execution occurs when a user runs the trojanized version of the installer.
Persistence & Evasion
- T1027 Obfuscated Files or Information
o Payloads use complex string manipulation (Insert, Remove, Replace) to evade signature-based detection.
- T1562.001 Impair Defenses: Disable or Modify Tools
o The malware specifically disables PowerShell Event Tracing for Windows (ETW) to suppress security logging.
- T1497.001 Virtualization/Sandbox Evasion System Checks
o The malware performs anti-virtualization checks and process detection to identify security software.
- T1614.001 System Location Discovery
o System Language Discovery (Geofencing): The attack employs geofencing to restrict execution based on geographic regions (e.g., excluding certain CIS countries).
Credential Access & Collection
- T1555.004 Credentials from Password Stores
o Windows Credential Manager: The primary payload extracts stored credentials from the Windows Credential Manager.
- T1113 Screen Capture
o The malware is capable of taking screenshots of the victim's system for reconnaissance.
- T1082 System Information Discovery
o The malware harvests detailed system information and fingerprints the infected machine.
Command and Control
- T1071.001 Application Layer Protocol Web Protocols
o Communication with the command-and-control (C2) server is conducted via HTTPS.
- T1105 Remote File Copy
o PowerShell's Invoke-WebRequest (IWR) is used to retrieve additional stages of the malware.
Suggested rules / potential hunts
As a reminder, these are indicator rules. They are likely to be noisy.
For best results consider creating a data model and reviewing the traffic as a report.
Suricata
Create alerts for the known malicious domains used to stage payloads.
alert dns $HOME_NET any -> any any (msg:"ET HUNTING EmEditor Watering Hole Domain (emeditorjp[.]com)"; dns.query; content:"emeditorjp.com"; nocase; sid:2026001; rev:1;)
alert dns $HOME_NET any -> any any (msg:"ET HUNTING EmEditor Watering Hole Domain (emeditorgb[.]com)"; dns.query; content:"emeditorgb.com"; nocase; sid:2026002; rev:1;)
alert dns $HOME_NET any -> any any (msg:"ET HUNTING EmEditor Watering Hole Domain (emeditorde[.]com)"; dns.query; content:"emeditorde.com"; nocase; sid:2026003; rev:1;)
Alert on specific URI patterns used for credential theft and system info gathering.
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"ET TROJAN Evelyn Stealer Payload Request (/run/mg8heP0r)"; http.uri; content:"/run/mg8heP0r"; sid:2026004; rev:1;)
SentinelOne
Search for msiexec.exe spawning PowerShell with unusual arguments or network connections.
ProcessName = "msiexec.exe" AND ChildProcessName = "powershell.exe"
ProcessName = "msiexec.exe" AND DNSRequest CONTAINS "EmEditor" (to find spoofed domains)
Identify obfuscated PowerShell or use of Invoke-WebRequest (IWR) to suspicious domains.
ProcessName = "powershell.exe" AND (CommandLine CONTAINS ".Insert" OR CommandLine CONTAINS ".Substring")
DNSRequest IN ("EmEditorjp.com", "EmEditorgb.com", "EmEditorde.com", "cachingdrive.com")
Monitor for registry or process modifications intended to disable ETW
ProcessName = "powershell.exe" AND (CommandLine CONTAINS "ETW" AND CommandLine CONTAINS "Disable")
Detect unauthorized access to credential storage or sensitive registry keys.
ProcessName = "powershell.exe" AND RegistryKeyPath CONTAINS "Credentials"
Splunk
Look for common string manipulation techniques (e.g., Insert, Remove, Replace) in PowerShell logs (Event ID 4104).
index=windows sourcetype="XmlWinEventLog:Microsoft-Windows-PowerShell/Operational"
| eval script_len=len(ScriptBlockText)
| where script_len > 500 AND (match(ScriptBlockText, "Replace|Insert|Remove|Substring|Trim"))
| stats count by ComputerName, ScriptBlockText
Domain Typosquatting Check
Compare web proxy or DNS logs against the legitimate emeditor.com domain.
index=network sourcetype=dns query="emeditor*" NOT query="emeditor.com"
| stats count by query, src_ip
Delivery Method
- Tampered installer hosted on the official download page
Email sample
References
CyberPress
- hxxps://cyberpress.org/emeditor-watering-hole-stealer-attack/
Trend Micro
- hxxps://www.trendmicro.com/en_us/research/26/a/watering-hole-attack-targets-emeditor-users.html
- hxxps://www.trendmicro.com/en_us/research/26/a/analysis-of-the-evelyn-stealer-campaign.html
VirusTotal
- hxxps://www.virustotal.com/gui/file/e3544f1a9707ec1ce083afe0ae64f2ede38a7d53fc6f98aab917ca049bc63e69/details
