Gunra Ransomware — RaaS / Double Extortion (AA26-222A)
Executive Summary
Gunra is a ransomware-as-a-service (RaaS) operation that first appeared in April 2025 as a double-extortion Windows encryptor built on leaked Conti source code, and by January 2026 had matured into a structured affiliate program — complete with a management panel, configurable locker builder, and cross-platform (Windows, Linux, ARM, ESXi/NAS-targeting) payloads — advertised on dark web forums under aliases including Golden Community. Affiliates are recruited explicitly from the penetration-testing / ethical-hacking community as initial access brokers, paid a share of ransom proceeds for enterprise network access.
The joint advisory (CISA/FBI/DC3/NSA/USSS/South Korea KNPA, AA26-222A, 2026-08-12) attributes Gunra's primary initial
access vector to exploitation of two Fortinet authentication-bypass vulnerabilities —
CVE-2024-55591 and CVE-2025-24472 — against internet-facing FortiOS/FortiProxy
firewall and SSL-VPN appliances, in one documented case used to plant a persistent, super-user-privileged local
account (forticloud-sync) via a malicious scheduled task. From there, actors used Impacket
(secretsdump.py, psexec.py, smbclient.py) for NTDS credential dumping and
SMB lateral movement, RDP into VDI/AD infrastructure, and in one case modified a VDI authentication portal to accept
an attacker-chosen static OTP — a persistent MFA bypass. Data (documents, databases, PII, email, and OneDrive
/SharePoint content via a custom main.exe exfil tool) is staged with 7-Zip/WinRAR/RClone/FileZilla and
exfiltrated to Mega before ChaCha20+RSA-4096 encryption (.ENCRT on Windows, .GNRA on
Linux) and a R3ADM3.txt ransom note drop, preceded by WMI-driven volume-shadow-copy deletion and, in at
least one case, deliberate destruction of primary and disaster-recovery backup data.
A separate March 2026 finding (corroborated by Breakglass Intelligence and referenced in the CISA advisory)
identified that Gunra's Linux ELF encryptor seeds its ChaCha20 key material with musl-libc rand()
keyed by time() rather than a cryptographically secure RNG — making .GNRA-encrypted
files potentially recoverable by brute-forcing the ~256 candidate seeds per second of encryption activity, without
paying ransom. This does not apply to the Windows .ENCRT variant, which uses
BCryptGenRandom/CryptGenRandom correctly.
Defender priority: patch FortiOS/FortiProxy against
CVE-2024-55591 and CVE-2025-24472 today, then hunt backward from the highest-fidelity, lowest-noise signal in this
pack — WMI/vssadmin shadow-copy deletion and the R3ADM3.txt/.ENCRT/.GNRA
file-write burst (Q5, Q1, Q2) — since by the time either fires, exfiltration has very likely already
completed and containment, not prevention, is the live objective.
Source Review & Web Hunter Notes
Nine sources were fetched and saved verbatim to Gunra-Ransomware-Hunt-sources/ for provenance.
The CISA joint advisory is the primary technical source (IOCs, MITRE mapping, mitigations); the remaining sources
are journalism corroborating the advisory's release and four prior 2025–2026 vendor deep-dives (cited as
footnotes inside AA26-222A itself) that supply technical detail — encryption internals, RaaS infrastructure,
and the Linux PRNG weakness — the advisory references but does not itself reproduce in full.
| # | Tier | Source | Key Finding | Carry Forward |
|---|---|---|---|---|
| 01 | T1 | CISA AA26-222A (joint advisory) | Full TTP chain, MITRE mapping, IOC tables 2–5, mitigations | Yes |
| 02 | T2 | The Record | Confirms advisory release, Dragos Q2 2026 industrial-ransomware stats, prior Lazarus/Gunra tooling-overlap report | Yes |
| 03 | T2 | BleepingComputer | Corroborates timeline, RaaS pivot, Golden Community alias (WebFetch-summarized — direct fetch was bot-blocked) | Partial |
| 04 | T2 | CyberInsider | Corroborates ransom scale ("tens of millions", "tens of terabytes"), tool list, MFA-bypass detail | Yes |
| 05 | T2 | HSToday | Corroborates ChaCha20+RSA-4096, .ENCRT extension, R3ADM3.txt note name (WebFetch-summarized — direct fetch was bot-blocked) | Partial |
| 06 | T2 | CYFIRMA, "Gunra Ransomware – A Brief Analysis" (2025-05-03) | Earliest public sample analysis: IsDebuggerPresent evasion, WMI VSS deletion, MD5/SHA-256 sample hashes, YARA rule | Yes |
| 07 | T2 | Trend Micro, "Gunra Ransomware Group Unveils Efficient Linux Variant" (2025-07-29) | Linux variant internals: up to 100 parallel encryption threads, partial-encryption ratio control, no ransom note on Linux, hunting query | Yes |
| 08 | T2 | CloudSEK, "Inside Gunra RaaS" (2026-02-11) | HUMINT infiltration of the RaaS affiliate panel; reverse-engineered execution flow, exclusion lists, BCryptGenRandom key generation, sample hashes, onion negotiation URL (matches CISA Table 2) | Yes |
| 09 | T2 | Breakglass Intelligence, Linux PRNG-flaw report (2026-03-12) | Confirms and technically explains the weak-PRNG recovery path CISA cites; Tor infrastructure map, ELF sample hashes, YARA/Sigma rules, recovery procedure | Yes |
Web-fetch integrity note: every one of the nine fetched pages was screened for text addressed to an AI agent, instructions to disregard this task, or claims of operator/system authority. No prompt-injection content was found in any source. Two sources (BleepingComputer, HSToday) returned HTTP 403 to a direct fetch and were retrieved instead via the WebFetch tool's page-to-markdown summarization; those two snapshot files are marked accordingly and treated as corroborating/secondary rather than verbatim primary text.
Hunt Brief & Attack Chain
Hunt Hypotheses
| # | Hypothesis | MITRE | Confidence |
|---|---|---|---|
| H1 | A host generating a sustained burst of file-write/rename events tagged as ransomware behavior (Falcon's built-in heuristic) is mid-encryption | T1486 | High |
| H2 | The R3ADM3.txt ransom note and .ENCRT/.GNRA extensions are unique enough strings that any write of them is inherently malicious | T1486, T1657, T1491.001 | High |
| H3 | Impacket's secretsdump.py against a domain controller is a distinctive command-line signature for NTDS credential theft | T1003.003 | High |
| H4 | Impacket's psexec.py/smbclient.py command-line strings indicate SMB-based lateral movement | T1021.002 | High |
| H5 | WMIC/vssadmin shadow-copy deletion immediately precedes encryption in nearly every ransomware chain, including Gunra's documented WMIC command | T1490, T1047, T1059.003 | High |
| H6 | A new SSH tunneling binary written to disk and an outbound SSH-tunnel connection from a host that shouldn't run one indicates C2 tunnel establishment | T1105, T1572 | Medium |
| H7 | A burst of archive-tool execution paired with connections to Mega/OneDrive/SharePoint domains indicates staged exfiltration | T1560, T1567, T1048, T1530 | Medium |
| H8 | Unusual RDP (LogonType 10) session volume into VDI/AD-tier infrastructure indicates lateral movement using stolen session material | T1021.001, T1550.002, T1550.003 | Medium |
| H9 | Command-history and event-log clearing commands indicate active anti-forensic cleanup | T1070.003, T1685 | Medium |
Attack Chain
| Step | Stage | Telemetry | Hunt Angle |
|---|---|---|---|
| 1 | Initial Access — exploit CVE-2024-55591/CVE-2025-24472 on FortiOS/FortiProxy; or credential-exposure/SSH access-control flaws on VPN gateways | FortiOS admin/event logs (not Falcon-native) | Native audit-log hunt (S7); patch status (S12/S13) |
| 2 | Persistence — malicious scheduled task creates super-user local account forticloud-sync | FortiOS show system admin, scheduled-task table | Native audit-log hunt (S7) |
| 3 | C2 / Ingress Tool Transfer — download OpenSSH tunneling tool from external server; establish persistent tunnel | NewExecutableWritten, NetworkConnectIP4 (port 22) | Q6 |
| 4 | Privilege Escalation — bypass mandatory password change on an unused VDI/VPN account; access admin console | VDI/SSL-VPN portal application logs (not Falcon-native) | Native audit-log hunt (S7) |
| 5 | Credential Access — SSL-VPN traffic sniffing captures VDI login/session cookies; session hijacking; static-OTP MFA bypass planted in auth portal files | VDI/SSL-VPN portal application + file-integrity logs (not Falcon-native) | Native audit-log hunt (S7) |
| 6 | Lateral Movement — RDP into VDI environment, AD server, IT staff desktops | UserLogon (LogonType 10) | Q8 |
| 7 | Credential Access — secretsdump.py NTDS dump against domain controllers; pass-the-hash/pass-the-ticket; Hiware access-control-server symmetric key theft | ProcessRollup2/SyntheticProcessRollup2 | Q3 |
| 8 | Lateral Movement — psexec.py/smbclient.py over SMB to spread access | ProcessRollup2/SyntheticProcessRollup2 | Q4 |
| 9 | Discovery — file/directory enumeration (drives A–Z), network connection discovery, late-night/early-morning operational tempo | ProcessRollup2 (implicit in encryption pre-stage) | Folded into Q1/Q2 timing analysis |
| 10 | Collection & Exfiltration — archive with 7-Zip/WinRAR, pull OneDrive/SharePoint via main.exe, exfil via RClone/FileZilla to Mega | ProcessRollup2, NetworkConnectIP4, DnsRequest | Q7 |
| 11 | Impact — WMI-driven volume-shadow-copy deletion; deletion of primary + DR backup data | ProcessRollup2/SyntheticProcessRollup2 | Q5 |
| 12 | Impact — ChaCha20+RSA-4096 encryption, .ENCRT/.GNRA rename, R3ADM3.txt ransom-note drop in every affected directory | RansomwareOpenFile, FileOpenInfo/PeFileWritten/ELFFileWritten | Q1, Q2 |
| 13 | Defense Evasion — clear command history and system/network access logs; double-extortion negotiation via Tor/qTox | ProcessRollup2/SyntheticProcessRollup2 | Q9 |
Steps 1, 2, 4, and 5 occur at the network-appliance or VDI/SSL-VPN application layer, which sits outside default Falcon endpoint telemetry. These are covered as native audit-log hunts (Section 7) rather than CQL, and are flagged as coverage gaps in Section 15.
Consolidated IOC Table
All indicators below are transcribed from CISA AA26-222A Tables 2–5 (network infrastructure, email, qTox, file hashes, malicious Fortinet account) unless otherwise noted, with defanged notation preserved as published. See Section 10 for a clean, import-ready CSV.
Network Infrastructure (CISA Table 2)
| Type | Value | First Seen | Last Seen | Confidence | Action |
|---|---|---|---|---|---|
| ip | 23.239.119[.]2 | Jul 2025 | Nov 6, 2025 | high | hunt |
| ip | 23.239.119[.]3 | Jul 2025 | Nov 6, 2025 | high | hunt |
| ip | 23.239.119[.]4 | Jul 2025 | Nov 6, 2025 | high | hunt |
| ip | 23.239.119[.]5 | Jul 2025 | Nov 6, 2025 | high | hunt |
| ip | 23.239.119[.]6 | Jul 2025 | Nov 6, 2025 | high | hunt |
| ip | 86.54.28[.]216 | Jun 7, 2025 | Jul 23, 2025 | high | hunt |
| ip | 103.125.234[.]14 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 70.36.99[.]82 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 211.21.210[.]181 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 123.184.143[.]105 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 182.204.21[.]240 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 182.204.16[.]112 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 123.244.187[.]144 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 182.204.39[.]118 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 67.43.53[.]10 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 123.246.37[.]108 | Nov 2025 | Dec 2025 | high | hunt |
| ip | 91.201.66[.]146 | Nov 2025 | Dec 2025 | high | hunt |
| domain | datapub[.]news | Jun 2025 | Jul 2025 | high | detect |
| onion | gunrabxbig445sjqa535uaymzerj6fp4nwc6ngc2xughf2pedjdhk4ad[.]onion | Apr 2025 | Feb 2026 | high | hunt |
| onion | lgiil72vkmdtbc3qv4tyq6wedyjxqr2qd4ze7xl2cxgerdnymxj7soqd[.]onion | Mar 2026 | Jul 2026 | high | hunt |
| onion | nsnhzysbntsqdwpys6mhml33muccsvterxewh5rkbmcab7bg2ttevjqd[.]onion | Jan 2026 | Jan 2026 | high | hunt |
The negotiation-portal onion address nsnhzysbntsqdwpys6mhml33muccsvterxewh5rkbmcab7bg2ttevjqd[.]onion
is independently corroborated by both CISA (Table 2) and CloudSEK's RaaS-panel infiltration (source 08) and
Breakglass Intelligence's infrastructure mapping (source 09) — cross-source agreement, not single-vendor
attribution.
Threat Actor Communications (CISA Table 3 + qTox IDs)
| Type | Value | Context | Confidence | Action |
|---|---|---|---|---|
| a00f105546345756@proton[.]me | Ransom negotiation | high | enrich | |
| 4569f6322bc3b22e9@proton[.]me | Ransom negotiation | high | enrich | |
| ilovemycubscout@gmail[.]com | Ransom negotiation | high | enrich | |
| 6449a3c1e612168526@proton[.]me | Ransom negotiation | high | enrich | |
| qtox_id | 2507312EC10BB44ED9DAA04E3C5C27E8C13154649B1A02E73ACFAE1681EE0208D05133A8FB22 | Actor qTox ID | high | enrich |
| qtox_id | 0FE87CED0C611AE97E049C64288557F49E8271E91399E849328B078DA789A573031783235BEF | Actor qTox ID | high | enrich |
| qtox_id | 47829AF1C943D4C296C910706923AS199BDA4995B076ED9A9016F7DEF161D445DF00F13E6900 | Actor qTox ID (transcribed verbatim from CISA advisory, including the non-hex "S" character as published) | high | enrich |
| qtox_id | 9500B1A73716BCF40745086F7184A33EA0141B7D3F852431C8FDD2E1E8FAF9277E9FDC117B47 | Actor qTox ID | high | enrich |
Malicious Files (CISA Table 4 + corroborating vendor samples)
| Filename | SHA256 | Description | Source | Confidence | Action |
|---|---|---|---|---|---|
| main.exe | 2dc70a12d158d437e45a55b1d52f3d61c6082a1e1667573302ba3b62813e2751 | OneDrive/SharePoint exfil tool | CISA Table 4 | high | detect |
| main.exe | 834efe9b392c6c000877ea5613a079445affc16fe8af5997d68c55cafc95e5d1 | OneDrive/SharePoint exfil tool | CISA Table 4 | high | detect |
| cryptor.exe | 91f8fc7a3290611e28a35a403fd815554d9d856006cc2ee91ccdb64057ae53b0 | Malicious executable (advisory notes a .CRYPT extension variant, Jul 2025) | CISA Table 4 | high | detect |
| msmp.exe | a82e496b7b5279cb6b93393ec167dd3f50aff1557366784b25f9e51cb23689d9 | Malicious executable | CISA Table 4 | high | detect |
| gunraransome.exe | SHA-256 corrupted in source extraction (66 hex chars published) — do not ship; see MD5 below instead | Windows locker sample, Apr 2025 | CYFIRMA | medium | enrich |
| gunraransome.exe | MD5: 9a7c0adedc4c68760e49274700218507 | Windows locker sample, Apr 2025 | CYFIRMA | medium | detect |
| build_4vHU_eBN.bin | 5677dfad26045e271272bc98be2fd24e2f6d13737850ab1d9857fd58de05e9f9 | Linux ELF locker, x86-64 | Breakglass Intelligence | high | detect |
| build_i4GM6ik5.bin | 75cb7eb79a5fa0d388547520c6c452c700d38659080be074d70395729a0b578e | Linux ELF locker, i386 | Breakglass Intelligence | high | detect |
| build_hQN4yJ9k.bin | eb46dfb4f15000a7d4af040b68e541251fd5716d2a77958b471a17ce2960416f | Linux ELF locker, ARM | Breakglass Intelligence | high | detect |
| build_Od5Qq_F4.bin | 0909ecc86f8a89831c9c229de91b829aba6cb54685a2478f89cc04376b13488e | Linux ELF locker, ARM | Breakglass Intelligence | high | detect |
| tool.exe_ | 6d59bb6a9874b9b03ce6ab998def5b93f68dadedccad9b14433840c2c5c3a34e | Windows PE build from the same build pipeline | Breakglass Intelligence | high | detect |
| (locker sample) | 75e5621756e9d19efeac2bcbb2ac4711fb85243c03b0a19c05b18e31a780691e | Windows locker obtained via RaaS-panel HUMINT infiltration | CloudSEK | high | detect |
| (operator PDF guide) | 25c8cb27947042de89d634b3e260e614e5b1425a89494fa4e4295bcabfa8ee48 | Affiliate onboarding/usage guide distributed by Gunra operators | CloudSEK | medium | enrich |
The CYFIRMA-published SHA-256 for gunraransome.exe extracted to 66
hex characters (2 too many) during our source fetch — almost certainly a copy/formatting artifact on the
vendor's page rather than a valid hash. It is intentionally not included in the machine-readable
IOC CSV (Section 10); the MD5 from the same table is used instead, and is included there.
Malicious Fortinet Account (CISA Table 5)
| Username | Detail | Confidence | Action |
|---|---|---|---|
| forticloud-sync | Created via a malicious scheduled task exploiting CVE-2024-55591/CVE-2025-24472; super-user privileges, hard-coded password | high | hunt |
Affected Surface & Telemetry Matrix
| Surface | Required Telemetry | Priority | Gap Risk |
|---|---|---|---|
| Windows endpoints & servers | ProcessRollup2/SyntheticProcessRollup2, PeFileWritten, FileOpenInfo, RansomwareOpenFile | Critical | Low — well-instrumented by default Falcon sensor |
| Domain Controllers / Active Directory | ProcessRollup2 (secretsdump.py), Windows Security Event 4662/4624, UserLogon | Critical | Medium — DRSUAPI replication auditing (Event 4662) must be explicitly enabled on the domain object |
| VDI / SSL-VPN authentication portal | Application/portal logs, file-integrity monitoring on auth-processing files | Critical | High — outside default Falcon EDR visibility; requires app-layer logging or FIM agent |
| Fortinet FortiGate / FortiProxy appliances | FortiOS admin/event logs, scheduled-task audit, local account list | Critical | High — appliance-layer; not Falcon-monitored unless log-forwarded to NG-SIEM |
| Linux servers / NAS (Gunra Linux/ARM ELF variant) | ProcessRollup2 (Linux sensor), ELFFileWritten, FileCreateInfo | High | Medium — depends on Falcon Linux sensor deployment coverage across the fleet |
| Cloud collaboration (OneDrive / SharePoint) | M365 audit logs / CASB (outside Falcon) + NetworkConnectIP4/DnsRequest for main.exe egress | High | Medium — endpoint sees the egress, not the cloud-side API calls |
| Backup / disaster-recovery infrastructure | Backup-appliance audit logs, bulk-deletion alerting | Critical | High — frequently outside EDR telemetry entirely; needs vendor-native alerting |
ATT&CK Mapping
Primary mapping (Tactic/Technique/Use) is transcribed from CISA AA26-222A Tables 6–18. Rows marked Vendor supplement from the 2025 CYFIRMA sample analysis and the 2026 Breakglass Linux ELF analysis (both prior public writeups the advisory itself cites), and cover behaviors not called out in the FBI's direct observations but present in the malware sample.
| Tactic | ID | Technique | Observed Use | Query / Control |
|---|---|---|---|---|
| Initial Access | T1190 | Exploit Public-Facing Application | FortiGate firewall/SSL-VPN appliances exploited via CVE-2024-55591 & CVE-2025-24472 | S7 native hunt; S12/S13 patch |
| Execution | T1047 | Windows Management Instrumentation | WMIC used to delete volume shadow copies pre-encryption | Q5 |
| Execution | T1106 | Native API | FindFirstFileW/FindNextFileW for file-system discovery pre-encryption | Folded into Q1/Q2 |
| Execution | T1059.003 | Windows Command Shell | cmd.exe used to launch the WMIC shadow-copy-delete command | Q5 |
| Persistence | T1098 | Account Manipulation | Unused account modified to bypass mandatory password change | S7 native hunt (GAP) |
| Persistence | T1133 | External Remote Services | Administrator access to SSL-VPN appliance combined with external-facing service abuse | S7 native hunt |
| Privilege Escalation | T1078.001 | Valid Accounts: Default Accounts | Default credentials + absent account lockout on SSL-VPN appliance | S12/S13 hardening |
| Privilege Escalation | T1078.002 | Valid Accounts: Domain Accounts | Administrator account access on SSL appliance | Q8 |
| Defense Evasion | T1622 | Debugger Evasion | IsDebuggerPresent API used by the Windows encryptor | GAP — static feature, YARA/EDR-signature only |
| Defense Evasion | T1070.003 | Indicator Removal: Clear Command History | Command history cleared post-intrusion | Q9 |
| Defense Evasion | T1678 | Delay Execution | Reconnaissance/malicious activity timed to 22:00–06:00 to avoid detection | Folded into query timing analysis |
| Defense Evasion | T1679 | Selective Exclusion | Binary programmatically excludes system directories/extensions and its own ransom note from encryption | Behavioral context for Q1/Q2 |
| Defense Evasion | T1685 | Disable or Modify Tools | System/network access logs cleared | Q9 |
| Credential Access | T1003.003 | OS Credential Dumping: NTDS | secretsdump.py against domain controllers | Q3 |
| Credential Access | T1003 | OS Credential Dumping | Stolen symmetric key used to decrypt enterprise server passwords from a Hiware access-control server | S7 native hunt (GAP) |
| Credential Access | T1040 | Network Sniffing | SSL-VPN traffic controls abused to capture VDI login credentials/session info | S7 native hunt (GAP) |
| Credential Access | T1539 | Steal Web Session Cookie | Stolen VDI session cookies used for session hijacking | S7 native hunt (GAP) |
| Credential Access | T1555 | Credentials from Password Stores | Symmetric encryption key stolen from Hiware access-control server | S7 native hunt (GAP) |
| Credential Access | T1556.006 | Modify Authentication Process: MFA | VDI auth-portal files modified so an attacker-chosen OTP always succeeds | S7 native hunt (GAP) |
| Discovery | T1083 | File and Directory Discovery | Full drive A–Z enumeration to identify targets | Folded into Q1/Q2 |
| Discovery | T1049 | System Network Connections Discovery | Enumeration of active connections to map internal infrastructure | GAP — not separately queried |
| Lateral Movement | T1021.001 | Remote Services: RDP | RDP used to reach VDI auth server, AD server, IT staff desktops | Q8 |
| Lateral Movement | T1021.002 | Remote Services: SMB/Windows Admin Shares | psexec.py/smbclient.py via SMB | Q4 |
| Lateral Movement | T1550.002 | Use Alternate Authentication Material: Pass the Hash | NTDS-derived hashes used for lateral movement | Q3 (upstream), Q8 (downstream) |
| Lateral Movement | T1550.003 | Use Alternate Authentication Material: Pass the Ticket | NTDS-derived tickets used for lateral movement | Q3 (upstream), Q8 (downstream) |
| Collection | TA0009 / T1005 | Data from Local System | Business documents, databases, PII, email collected from local systems and VDI | Q7 |
| Collection | T1560 | Archive Collected Data | 7-Zip, WinRAR, RClone used to archive data pre-exfil | Q7 |
| Collection | T1530 | Data from Cloud Storage | main.exe targets OneDrive/SharePoint | Q7 |
| Collection | T1114 | Email Collection | Internal email communications collected | Folded into Q7 |
| Command and Control | T1105 | Ingress Tool Transfer | OpenSSH tunneling tool downloaded from external server | Q6 |
| Command and Control | T1572 | Protocol Tunneling | SSH tunnel maintains persistence into compromised systems | Q6 |
| Exfiltration | T1567 | Exfiltration Over Web Service | Archived data exfiltrated to Mega | Q7 |
| Exfiltration | T1048 | Exfiltration Over Alternative Protocol | FileZilla used to exfiltrate data over FTP | Q7 |
| Impact | T1486 | Data Encrypted for Impact | ChaCha20+RSA-4096 hybrid encryption; Windows & Linux encryptors | Q1, Q2 |
| Impact | T1657 | Financial Theft | Ransom demanded via R3ADM3.txt, paid to cryptocurrency wallets | Q2 |
| Impact | T1490 | Inhibit System Recovery | Shadow-copy deletion; deletion of primary + DR backup data | Q5 |
| Defense Evasion | T1027 | Obfuscated Files or Information | Vendor Packed/stripped binary (CYFIRMA, Breakglass) | GAP — static feature, YARA-only |
| Defense Evasion | T1036 | Masquerading | Vendor Process created under a generic name (CYFIRMA) | Folded into Q1 |
| Impact | T1491.001 | Internal Defacement | Vendor Ransom note deployed to every encrypted directory (Breakglass) | Q2 |
| Persistence | T1053.003 | Scheduled Task/Job: Cron | Vendor Linux variant modifies cron jobs (Breakglass) | S7 native hunt (Linux) |
| Defense Evasion | T1556.003 | Modify Authentication Process: PAM | Vendor Linux variant modifies PAM framework/sudoers (Breakglass) | S7 native hunt (Linux) |
Native Audit-Log Hunts
These checks cover attack-chain steps that sit outside default Falcon endpoint telemetry — the Fortinet appliance layer and the VDI/SSL-VPN application layer — and correspond to the GAP rows in Section 15.
FortiOS / FortiProxy (appliance-layer)
- Audit local admin accounts for the specific unauthorized username
forticloud-sync(CLI:show system admin); if present and not provisioned by change management, treat the device as compromised, not just the account. - Review the FortiGate scheduled-task table for entries created outside change windows — CISA attributes
the
forticloud-syncaccount's creation to a malicious scheduled task exploiting CVE-2024-55591/CVE-2025-24472. - Confirm patch level against the fixed builds referenced in Fortinet's PSIRT advisories for CVE-2024-55591 and
CVE-2025-24472 (
get system status); treat any unpatched internet-facing FortiOS/FortiProxy device as already potentially compromised, not just vulnerable. - Review admin/GUI login event logs for authentications from source IPs inconsistent with expected management
network ranges, and for logins immediately followed by configuration changes to
allowaccessor admin account settings.
Windows Security Event Log / Active Directory
- Event ID 4738 (account changed) on accounts that have "password never expires" or the "user must change password at next logon" flag toggled off outside a documented onboarding workflow — matches the CISA-documented mandatory-password-change bypass.
- Event ID 4662 (directory service access) for "Replicating Directory Changes" / "Replicating
Directory Changes All" extended-rights use by an account/host that is not a domain controller — the
native audit-log complement to Q3's process-based
secretsdump.pyhunt, and the only reliable way to catch a DCSync-style pull performed with an already-legitimate-looking tool. - Event ID 4624 (LogonType 10, RemoteInteractive) correlated against a first-seen source host/IP for that destination in the last 30 days.
VDI / SSL-VPN Authentication Portal (application-layer)
- File-integrity monitoring on the authentication-processing files of the VDI/SSL-VPN portal web server — CISA documents Gunra actors directly modifying these files to accept a static, attacker-chosen OTP. Any unplanned modification to auth-handler code or configuration is a critical finding regardless of content.
- Review SSL-VPN administrative web console audit logs for account-configuration changes made outside change management, especially to accounts with dual internet-facing/internal network access.
- Audit access logs on any Hiware-class (or equivalent) system-access-control server for SSH connections originating from virtual desktop endpoints rather than designated admin jump hosts.
Backup / Disaster-Recovery Infrastructure
- Alert on bulk-deletion events against backup or archive repositories at both primary and DR sites — CISA documents Gunra actors deliberately destroying backups at both locations before and after ransomware deployment specifically to defeat recovery.
Linux (Gunra Linux/ARM ELF variant)
find / -name "R3ADM3.txt" -type f,find / -name "*.GNRA" -type f, andfind / -name "*.keystore" -type f— the Linux variant does not always trigger the same sensor-side signatures as the Windows build.- Check recent modification times (
mtime -7) on/etc/cron*,/etc/pam.d,/etc/sudoers, and/etc/init.d//etc/rc*.dfor unauthorized changes consistent with the Linux variant's defense-impairment behavior (Breakglass Intelligence). - Incident-response note (do not skip): if
.GNRAfiles are found, preserve file timestamps and do not reboot or modify affected files — per CISA and Breakglass Intelligence, the Linux ELF encryptor's ChaCha20 key material is seeded by musl-libcrand()keyed ontime(), giving roughly 256 candidate seeds per second of encryption activity. Filemtime/ctimenarrows the brute-force search window enough to recover files without paying ransom. This weakness is Linux-only — the Windows.ENCRTvariant uses a cryptographically sound RNG and is not affected.
CrowdStrike LogScale CQL Hunt Queries
Looks for: A single host/user touching a very high volume of files in a short window — Falcon's built-in ransomware-behavior heuristic firing at scale.
// HUNT: Mass file encryption burst — Gunra ransomware behavioral trigger // MITRE: T1486 // CONF: high FP: low COST: low | REQUIRES: RansomwareOpenFile telemetry (Falcon sensor built-in ransomware-protection heuristic) // FALSE POSITIVES: legitimate bulk file-conversion or backup-compression jobs; rare at this volume // LOOKBACK: 24h #event_simpleName=RansomwareOpenFile | groupBy([aid, ComputerName, UserName], function=count(as=FilesTouched), limit=1000) | FilesTouched > 100 | sort(FilesTouched, order=desc) | table([ComputerName, UserName, FilesTouched])
Looks for: Any write of the R3ADM3.txt ransom note or a file renamed to the .ENCRT (Windows) or .GNRA (Linux) extension — strings not used by legitimate software.
// HUNT: Gunra ransom note (R3ADM3.txt) and encrypted-extension file writes // MITRE: T1486, T1657, T1491.001 // CONF: high FP: low COST: low | REQUIRES: FileOpenInfo, PeFileWritten, ELFFileWritten telemetry // FALSE POSITIVES: none known — .ENCRT/.GNRA extensions and the R3ADM3.txt filename are not used by legitimate software // LOOKBACK: 7d #event_simpleName=/FileOpenInfo|PeFileWritten|ELFFileWritten/ | FileName=/(\.ENCRT$|\.GNRA$|^R3ADM3\.txt$)/i | groupBy([aid, ComputerName, UserName], function=[count(as=Hits), collect(FileName, limit=5)], limit=1000) | sort(Hits, order=desc) | table([ComputerName, UserName, Hits])
Looks for: Command-line invocation of Impacket's secretsdump.py against a domain controller's NTDS file. FP: authorized red-team/pentest engagements running the same Impacket tooling from documented jump hosts.
// HUNT: Impacket secretsdump.py NTDS credential dumping against domain controllers // MITRE: T1003.003 // CONF: high FP: medium COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2 (command-line telemetry) // FALSE POSITIVES: authorized red-team/pentest engagements running the same Impacket tooling // TUNING: exclude known IR/red-team jump hosts and pre-approved AD-recovery service accounts // LOOKBACK: 7d #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | CommandLine=/secretsdump\.py|ntds\.dit|-just-dc/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine]) | sort(@timestamp, order=desc)
Looks for: Command-line invocation of Impacket's psexec.py or smbclient.py modules used for SMB-based lateral movement. FP: legitimate SCCM/RMM remote-execution tooling that shares command-line keywords with Impacket.
// HUNT: Impacket psexec.py/smbclient.py SMB lateral movement // MITRE: T1021.002 // CONF: high FP: medium COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2 // FALSE POSITIVES: legitimate SCCM/RMM remote-execution tooling that shares command-line keywords // TUNING: exclude documented SCCM/RMM service accounts and their known parent processes // LOOKBACK: 7d #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | CommandLine=/psexec\.py|smbclient\.py|impacket/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine]) | sort(@timestamp, order=desc)
Looks for: The exact WMIC shadow-copy-delete pattern CISA documents Gunra using, plus the equivalent vssadmin/bcdedit recovery-inhibition commands.
// HUNT: Volume shadow copy deletion — Gunra pre-encryption recovery-inhibition step // MITRE: T1490, T1059.003, T1047 // CONF: high FP: low COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2 // FALSE POSITIVES: authorized storage-reclamation scripts; rare — validate against change tickets // LOOKBACK: 7d #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | CommandLine=/(wbem.{0,10}wmic\.exe.{0,40}shadowcopy.{0,20}delete|vssadmin.{0,20}delete.{0,20}shadows|bcdedit.{0,40}recoveryenabled.{0,10}no)/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine]) | sort(@timestamp, order=desc)
Looks for: A new SSH-client-family binary written to disk, or an outbound connection on port 22 from a host not expected to originate SSH traffic. FP: legitimate administrators installing OpenSSH for authorized remote support.
// HUNT: OpenSSH tunneling tool download and outbound SSH tunnel from an SSL-VPN-adjacent host // MITRE: T1105, T1572 // CONF: medium FP: medium COST: low | REQUIRES: NewExecutableWritten, NetworkConnectIP4 // FALSE POSITIVES: legitimate administrators installing OpenSSH for authorized remote support // TUNING: baseline which hosts are approved to run outbound SSH; exclude known jump/bastion hosts // LOOKBACK: 7d #event_simpleName=/NewExecutableWritten|NetworkConnectIP4/ | FileName=/^(ssh|sshd|openssh|plink|putty)(\.exe)?$/i or RemotePort=22 | table([@timestamp, ComputerName, UserName, FileName, RemoteAddressIP4, RemotePort]) | sort(@timestamp, order=desc)
Looks for: Archive/exfil-tool execution paired with connections to cloud-storage domains Gunra actors are documented using for staging and exfiltration. FP: legitimate use of 7-Zip/WinRAR/RClone for IT operations, or approved cloud-backup jobs to the same domains.
// HUNT: Exfiltration tooling burst — archival + cloud-upload utilities used by Gunra affiliates // MITRE: T1560, T1567, T1048, T1530 // CONF: medium FP: medium COST: medium | REQUIRES: ProcessRollup2/SyntheticProcessRollup2, NetworkConnectIP4, DnsRequest // FALSE POSITIVES: legitimate use of 7-Zip/WinRAR/RClone for IT operations or approved cloud-backup jobs // TUNING: exclude documented backup/RMM service accounts and their scheduled maintenance windows // LOOKBACK: 7d #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2|DnsRequest/ | FileName=/^(7z|7za|winrar|rclone|filezilla|main)(\.exe)?$/i or DomainName=/(mega\.nz|mega\.co\.nz|onedrive|sharepoint)/i | table([@timestamp, ComputerName, UserName, FileName, DomainName, CommandLine]) | sort(@timestamp, order=desc)
Looks for: Elevated RDP (LogonType 10) session volume from a given source into VDI/AD-class infrastructure, consistent with lateral movement using stolen session material. FP: legitimate help-desk/remote-support RDP sessions to the same infrastructure tier.
// HUNT: RDP lateral movement into VDI/AD-class infrastructure using stolen session material // MITRE: T1021.001, T1550.002, T1550.003 // CONF: medium FP: medium COST: low | REQUIRES: UserLogon (LogonType 10) // FALSE POSITIVES: legitimate help-desk/remote-support RDP sessions to the same infrastructure tier // TUNING: exclude known jump-box source IPs and documented IT support accounts // LOOKBACK: 7d #event_simpleName=UserLogon | LogonType=10 | groupBy([ComputerName, UserName, RemoteAddressIP4], function=count(as=Sessions), limit=1000) | sort(Sessions, order=desc) | table([ComputerName, UserName, RemoteAddressIP4, Sessions])
Looks for: Commands that clear Windows event logs or shell command history — Gunra's documented anti-forensic cleanup step. FP: legitimate log-rotation scripts, disk-cleanup utilities, and scheduled log maintenance.
// HUNT: Command history and event log clearing — Gunra defense evasion // MITRE: T1070.003, T1685 // CONF: medium FP: medium COST: low | REQUIRES: ProcessRollup2/SyntheticProcessRollup2 // FALSE POSITIVES: legitimate log-rotation scripts, disk-cleanup utilities, and scheduled log maintenance // TUNING: exclude documented log-rotation/disk-cleanup scheduled tasks and their service accounts // LOOKBACK: 7d #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | CommandLine=/wevtutil\s+cl|Clear-EventLog|Clear-History|history\s+-c|unset\s+HISTFILE|rm\s+.*\.bash_history/i | table([@timestamp, ComputerName, UserName, CommandLine]) | sort(@timestamp, order=desc)
CrowdStrike Custom IOA Recommendations
Three queries are CONF-high / FP-low enough to promote from hunt to blocking/alerting Custom IOAs. The remaining six stay Investigate-only: their FP-medium ratings mean they are better run as scheduled hunts with human triage than as auto-blocking prevention policies.
IOA Candidates (promote)
| Source Query | IOA Name | Pattern | Exclusions | Deployment Path |
|---|---|---|---|---|
| Q1 | DETECT — Gunra Mass Encryption Burst | >100 RansomwareOpenFile events for one aid/user within a rolling window | Documented backup-compression / format-conversion service accounts | Falcon → Prevention Policy → Custom IOA (Block); pilot in Detect-only for 1 week first |
| Q2 | DETECT — Gunra Ransom Note / Extension Write | Write of R3ADM3.txt or a file renamed to .ENCRT/.GNRA | None identified — string is not used by legitimate software | Falcon → Prevention Policy → Custom IOA (Block); safe to enforce immediately given zero known FP |
| Q5 | DETECT — Shadow Copy Deletion via WMIC/vssadmin | WMIC/vssadmin/bcdedit shadow-copy or recovery-disable command line | Approved storage-reclamation change-ticket window | Falcon → Prevention Policy → Custom IOA (Block) or Falcon ASR rule d1e49aac-8f56-4280-b9ba-993a6d77406c (see Section 13, Playbook 3) |
Investigate-Only Queries
Q3 (secretsdump.py), Q4 (psexec.py/smbclient.py), Q6 (SSH tunneling), Q7 (exfil tooling), Q8 (RDP lateral movement), and Q9 (log clearing) remain hunt/investigate-only. Each carries an FP-medium rating driven by legitimate IT/red-team tooling that shares command-line strings with the malicious use — promote to IOA only after a tuning period confirms the FP rate in your specific environment, and only in Detect (not Block) mode initially given the operational risk of blocking legitimate admin tooling.
Machine-Readable IOC Appendix
type,value,action,severity,expiration,description,tags ip,23.239.119.2,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,23.239.119.3,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,23.239.119.4,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,23.239.119.5,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,23.239.119.6,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,86.54.28.216,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,103.125.234.14,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,70.36.99.82,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,211.21.210.181,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,123.184.143.105,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,182.204.21.240,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,182.204.16.112,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,123.244.187.144,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,182.204.39.118,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,67.43.53.10,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,123.246.37.108,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra ip,91.201.66.146,hunt,high,2027-02-12,Gunra ransomware infrastructure,campaign:Gunra domain,datapub.news,detect,high,2027-02-12,Gunra DLS clearnet mirror (historical Jun-Jul 2025),campaign:Gunra domain,gunrabxbig445sjqa535uaymzerj6fp4nwc6ngc2xughf2pedjdhk4ad.onion,hunt,high,2027-02-12,Gunra Tor DLS,campaign:Gunra domain,lgiil72vkmdtbc3qv4tyq6wedyjxqr2qd4ze7xl2cxgerdnymxj7soqd.onion,hunt,high,2027-02-12,Gunra Tor DLS (current),campaign:Gunra domain,nsnhzysbntsqdwpys6mhml33muccsvterxewh5rkbmcab7bg2ttevjqd.onion,hunt,high,2027-02-12,Gunra Tor negotiation portal,campaign:Gunra sha256,2dc70a12d158d437e45a55b1d52f3d61c6082a1e1667573302ba3b62813e2751,detect,critical,2027-02-12,main.exe OneDrive/SharePoint exfil tool,campaign:Gunra sha256,834efe9b392c6c000877ea5613a079445affc16fe8af5997d68c55cafc95e5d1,detect,critical,2027-02-12,main.exe OneDrive/SharePoint exfil tool,campaign:Gunra sha256,91f8fc7a3290611e28a35a403fd815554d9d856006cc2ee91ccdb64057ae53b0,detect,critical,2027-02-12,Gunra cryptor.exe,campaign:Gunra sha256,a82e496b7b5279cb6b93393ec167dd3f50aff1557366784b25f9e51cb23689d9,detect,critical,2027-02-12,Gunra msmp.exe,campaign:Gunra sha256,5677dfad26045e271272bc98be2fd24e2f6d13737850ab1d9857fd58de05e9f9,detect,critical,2027-02-12,Gunra Linux ELF locker (x86-64),campaign:Gunra sha256,75cb7eb79a5fa0d388547520c6c452c700d38659080be074d70395729a0b578e,detect,critical,2027-02-12,Gunra Linux ELF locker (i386),campaign:Gunra sha256,eb46dfb4f15000a7d4af040b68e541251fd5716d2a77958b471a17ce2960416f,detect,critical,2027-02-12,Gunra Linux ELF locker (ARM),campaign:Gunra sha256,0909ecc86f8a89831c9c229de91b829aba6cb54685a2478f89cc04376b13488e,detect,critical,2027-02-12,Gunra Linux ELF locker (ARM),campaign:Gunra sha256,6d59bb6a9874b9b03ce6ab998def5b93f68dadedccad9b14433840c2c5c3a34e,detect,critical,2027-02-12,Gunra Windows PE build from same pipeline,campaign:Gunra sha256,75e5621756e9d19efeac2bcbb2ac4711fb85243c03b0a19c05b18e31a780691e,detect,critical,2027-02-12,Gunra Windows locker (RaaS panel sample),campaign:Gunra md5,9a7c0adedc4c68760e49274700218507,detect,critical,2027-02-12,gunraransome.exe sample,campaign:Gunra
type,value,description
filename,R3ADM3.txt,Gunra ransom note dropped in every encrypted directory
extension,.ENCRT,Gunra Windows encrypted-file extension
extension,.GNRA,Gunra Linux ELF encrypted-file extension
extension,.CRYPT,Documented alternate extension (one Jul 2025 sample)
filename_pattern,{sha256_hash}.keystore,Separate-mode RSA-encrypted key storage file
filename_pattern,build_[A-Za-z0-9_]{8}\.bin,Gunra Linux/ARM build-pipeline naming convention
account,forticloud-sync,Malicious FortiOS local account created via scheduled task (CVE-2024-55591 / CVE-2025-24472)
commandline_pattern,wbem.*WMIC.exe.*shadowcopy.*delete,Gunra WMI shadow-copy deletion command (CISA-documented exact form)
tool,legitimate_use,gunra_abuse Impacket (secretsdump.py / psexec.py / smbclient.py),Pentest/AD administration suite,NTDS credential dumping + SMB lateral movement Mimikatz,Security research,Credential access RClone,Cloud storage sync,Exfiltration to Mega FileZilla,FTP client,Exfiltration over FTP 7-Zip / WinRAR,File archiving,Staging data for exfiltration Sliver,Red-team C2 framework,Post-exploitation C2 AnyDesk / Google Remote Desktop,Legitimate RMM,Persistence + remote access Amass,Legitimate recon tool,Network mapping DBeaver,Database administration,Database access/exfil staging MobaXterm,Legitimate SSH/RDP client,Lateral movement tooling
check,command_or_action,expected_result FortiOS/FortiProxy patch level vs CVE-2024-55591,get system status,Build >= vendor-fixed release per Fortinet PSIRT advisory FortiOS/FortiProxy patch level vs CVE-2025-24472,get system status,Build >= vendor-fixed release per Fortinet PSIRT advisory Unauthorized FortiOS local account,show system admin,No account named forticloud-sync present Domain object replication auditing enabled,Get-ADObject + SACL review,Auditing enabled for Replicating Directory Changes [All] Immutable/offline backup tested in last 90 days,Recovery-test log review,Successful test-restore on file within 90 days
Detection Validation Gates
| Gate | Check | Status Before Deployment |
|---|---|---|
| Telemetry ready | RansomwareOpenFile, FileOpenInfo/PeFileWritten/ELFFileWritten, and ProcessRollup2/SyntheticProcessRollup2 are flowing for all in-scope hosts; Falcon Linux sensor deployed on Linux/NAS-adjacent hosts | Verify per-tenant before enabling any IOA in Block mode |
| Benign baseline | Run Q1–Q9 in Detect-only against 30 days of historical data; confirm expected FP sources (backup jobs, SCCM/RMM, IT admin scripts) are visible and can be excluded via TUNING notes | Required before promoting Q1/Q2/Q5 to Block |
| Positive tests | Validate Q2 and Q5 against a synthetic/lab file named R3ADM3.txt and a lab-only vssadmin delete shadows invocation on a disposable VM | Confirm the query fires before relying on it operationally |
| Promotion criteria | ≥2 weeks of Detect-only data with zero unresolved FPs, or FPs fully addressed by a documented TUNING exclusion | Gate for Q1/Q2/Q5 IOA promotion to Block mode (Section 9) |
Hardening — Tiered
Patch FortiOS/FortiProxy against CVE-2024-55591 and CVE-2025-24472 — MITRE
M1051 (Update Software). This is Gunra's documented primary initial-access vector; every day these
CVEs remain unpatched on an internet-facing appliance is a day the entire attack chain in Section 3 is available
to any Gunra affiliate. Verify: get system status against Fortinet's published fixed-build list.
Audit and remove the forticloud-sync local account (and any other unrecognized
FortiOS admin account) — MITRE M1032 / M1026 (Privileged Account Management).
Verify: show system admin.
Enforce MFA on all VPN, webmail, and critical-system remote access — MITRE
M1032 (Multi-factor Authentication); CISA CPG 3.F. Gunra's documented MFA bypass targeted a
static-OTP weakness in a custom VDI portal, not MFA itself — MFA everywhere still raises the
cost of the initial credential-theft steps that preceded it.
Enable Credential Guard / LSASS protection on domain controllers and privileged-access workstations
— MITRE M1043 (Credential Access Protection) / M1015 (Active Directory Configuration).
Directly targets the secretsdump.py NTDS-dumping step (Q3). Pilot on a subset of DCs first —
verify no legacy NTLM-dependent tooling breaks.
Restrict remote SAM access to Administrators (RestrictRemoteSAM) — MITRE
M1043. Narrows the credential-dumping surface Impacket tooling relies on.
Enable audit logging for AD replication rights (Event 4662) on the domain object — MITRE
M1047 (Audit) — ⚠ best-practice, no formal CIS Benchmark control number covers this exact audit
policy, but it is the only reliable native detection for a DCSync-style pull performed with legitimate-looking
tooling, and it is the audit-log complement to Q3.
Enable the Microsoft Defender ASR rule blocking PSExec/WMI-style process creation
(d1e49aac-8f56-4280-b9ba-993a6d77406c) — MITRE M1038 (Execution Prevention);
Microsoft Security Baseline. Directly raises the cost of Q4/Q5-class behavior. Pilot in Audit mode for one week.
Network segmentation restricting DMZ/VPN-to-internal lateral movement — MITRE
M1030 (Network Segmentation); CISA CPG 3.I. Gunra's chain depends on reaching AD/VDI infrastructure
from a compromised edge device — segmentation is the single highest-leverage structural control against
the entire post-access chain, but requires architecture review and staged rollout.
Implement and test offline, immutable backups at a physically separate site — MITRE
M1053 (Data Backup); CISA CPG 1.C/3.I/3.O. Gunra actors are documented deliberately destroying
backups at both primary and DR sites — immutability (WORM storage, air-gapped/offline copies) is what
survives that specific behavior; a backup an attacker with domain admin can delete is not a control.
Application allowlisting (AppLocker/WDAC) for command-line/scripting utilities — MITRE
M1038; CISA CPG 3.G/3.M. Reduces the attack surface for the Impacket, WMIC, and archival-tool
abuse documented throughout this advisory. Requires a baseline audit-mode period before enforcement given the
operational risk of blocking legitimate admin scripting.
Deployable Playbooks
Playbook 1 — Patch & Harden FortiGate SSL-VPN/Firewall (CVE-2024-55591 / CVE-2025-24472)
Step 1 — Verify current firmware build
# FortiGate CLI — check running firmware version get system status
Prerequisites: Console/SSH admin access to the FortiGate; maintenance window scheduled. Reboot required: No (read-only check). Rollback: none required.
Step 2 — Upgrade to a fixed FortiOS/FortiProxy build
# Download validated firmware from the Fortinet support portal, then: execute restore image tftp <firmware-image> <tftp-server-ip>
Prerequisites: Firmware image validated against Fortinet's published checksum; full config
backup completed (execute backup config tftp or Fortinet cloud backup); active maintenance window;
HA cluster (if present) upgraded per Fortinet's documented sequential-upgrade procedure.
Reboot required: Yes — firmware upgrade reboots the appliance; plan for a brief outage.
Rollback: Fortinet retains the previous firmware partition — execute revision revert
<rev> or booting the alternate partition restores prior firmware if the upgrade fails validation. Keep
the pre-upgrade config backup to restore configuration if a factory-default event occurs.
Step 3 — Audit for the Gunra-created forticloud-sync account
# FortiGate CLI — list local admin accounts and look for unexpected entries
show system admin
# If present and not created by your team, remove it:
config system admin
delete forticloud-sync
end
Prerequisites: Confirm with change management that no legitimate account named
forticloud-sync was provisioned; capture the account's config block before deletion for forensic
retention. Reboot required: No. Rollback: Re-add the account manually only if
later confirmed legitimate (should not be — CISA AA26-222A identifies this exact account as a Gunra-created
backdoor).
Playbook 2 — Harden Domain Controllers Against Impacket secretsdump.py (Windows/AD)
Step 1 — Enable Credential Guard
# Verify current Device Guard/Credential Guard status Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select-Object SecurityServicesConfigured,SecurityServicesRunning # Enable via registry (prefer GPO: Computer Configuration > Administrative Templates > System > # Device Guard > Turn On Virtualization Based Security) reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 1 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control\LSA" /v LsaCfgFlags /t REG_DWORD /d 1 /f
Prerequisites: UEFI firmware with Secure Boot enabled; hardware virtualization (Intel VT-x/AMD-V)
enabled in BIOS; verify third-party drivers are HVCI-compatible in a pilot ring first.
Reboot required: Yes — Credential Guard activates on next restart.
Rollback: Set LsaCfgFlags to 0 and
EnableVirtualizationBasedSecurity to 0, then reboot twice (VBS teardown requires two
restarts on some builds).
Step 2 — Restrict remote SAM access
# Restrict Remote SAM access to Administrators only, via GPO-backed registry reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v RestrictRemoteSAM /t REG_SZ /d "O:BAG:BAD:(A;;RC;;;BA)" /f
Prerequisites: Confirm no legitimate tooling (backup agents, monitoring) depends on non-admin
remote SAM enumeration; pilot on a subset of servers first. Reboot required: No — takes
effect on next SAM RPC connection. Rollback: Delete the RestrictRemoteSAM value to
restore the pre-change default.
Step 3 — Audit DRSUAPI replication requests from non-DC hosts
# Enable Directory Service Access auditing for "Replicating Directory Changes" and # "Replicating Directory Changes All" on the domain root object, then monitor # Windows Security Event ID 4662 for GUIDs 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 and # 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 (configure via Advanced Security Settings > Auditing # on the domain object, or dsacls.exe). Get-ADObject -Identity (Get-ADDomain).DistinguishedName -Properties ntSecurityDescriptor
Prerequisites: Domain Admin rights to modify domain-object auditing; SIEM/log pipeline ingesting
Security Event ID 4662 from domain controllers. Reboot required: No. Rollback:
Remove the added audit entries from the domain object's SACL via the same Advanced Security Settings dialog or
dsacls.exe /R.
Playbook 3 — Block Shadow-Copy Deletion via ASR / AppLocker (Windows)
Step 1 — Enable Defender ASR rule for PSExec/WMI process-creation abuse
# Enable ASR rule: "Block process creations originating from PSExec and WMI commands" Set-MpPreference -AttackSurfaceReductionRules_Ids d1e49aac-8f56-4280-b9ba-993a6d77406c -AttackSurfaceReductionRules_Actions Enabled
Prerequisites: Microsoft Defender Antivirus in active mode (or passive mode with ASR audit
support); pilot in Audit mode (-AttackSurfaceReductionRules_Actions AuditMode) for at least one week
and review Event ID 1121 before switching to Block. Reboot required: No.
Rollback: Set the rule action to Disabled, or AuditMode to fall back to
logging-only.
Step 2 — AppLocker/WDAC rule denying non-admin execution of vssadmin.exe / wmic.exe shadow-copy operations
# Example AppLocker rule deployment (via GPO: Computer Configuration > Windows Settings > # Security Settings > Application Control Policies > AppLocker > Executable Rules) New-AppLockerPolicy -XmlPolicy "C:\Policies\Block-VSSAdmin-NonAdmin.xml" -Merge
Prerequisites: AppLocker service (AppIDSvc) running; an existing AppLocker baseline
policy already deployed (a first-ever AppLocker policy should launch in Audit mode); backup/DR software that
legitimately invokes vssadmin.exe allowlisted before enforcing. Reboot required: No
— applies on next gpupdate/policy refresh. Rollback: Remove the rule from the
GPO (or re-apply the prior XML policy) and run gpupdate /force.
Containment Runbook
| Phase | Actions | Owner | Evidence |
|---|---|---|---|
| Isolate | Network-contain affected hosts (Falcon RTR host containment); disable compromised VPN/SSL-VPN/VDI accounts and revoke active sessions/tokens; block outbound to known Gunra Tor/DLS infrastructure and Mega/RClone endpoints at the perimeter (Section 10 CSV) | IR Lead / Network Team | Falcon containment audit log; firewall block-rule confirmation; VPN session-revocation log |
| Eradicate | Remove forticloud-sync and any other
unauthorized Fortinet/VDI accounts; terminate active SSH tunnels and kill Impacket/Sliver processes; rotate all
credentials touched by the NTDS dump (domain-wide krbtgt reset x2 if pass-the-ticket is confirmed);
remove SSH tunneling binaries and any unauthorized scheduled tasks/cron entries | IR / AD Team | Account deletion logs; krbtgt reset confirmation; EDR process-kill audit; scheduled-task/cron diff |
| Recover | Restore from offline immutable backups after confirming backup integrity was not tampered with; rebuild affected hosts from known-good images where full compromise is suspected; re-enable services in a staged, monitored rollout; re-verify FortiOS patch level before re-exposing any appliance | IR / Infrastructure | Backup-restoration logs; post-restore integrity hash comparisons; re-scan confirmation |
| Post-Incident | Monitor Gunra's DLS for victim listing / data
preview; file IC3 (ic3.gov) and CISA incident reports (see Section 18); conduct an after-action review
against the Section 15 coverage gaps | Leadership / Legal / IR Lead | DLS monitoring log; IC3 report confirmation number; after-action review document |
Detection Coverage Map
| Technique | Behavior | CQL | IOA | Coverage |
|---|---|---|---|---|
| T1190 | Fortinet CVE exploitation (initial access) | — | — | GAP appliance-layer, needs FortiOS log ingestion |
| T1098 / T1078.x | Account manipulation / default-credential abuse on SSL-VPN | — | — | GAP app-layer, S7 native hunt only |
| T1040 / T1539 / T1556.006 | VPN traffic sniffing, session hijacking, static-OTP MFA bypass | — | — | GAP VDI/portal application-layer, S7 native hunt only |
| T1105 / T1572 | SSH tunneling ingress + protocol tunnel | Q6 | No | Partial FP-medium, host-visibility only past the VPN edge |
| T1021.001 / T1550.002 / T1550.003 | RDP lateral movement w/ stolen session material | Q8 | No | Partial volumetric signal, needs baseline |
| T1003.003 | secretsdump.py NTDS credential dumping | Q3 | No | Good |
| T1003 / T1555 | Hiware access-control-server key theft, enterprise credential decryption | — | — | GAP vendor-specific PAM appliance, S7 native hunt only |
| T1021.002 | psexec.py / smbclient.py SMB lateral movement | Q4 | No | Good |
| T1083 / T1049 | File/directory and network-connection discovery | Folded into Q1/Q2 | No | Partial implicit only, no standalone discovery query |
| T1560 / T1567 / T1048 / T1530 / T1005 / T1114 | Archive, exfiltrate (Mega/FTP), cloud-storage & email collection | Q7 | No | Partial FP-medium, endpoint-visible egress only |
| T1490 | Shadow-copy / backup deletion | Q5 | Yes (Section 9) | Good |
| T1486 / T1657 / T1491.001 | ChaCha20+RSA-4096 encryption, ransom note, extortion demand | Q1, Q2 | Yes (Section 9) | Good |
| T1070.003 / T1685 | Command-history & log clearing | Q9 | No | Partial FP-medium |
| T1622 / T1027 | Debugger evasion, packing/obfuscation (static binary features) | — | — | GAP static analysis / YARA territory, not a runtime CQL signal |
| T1053.003 / T1556.003 (Linux) | Cron persistence, PAM/sudoers modification (Linux ELF variant) | — | — | Partial S7 native Linux hunt only, no CQL equivalent shipped |
Nine of the seventeen MITRE-technique rows above have direct CQL coverage; three of those (Q1, Q2, Q5) are promoted to Custom IOA candidates. The remaining gaps cluster almost entirely at the Fortinet-appliance and VDI/SSL-VPN-application layers — both outside default Falcon endpoint telemetry by design — and are covered instead by the native audit-log hunts in Section 7. Close those gaps operationally by forwarding FortiOS and VDI-portal logs into the same NG-SIEM repository Falcon writes to, which would let a future revision of this pack add real CQL coverage for the currently-GAP rows.
Hunt Summary Ticket
TITLE: Gunra Ransomware (RaaS) — Hunt & Detection Deployment
SEVERITY: Critical (ACTIVE RaaS — joint #StopRansomware advisory AA26-222A, 2026-08-10)
SCOPE: Windows/Linux endpoints, Domain Controllers, Fortinet FortiGate/FortiProxy appliances,
VDI/SSL-VPN authentication infrastructure, backup/DR infrastructure
HYPOTHESIS: Gunra affiliates gain privileged initial access via CVE-2024-55591/CVE-2025-24472 on
internet-facing Fortinet appliances, pivot through VDI/AD infrastructure using stolen
session material and NTDS-dumped credentials, exfiltrate data with commodity archival/
cloud-sync tooling, then encrypt (ChaCha20+RSA-4096, .ENCRT/.GNRA) and drop a R3ADM3.txt
ransom note after deleting shadow copies and, in some cases, backups.
QUERIES: Q1-Q9 (Section 8) — Q1/Q2/Q5 are IOA-promotion candidates (CONF high, FP low)
DO FIRST:
1. Patch FortiOS/FortiProxy against CVE-2024-55591 and CVE-2025-24472 (Section 12/13, Playbook 1)
2. Run Q5 (shadow-copy deletion) and Q2 (ransom note/extension writes) — highest-fidelity,
lowest-noise signals; if either fires, treat as active incident, not hunt finding
3. Audit FortiOS for the forticloud-sync account (Section 7 / Playbook 1, Step 3)
FINDINGS: [populate at hunt execution — no environment-specific findings in this template build]
GAPS: Fortinet appliance layer and VDI/SSL-VPN application layer have no native Falcon CQL
coverage (Section 15) — covered only by native audit-log hunts (Section 7) pending
log-forwarding integration into NG-SIEM
ACTIONS: Deploy Q1/Q2/Q5 as Custom IOAs after the Section 11 validation-gate period; deploy
Playbooks 1-3 (Section 13); begin Section 12 Immediate-tier hardening this week
OWNER: HuntPack
VERSION: v0.1 (2026-08-12)Changelog
References
| Tier | Source | Used For | Access Date |
|---|---|---|---|
| T1 | CISA AA26-222A — #StopRansomware: Gunra Ransomware | Primary technical source: TTPs, IOCs, MITRE mapping, mitigations | 2026-08-12 |
| T2 | The Record — FBI, South Korea warn of Gunra ransomware gang | Advisory-release corroboration, industrial-ransomware context | 2026-08-12 |
| T2 | BleepingComputer — US warns of Gunra ransomware attacks | Timeline/RaaS-pivot corroboration (WebFetch summary; direct fetch bot-blocked) | 2026-08-12 |
| T2 | CyberInsider — FBI warns Gunra ransomware targets critical sectors | Ransom-scale and tooling corroboration | 2026-08-12 |
| T2 | HSToday — CISA, FBI warn Gunra ransomware actors targeting critical infrastructure | Encryption/ransom-note detail corroboration (WebFetch summary; direct fetch bot-blocked) | 2026-08-12 |
| T2 | CYFIRMA — Gunra Ransomware: A Brief Analysis (2025-05-03) | Earliest sample analysis, WMI/VSS deletion detail, sample hashes, YARA rule | 2026-08-12 |
| T2 | Trend Micro — Gunra Ransomware Group Unveils Efficient Linux Variant (2025-07-29) | Linux variant internals, encryption architecture | 2026-08-12 |
| T2 | CloudSEK — Inside Gunra RaaS (2026-02-11) | RaaS affiliate-panel HUMINT, execution-flow reverse engineering, sample hashes | 2026-08-12 |
| T2 | Breakglass Intelligence — Gunra Linux Variant PRNG Flaw (2026-03-12) | Weak-PRNG recovery technique, Tor infrastructure map, ELF hashes, YARA/Sigma rules | 2026-08-12 |
Full verbatim (or, where noted, WebFetch-summarized) snapshots of all nine sources
are saved in Gunra-Ransomware-Hunt-sources/ alongside this file for provenance verification.