WinRAR CVE-2025-8088 — Russia-Aligned Stealer Campaigns
Executive Summary
CVE-2025-8088 is a directory-traversal flaw in WinRAR: a crafted archive uses NTFS Alternate Data Streams to write files outside the chosen extraction directory. Patched in July 2025 (WinRAR 7.13), it remains heavily exploited a year later because WinRAR has no silent auto-update and is deeply embedded in everyday workflows — unpatched copies linger indefinitely.
Two Russia-aligned clusters drive the activity. UAC-0226 / SHADOW-EARTH-066 ships RAR archives with a decoy PDF plus three concealed ADS payloads; on extraction a LNK lands in the Startup folder, and at next logon it executes cmd.exe → PowerShell, which uses in-memory DLL loading to deploy the GIFTEDCROOK stealer (Chromium + Firefox credentials and cookies, plus documents by extension), exfiltrates to direct C2, then self-deletes. Earth Dahu / Gamaredon runs a longer-lived HTA→VBScript chain — GammaPhish (HTA) → GammaLoad (VBScript, dead-drop resolvers) → GammaSteel — active through at least April 2026. Sandworm, Turla, and Void Rabisu have also abused the same flaw.
Source Review & Web Hunter Notes
| Tier | Source | Key Finding | Carry |
|---|---|---|---|
| 1 · News of record | The Hacker News — WinRAR Flaw Exploited by Russia-Aligned Groups | Full chain: ADS payloads → Startup LNK → cmd→PowerShell→GIFTEDCROOK; Gamaredon HTA→VBScript; Telegram→direct-C2 shift | yes |
| 1 · Vendor research | Trend Micro — Old WinRAR Flaw Fuels Attacks on Ukraine | Unmanaged-software persistence angle; attribution (corroborated) | partial |
| 2 · Corroborating | DarkReading — Russian Groups WinRAR Flaw | Two-actor confirmation; targeting of government/military in the region | yes |
| 2 · Aggregator | Rescana | CVE-2025-8088 active exploitation; advanced stealer payloads; activity through April 2026 | partial |
| 1 · Vendor (vuln) | WinRAR / NVD — CVE-2025-8088 | Path traversal via ADS; fixed in 7.13 (July 2025) | yes |
Decisions: key the pack on behavior (no hashes/domains published; infra is per-operation); cover both actor chains (UAC-0226 PowerShell/in-memory via Q2/Q5; Gamaredon HTA/VBScript via Q3/Q4); lead with the WinRAR upgrade (the patch closes the traversal; everything downstream is mitigation).
Hunt Brief & Attack Chain
Working hypothesis: A user opens a RAR attachment in a vulnerable WinRAR; the archive's ADS payloads write a LNK to the Startup folder (and/or script payloads to %TEMP%/%APPDATA%). At next logon the LNK launches a cmd→PowerShell (UAC-0226) or mshta→wscript (Gamaredon) chain that deploys a stealer, harvests browser credentials and documents, and exfiltrates to C2.
| Step | Behavior | Telemetry | Hunt Angle |
|---|---|---|---|
| 1 · Delivery | Spearphishing email with crafted RAR attachment | Email gateway logs | N4 |
| 2 · Exploit on extract | WinRAR writes ADS payloads outside extraction dir (LNK → Startup; scripts → temp) | PeFileWritten; Sysmon EID 11/15 | Q1; N1 (ADS) |
| 3 · Logon trigger | Startup LNK executes cmd.exe → powershell.exe | ProcessRollup2 | Q2 |
| 4a · UAC-0226 loader | PowerShell in-memory DLL load → GIFTEDCROOK | ProcessRollup2 (cmdline) | Q5 |
| 4b · Gamaredon loader | GammaPhish HTA → GammaLoad VBScript (dead-drop) → GammaSteel | ProcessRollup2; DnsRequest | Q3 / Q4 |
| 5 · Collection | Steal Chromium/Firefox creds + cookies; documents by extension | File access (limited in EDR) | Pivot |
| 6 · Exfil + cleanup | Send to direct C2; delete artifacts | NetworkConnectIP4 | Q6 |
Affected surface & telemetry
| Surface | Required Telemetry | Priority | Gap Risk |
|---|---|---|---|
| Windows endpoints with WinRAR < 7.13 | Software inventory; ProcessRollup2 | Critical | Low — inventory + sensor |
| Startup-folder persistence | File-write w/ writing-process context (PeFileWritten) | High | Medium — .lnk writes may need Sysmon EID 11 |
| NTFS ADS payload write | Sysmon EID 15 (FileCreateStreamHash) | Medium | High — ADS not surfaced by EDR |
| Browser credential collection | File-read on browser profile DBs | Medium | High — file reads weak in EDR; pivot only |
Consolidated IOC Table
| Type | Value | Conf | Action | Context |
|---|---|---|---|---|
| Behavior | WinRAR.exe / Rar.exe writing *.lnk into \Startup\ | high | detect | ADS path-traversal persistence outcome |
| Behavior | WinRAR.exe → cmd/powershell/mshta/wscript | high | detect | Extractor spawning a shell/script host |
| Behavior | PowerShell in-memory DLL load (GIFTEDCROOK loader) | medium | hunt | [Reflection.Assembly]::Load / FromBase64String / IEX |
| Malware family | GIFTEDCROOK, GammaPhish, GammaLoad, GammaSteel | medium | enrich | Payload identification during triage |
| TTP | Dead-drop resolver C2 (Gamaredon) | medium | hunt | VBScript resolving C2 from third-party hosting |
ATT&CK Mapping
| Tactic | Technique | Observed Behavior | Query / Control |
|---|---|---|---|
| Initial Access | T1566.001 — Spearphishing Attachment | Crafted RAR delivered by email | N4; ASR email rule §10 |
| Execution | T1203 — Exploitation for Client Execution | WinRAR extraction triggers CVE-2025-8088 | Patch §10; Q1 |
| Defense Evasion | T1564.004 — NTFS File Attributes (ADS) | Payloads hidden in alternate data streams | N1 |
| Persistence | T1547.001 — Startup Folder | LNK written outside extraction dir into Startup | Q1 |
| Execution | T1059.001 / .003 / .005 — PowerShell / cmd / VBScript | Loader chains via cmd→PowerShell and VBScript | Q2, Q4, Q5 |
| Defense Evasion | T1218.005 — Mshta | GammaPhish HTA execution | Q3 |
| Defense Evasion | T1620 — Reflective Code Loading | In-memory DLL load of GIFTEDCROOK | Q5 |
| Credential Access | T1555.003 / T1539 — Browser creds / session cookies | Chromium/Firefox password + cookie theft | Pivot |
| Command & Control | T1102 — Web Service (dead-drop resolver) | Gamaredon resolves C2 from third-party hosts | Q6 |
| Exfil / Evasion | T1041 / T1070.004 — Exfil over C2 / File Deletion | Data sent to C2, artifacts deleted | Q6; containment |
Native Audit-Log Hunts
| Hunt | Source | Logic | Response |
|---|---|---|---|
| N1 · NTFS ADS payload write | Sysmon EID 15 (FileCreateStreamHash) | Alternate data stream created during/after archive extraction | High-fidelity exploit signal if Sysmon deployed |
| N2 · Startup folder LNK creation | Sysmon EID 11 (FileCreate) | New .lnk in %AppData%\…\Startup with an archive process in recent ancestry | Pull the LNK target; correlate with Q2 |
| N3 · Vulnerable WinRAR inventory | Software inventory / Get-ItemProperty WinRAR version | WinRAR.exe file version < 7.13 anywhere (incl. portable copies) | Force-upgrade; the actual fix |
| N4 · RAR attachments to high-value mailboxes | Email gateway logs | .rar (and nested-archive) attachments to executive/government/defense mailboxes | Quarantine + detonate; warn recipients |
CrowdStrike LogScale CQL Hunt Queries
SyntheticProcessRollup2. Q5/Q6 carry FP risk — combine with a same-host Q1/Q2 hit and tune exclusions before promoting any IOA.Looks for: WinRAR/Rar/7-Zip writing any file into a Startup folder. Accomplishes: catches the CVE-2025-8088 persistence outcome directly — an extractor has no legitimate reason to write to Startup.
// HUNT: Archive extractor writing into a Startup folder (CVE-2025-8088 persistence) // MITRE: T1203, T1547.001, T1564.004 | CONF: high FP: low COST: low-med // FP NOTES: none expected; extractors do not legitimately drop Startup items #event_simpleName=/PeFileWritten|NewExecutableWritten/ | ContextBaseFileName=/^(WinRAR|Rar|UnRAR|7zFM|7z|7zG)\.exe$/i | TargetFileName=/\\Start Menu\\Programs\\Startup\\/i | table([@timestamp, ComputerName, UserName, ContextBaseFileName, TargetFileName, SHA256HashData], limit=200)
Looks for: WinRAR/7-Zip as the parent of cmd/PowerShell/mshta/wscript/cscript. Accomplishes: catches the loader kicking off straight from extraction. FP: rare SFX archives launching a setup script — verify the child command line.
// HUNT: Archive extractor spawning a shell or script host // MITRE: T1203, T1059.001/.003, T1218.005 | CONF: high FP: low COST: low // FP NOTES: rare SFX archives that legitimately launch a setup script #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | ParentBaseFileName=/^(WinRAR|Rar|UnRAR|7zFM|7z|7zG)\.exe$/i | FileName=/^(cmd|powershell|pwsh|powershell_ise|mshta|wscript|cscript|rundll32|regsvr32)\.exe$/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, SHA256HashData], limit=200)
Looks for: mshta.exe executing a local .hta from a user path. Accomplishes: catches Gamaredon's GammaPhish HTA stage. FP: legacy internal HTA tools — exclude known internal HTA paths.
// HUNT: mshta.exe executing a user-path HTA or spawning a script host // MITRE: T1218.005, T1059.005 | CONF: med-high FP: low-med COST: low // TUNING: exclude known internal HTA paths; focus on %TEMP%/%APPDATA% and child script hosts #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^mshta\.exe$/i | CommandLine=/\.hta/i | CommandLine=/\\(Temp|AppData|Users)\\/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine], limit=200)
Looks for: Windows Script Host executing a .vbs from %TEMP%/%APPDATA%/Startup. Accomplishes: surfaces the GammaLoad VBScript downloader stage. FP: logon scripts / installer VBScript — exclude sanctioned paths.
// HUNT: Windows Script Host running a VBScript from a user-writable path // MITRE: T1059.005, T1547.001 | CONF: medium FP: medium COST: low // TUNING: exclude sanctioned logon-script + signed-installer paths; favor Startup/AppData + mshta parent #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^(wscript|cscript)\.exe$/i | CommandLine=/\.vbs/i | CommandLine=/\\(Temp|AppData|Roaming|Startup)\\/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine], limit=200)
Looks for: PowerShell command lines with reflective-load / base64 / IEX patterns. Accomplishes: catches the in-memory DLL load staging GIFTEDCROOK. FP: mgmt tooling using encoded commands — require a cmd/explorer/archive parent or same-host Q1 hit.
// HUNT: PowerShell reflective / in-memory load indicators // MITRE: T1059.001, T1620 | CONF: medium FP: medium COST: low-med // TUNING: require a cmd/explorer/archive parent or same-host Q1 hit; exclude sanctioned automation #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^(powershell|pwsh)\.exe$/i | CommandLine=/(FromBase64String|\[Reflection\.Assembly\]|\[System\.Reflection|IEX|Invoke-Expression|-enc(odedcommand)?\b|DownloadString|DownloadData)/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine], limit=200)
Looks for: outbound connections initiated directly by wscript/cscript/mshta/powershell. Accomplishes: surfaces stealer exfil and Gamaredon dead-drop resolution. FP: admin scripts calling web services — scope to external dests, correlate with Q3/Q4/Q5.
// HUNT: Outbound network connection initiated by a script host or PowerShell // MITRE: T1102, T1041 | CONF: medium FP: medium COST: medium // TUNING: exclude RFC1918 + sanctioned destinations; correlate to Q3/Q4/Q5 on same aid #event_simpleName=NetworkConnectIP4 | ContextBaseFileName=/^(wscript|cscript|mshta|powershell|pwsh)\.exe$/i | RemoteAddressIP4!=/^(10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.|169\.254\.|127\.)/ | table([@timestamp, ComputerName, ContextBaseFileName, RemoteAddressIP4, RemotePort], limit=200)
CrowdStrike Custom IOA Recommendations
| IOA Name | Field Patterns | Benign Exclusions | Deployment Path |
|---|---|---|---|
| WinRAR — extractor spawns shell/script host | Parent Image *\WinRAR.exe / *\Rar.exe / *\7z*.exe; Child cmd/powershell/mshta/wscript/cscript.exe | SFX setup scripts (verify child cmdline) | Endpoint Security → Custom IOA → Process Creation |
| WinRAR — extractor writes to Startup | Writing Image archive util; Target *\Start Menu\Programs\Startup\* | None expected | Custom IOA → File Write (or scheduled-search detect) |
Machine-Readable IOC Appendix
Grouped IOC Quick-Copy
One-click blocks for Falcon IOC Management, scheduled searches, or hardening audits. No atomic IOCs were published — the campaign is behavior-keyed; add per-incident hashes/domains to the CSV block during triage.
type,value,action,severity,expiration,description,tags sha256,REPLACE_WITH_GIFTEDCROOK_SHA256,prevent,critical,2027-06-12,WinRAR campaign - GIFTEDCROOK,campaign:WinRAR-CVE-2025-8088 sha256,REPLACE_WITH_RAR_LURE_SHA256,detect,high,2026-09-12,WinRAR campaign - malicious archive,campaign:WinRAR-CVE-2025-8088 domain,REPLACE_WITH_C2_DOMAIN,detect,high,2026-09-12,WinRAR campaign - direct C2 / dead-drop,campaign:WinRAR-CVE-2025-8088
WinRAR.exe/Rar.exe/7z*.exe writes *.lnk into \Start Menu\Programs\Startup\ (ADS traversal) WinRAR.exe/Rar.exe -> cmd/powershell/mshta/wscript/cscript (extractor spawns shell) NTFS Alternate Data Stream created during/after archive extraction (Sysmon EID 15) PowerShell reflective load: [Reflection.Assembly]::Load / FromBase64String / IEX (GIFTEDCROOK) mshta.exe runs a .hta from %TEMP%/%APPDATA% (GammaPhish) wscript/cscript runs a .vbs from Startup/AppData (GammaLoad) script host (wscript/mshta/powershell) makes outbound connection to a public IP (exfil/C2)
GIFTEDCROOK # UAC-0226 infostealer (Chromium/Firefox creds + cookies, docs) GammaPhish # Gamaredon HTA first stage GammaLoad # Gamaredon VBScript downloader (dead-drop resolvers) GammaSteel # Gamaredon stealer (real-time file monitoring) WinRAR.exe / Rar.exe / UnRAR / 7z*.exe # vulnerable extractors (< 7.13) Actors: UAC-0226 / SHADOW-EARTH-066 ; Earth Dahu / Gamaredon ; (Sandworm, Turla, Void Rabisu)
CVE-2025-8088 # WinRAR path traversal via ADS — fixed in WinRAR 7.13 (Jul 2025) # Force-upgrade WinRAR to 7.13+ fleet-wide (incl. portable copies) — the actual fix ASR BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550 # Block executable content from email/webmail ASR D3E037E1-3EB8-44C8-A917-57927947596D # Block JS/VBScript launching downloaded executables # Block mshta.exe via WDAC/AppLocker; quarantine/detonate inbound .rar at the mail gateway
Hardening — Tiered & Deployable
The patch closes the traversal; the rest blunts the post-exploit chain across endpoint, script-host, and email surfaces.
- Upgrade WinRAR to 7.13+ fleet-wide — M1051. The actual fix; inventory portable/unmanaged copies (no silent auto-update). Flag < 7.13 via
Get-ChildItem -Recurse -Filter WinRAR.exe→VersionInfo.ProductVersion. - ASR — Block executable content from email/webmail — M1042:
Set-MpPreference -AttackSurfaceReductionRules_Ids BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550 -AttackSurfaceReductionRules_Actions Enabled. - ASR — Block JS/VBScript launching downloaded executables — M1042 (ID
D3E037E1-3EB8-44C8-A917-57927947596D). Targets the GammaLoad stage. - Quarantine/detonate inbound archive attachments — M1021 / M1031. Strip or sandbox .rar (and nested archives), especially to high-value mailboxes.
- Block
mshta.exeand constrain script hosts via WDAC/AppLocker — M1038. HTA is rarely needed; restrict wscript/cscript for standard users. - PowerShell Constrained Language Mode + script-block logging + AMSI — M1038 / M1040 / M1049. Raises cost of the in-memory loader; improves Q5 fidelity.
- Monitor & restrict Startup-folder writes — M1024 / M1018. Treat non-installer Startup writes as suspicious.
- Browser app-bound cookie/credential encryption — M1027 / M1043. Limits GIFTEDCROOK/GammaSteel theft.
- Enterprise WDAC signed-only policy — M1045 / M1038. Make script-host + unsigned-binary execution the exception.
- Phishing-resistant reporting + attachment-handling training — M1017. Targeted at spearphishing-attachment.
- Standardize on a managed archive tool — M1051 / M1033. Replace ad-hoc/portable WinRAR; block unmanaged copies.
Containment Runbook
| Phase | Actions | Owner | Evidence |
|---|---|---|---|
| Isolate | Network-contain the host in Falcon; preserve the extracted archive and Startup artifacts | SOC L2 | Containment timestamp; Q1/Q2 events |
| Triage | Pull the WinRAR child-process tree; recover the Startup LNK target and any ADS payloads; identify the stealer family | SOC L2 | Process tree; LNK target; ADS contents |
| Eradicate | Remove the Startup LNK and dropped scripts; clear Run keys / scheduled tasks; block identified C2; delete the malicious archive | IR | Persistence-removal log; C2 block |
| Recover | Rotate credentials and session cookies for all accounts used on the host (assume browser theft); reset M365/SSO sessions | IR + IT | Cred + cookie rotation log |
| Harden | Force WinRAR 7.13+ on host and fleet; enable §10 ASR + AppLocker; promote Q1/Q2 IOAs | Detection Eng | WinRAR version; ASR/AppLocker status |
Detection Coverage Map & Validation
| Technique | Behavior | CQL | IOA | Coverage |
|---|---|---|---|---|
| T1566.001 | Spearphishing RAR delivery | — | — | GAP mail gateway (N4) + ASR |
| T1564.004 | ADS payload write outside extraction dir | — | — | Partial Sysmon EID 15 (N1) |
| T1547.001 | Startup-folder persistence | Q1 | IOA-2 | Good |
| T1203 / T1059 | Extractor spawns shell/script host | Q2 | IOA-1 | Good |
| T1218.005 / T1059.005 | HTA / VBScript loader (Gamaredon) | Q3, Q4 | — | Good |
| T1620 | PowerShell in-memory load (GIFTEDCROOK) | Q5 | — | Partial needs script-block logging |
| T1555.003 / T1539 | Browser credential/cookie theft | — | — | GAP file-read weak in EDR (pivot) |
| T1102 / T1041 | Exfil / dead-drop C2 | Q6 | — | Partial behavioral only |
Validation gates: (1) confirm ProcessRollup2 + file-write context fleet-wide; Sysmon EID 11/15 where available; (2) Q1/Q2 near-zero in a 30-day benign lookback; (3) lab-test: extract a benign archive with an SFX/post-extract script (Q2) and create a Startup file via an archive tool (Q1); (4) promote Q1/Q2 to Custom IOA, keep Q3–Q6 as scheduled hunts (target FP < 1/week).
Hunt Summary Ticket
TITLE: Hunt — WinRAR CVE-2025-8088 (Russia-Aligned Stealer Campaigns)
SEVERITY: High (active nation-state exploitation of a patched flaw; espionage + stealers)
SCOPE: Windows endpoints with WinRAR < 7.13; high-value mailboxes
HYPOTHESIS: Crafted RAR uses ADS path traversal to drop a Startup LNK; logon triggers
cmd->PowerShell->GIFTEDCROOK (UAC-0226) or mshta->VBScript GammaLoad/GammaSteel
(Gamaredon); creds/docs exfil to C2.
QUERIES RUN: Q1 archive util -> Startup (IOA) | Q2 archive util -> shell (IOA) | Q3 mshta HTA |
Q4 wscript VBScript | Q5 PowerShell reflective load | Q6 script-host outbound
+ Native N1-N4 (ADS EID15, Startup LNK EID11, WinRAR inventory, mail gw)
DO FIRST: Q1, Q2 — escalate any hit immediately
FINDINGS: <pending analyst execution>
GAPS: ADS + browser-cred-theft telemetry weak in EDR; no atomic IOCs published
ACTIONS: Force WinRAR 7.13+; enable email/script ASR; block mshta; promote Q1/Q2
OWNER: HuntPack
VERSION: v0.2 - 2026-06-12
Changelog
table() calls now carry an explicit row limit: the default is 200 and truncation is silent, so a capped result was indistinguishable from a complete one. Atomic-IOC sweeps (filters over 5+ hashes or C2 IPs) use limit=max so a wide infection is never silently under-scoped; behavioural hunts use limit=200, where exceeding the cap indicates the query needs tuning. Where present, event names that do not exist in the Falcon data model were corrected (e.g. ServiceInstalled is a Sysmon concept, not a Falcon event; ElfFileWritten is ELFFileWritten) — such queries could never return a row. No detection logic, fields, or IOCs changed.References
| Tier | Source | Used For |
|---|---|---|
| 1 | The Hacker News — WinRAR Flaw Exploited by Russia-Aligned Groups | Full attack chain, both actor clusters, payload behavior |
| 1 | Trend Micro — Old WinRAR Flaw Fuels Attacks | Unmanaged-software persistence; attribution |
| 2 | DarkReading — Russian Groups Weaponize WinRAR Flaw | Two-actor confirmation; targeting |
| 2 | Rescana — CVE-2025-8088 active exploitation | Activity timeline through April 2026 |
| 1 | NVD — CVE-2025-8088 | Vulnerability detail; fixed version |
HuntPack v0.1 · WinRAR CVE-2025-8088 · Generated 2026-06-12 · Defensive use only — no exploit code. The patch (WinRAR 7.13+) is the primary fix — hunts cover unpatched exposure and the post-exploit chain. Validate field names in your tenant before promoting any query to alerting.