GRAYRABBIT Backdoor via UNC3569 Exploitation of Sogou Input Method (CVE-2026-51990)

One-click RCE chain in Tencent's Sogou Input Method for Windows, abused by China-nexus actor UNC3569 to deploy the GRAYRABBIT backdoor
Threat
GRAYRABBIT / UNC3569
Severity
EXPLOITED ITW
Type
Nation-state / hacker-for-hire client-side exploit + backdoor
Access
One-click RCE (user interaction required)
Version
v0.1 (Draft) · 2026-09-14
Author
HuntPack
Confidence
High (4 corroborating sources, 1 primary/originating)
01

Executive Summary

UNC3569, a China-nexus hacker-for-hire group that Google Threat Intelligence has tracked since 2021 against government, education, technology, and finance targets concentrated in East and Southeast Asia, is exploiting CVE-2026-51990, a one-click remote code execution flaw in Tencent's Sogou Input Method for Windows, to deploy the GRAYRABBIT backdoor. The attacker's objective is a durable, low-noise foothold: GRAYRABBIT provides a remote command shell, bidirectional file transfer, and on-demand module loading over a channel built to look unremarkable, raw TCP on port 443, RC4-scrambled instead of TLS.

The chain starts with a single click on a crafted sgbiz: link. Windows hands that link to biz_helper.exe, which does not validate the command-line arguments the link supplies and passes them straight to SGMyInput.exe. That process opens its skin-marketplace interface in an embedded, custom Chromium 80 build from March 2020 with the sandbox and same-origin policy disabled in code. The attacker-controlled page then exploits CVE-2021-38003, a V8 JSON.stringify type-confusion bug, for arbitrary code execution inside that unsandboxed browser process. Shellcode then downloads a legitimate 7z.exe, a trojanized loader DLL, and an encrypted payload from staging infrastructure, and DLL side-loading executes the encrypted blob, which decodes to GRAYRABBIT only if a process-count anti-sandbox check passes.

Tencent patched the reported chain in Sogou Input Method 16.3.0.3498 (released 2026-04-21) by restricting biz_helper.exe to HTTPS URLs on an allowlist of Sogou/Tencent hostnames. Gen Digital's own research states plainly that the obsolete, sandboxless Chromium 80 engine itself was not fixed, so any host running Sogou Input Method remains a standing risk to a future n-day in that same embedded browser.

The single highest-value defensive angle is behavioral rather than signature-based: the legitimate 7z.exe binary that side-loads the trojanized loader has no legitimate reason to make outbound network connections or spawn cmd.exe, and both behaviors are cheap, high-fidelity, and durable against C2 infrastructure rotation.

Defender priority: hunt and, once baselined, block on 7z.exe outbound network egress and 7z.exe-spawned cmd.exe first, these two behavioral signals catch GRAYRABBIT regardless of C2 domain or IP rotation. Patch Sogou Input Method to 16.3.0.3498 or later fleet-wide, and treat the product as a persistent residual risk afterward since its embedded browser sandbox remains disabled post-patch.
02

Source Review & Web Hunter Notes

TierSourceKey FindingCarry Forward
1 - Primary / OriginatingGen Digital / Gen Threat Labs (2026-09-10)Full three-stage exploit chain, all three atomic hashes, the DLL naming lineage across download/PE-internal/on-disk names, the process-count anti-sandbox gate, RC4 C2 framing and command set, and the disclosure timelineYes
2 - CorroboratingThe Hacker News (2026-09-11)Actor attribution (UNC3569, tracked by Google Threat Intelligence since 2021), IOC corroboration, patch detailsYes
2 - CorroboratingGBHackers (2026-09-14)Independent corroboration of the exploit chain and IOCs, plus detection recommendations for the sgbiz: patternYes
2 - CorroboratingBleepingComputerMalware capability summary and remediation timeline corroborationYes
N/A - attempted, unusableVirus Bulletin VB2024 conference paper on UNC3569 / GRAYRABBIT historyPDF did not extract as readable text with available toolingNo - not cited, not saved as a snapshot
N/A - attempted, unusableNVD record for CVE-2026-51990Page did not return indexed CVE content at fetch timeNo - not cited, not saved as a snapshot

Web Hunter Notes

No fetched source attempted to direct any action, claim prior authorization, or instruct a change to this pipeline's process. All four cited sources are treated strictly as data. The two unusable fetches above were not disqualified for any injection or trust concern, they simply returned content this pipeline's tooling could not extract, so nothing from them was cited or shipped.

DLL naming reconciliation

The seed intel flagged a naming discrepancy for hash 29c7ee41d0cc9e07d981e451df56d0c3d37c41ac4ec10c7b516cc033ee397a63. Gen Digital's primary research resolves this cleanly rather than leaving a real contradiction: the downloader shellcode fetches this file from the staging server as 7zp.dll, whose PE internal name is boy.dll, and then renames it to 7z.dll on disk in C:\Users\Public\Documents\ immediately before 7z.exe side-loads it. The Hacker News and GBHackers both describe only the final on-disk state and call it 7z.dll. All three names, 7zp.dll (download name), boy.dll (PE internal name), and 7z.dll (on-disk side-load name), refer to the same file at three points in its lifecycle and are recorded here together for hunt and EDR-query purposes.

03

Hunt Brief & Attack Chain

Hunt hypotheses

  1. H1 (high confidence): Sogou's SGMyInput.exe or biz_helper.exe is launched with a -url= command-line argument, evidence of sgbiz: protocol-handler abuse driving the embedded browser to an attacker-controlled page.
  2. H2 (high confidence): The legitimate 7z.exe binary is executed from C:\Users\Public\Documents\ referencing the payload archive naming pattern used by the downloader shellcode.
  3. H3 (high confidence): One of the three published GRAYRABBIT-chain hashes appears anywhere in process or file-write telemetry.
  4. H4 (high confidence): 7z.exe makes an outbound network connection, a behavior the legitimate command-line 7-Zip tool never exhibits, strongly indicating the process has been hijacked by the reflectively-loaded GRAYRABBIT payload.
  5. H5 (high confidence): cmd.exe is spawned as a child of 7z.exe, matching GRAYRABBIT's interactive reverse-shell command (command ID 1).
  6. H6 (high confidence): A host resolves or connects to the published GRAYRABBIT C2 domain or staging IP.
  7. H7 (medium confidence): A new PE or DLL is written to C:\Users\Public\Documents\, a broader staging-behavior signal with a higher benign base rate than H1-H6.

Attack chain

StepTelemetryHunt Angle
1. Victim clicks a crafted sgbiz: linkBrowser history / mail-gateway URL logs (not Falcon-visible)Native audit-log hunt only (Section 7)
2. Windows hands the link to biz_helper.exe, which passes unvalidated args to SGMyInput.exe -page=skincenter -url=<attacker URL>ProcessRollup2 / SyntheticProcessRollup2Q1
3. Embedded Chromium 80 webview (sandbox and same-origin policy disabled) navigates to the attacker page and runs a CVE-2021-38003 V8 exploit for code executionNo direct Falcon field for in-process V8 exploitation, gapCoverage gap, see Section 15
4. Downloader shellcode fetches 7z.exe, 7zp.dll (boy.dll), and p from the staging IP to C:\Users\Public\Documents\PeFileWritten / NewExecutableWritten, NetworkConnectIP4 / DnsRequestQ7, Q8
5. Shellcode renames 7zp.dll to 7z.dll and runs 7z.exe a p.7z p, triggering DLL side-loadProcessRollup2 / SyntheticProcessRollup2Q2
6. Loader gates decryption on a process-count check (>=50 processes = real host)No Falcon field for in-process API-call counting, gapCoverage gap, see Section 15
7. GRAYRABBIT (core.dll) is reflectively loaded and connects to C2 over RC4-scrambled raw TCP/443NetworkConnectIP4, DnsRequest, and the hash match itselfQ3, Q4, Q6
8. Operator issues commands: reverse shell, file transfer, plugin load, sysinfo beaconProcessRollup2 (child cmd.exe), NetworkConnectIP4Q5, Q4
9. Loader self-deletes via an NTFS alternate-data-stream rename-then-delete trickSensor-version-dependent file-deletion telemetry, gapNative hunt only, see Section 7
04

Consolidated IOC Table

TypeValueConfidenceActionContextExpiry
sha25629c7ee41d0cc9e07d981e451df56d0c3d37c41ac4ec10c7b516cc033ee397a63highdetectTrojanized DLL loader. Downloaded as 7zp.dll (PE internal name boy.dll), renamed to 7z.dll on disk for side-load by legitimate 7z.exe2027-03-14
sha256749160a2f20f82744026719cf72e483595c6aad718efa74d675a98662e02422ehighdetectEncrypted GRAYRABBIT payload blob, on-disk filename p. Only decodes correctly on hosts with fewer than 50 running processes producing a zero anti-sandbox gate value2027-03-14
sha256d7a3c7eb94edc0e020f74c678743d71d61e944634aade4a67a96c3589e828b3ahighdetectGRAYRABBIT backdoor, internal name core.dll, reflectively loaded in memory and never written to disk as a standalone PE post-decode2027-03-14
domainmail.uaiubifas.tophighdetectGRAYRABBIT C2. Raw TCP port 443, RC4-encrypted 4096-byte frames, not TLS2027-03-14
domainnoht1ng.tophighdetectExploit-hosting domain serving the CVE-2021-38003 V8 exploit page in the observed sgbiz: link2027-03-14
ipv48.218.50.207highdetectStaging server (Alibaba Cloud, Hong Kong) hosting 7z.exe, 7zp.dll, and the encrypted payload p2027-03-14
filenameplowpivotEncrypted payload filename. Too generic (a single character) to ship as a standalone import indicator, converted to a behavioral pivot only, see Section 102026-10-14
05

Affected Surface & Telemetry Matrix

SurfaceTelemetryPriorityGap
Windows endpoints running Sogou Input Method < 16.3.0.3498ProcessRollup2 / SyntheticProcessRollup2, PeFileWritten / NewExecutableWritten, NetworkConnectIP4 / DnsRequestCriticalNone, full Falcon sensor coverage available
Embedded Chromium 80 exploitation (CVE-2021-38003) in-processNo native Falcon field for in-process V8/JS heap corruptionHighGAP: only the downstream shellcode/download/side-load stages are observable, not the exploit itself
DLL side-load staging directory (C:\Users\Public\Documents\)PeFileWritten, ProcessRollup2 parent/childHighNone
C2 channel (raw TCP 443, RC4)NetworkConnectIP4, DnsRequestCriticalPartial: RC4 payload content is opaque to Falcon network telemetry, detection relies on connection metadata and process identity, not payload parsing
NTFS alternate-data-stream self-deletionSensor-version-dependent file-deletion/rename telemetryMediumGAP: flag as a behavioral signal only, validate coverage in tenant
Anti-sandbox process-count gate (inside the loader)No Falcon field exposes in-process API call counts (CreateToolhelp32Snapshot / Process32Next)MediumGAP: not directly hunted, see coverage map
06

ATT&CK Mapping

TacticTechniqueTechnique NameObserved Behavior
Initial AccessT1204.001User Execution: Malicious LinkVictim clicks a crafted sgbiz: URI
Initial Access / ExecutionT1203Exploitation for Client ExecutionCVE-2021-38003 V8 type-confusion exploited inside Sogou's embedded, sandboxless Chromium 80 webview
ExecutionT1059.003Windows Command ShellGRAYRABBIT command 1 spawns an interactive cmd.exe reverse shell as a child of the hijacked host process
Persistence / Defense EvasionT1574.002Hijack Execution Flow: DLL Side-LoadingLegitimate 7z.exe side-loads the trojanized loader (downloaded as 7zp.dll, renamed 7z.dll)
Defense EvasionT1497.001Virtualization/Sandbox Evasion: System ChecksProcess-count gate (<50 running processes) corrupts the XOR decryption key so the payload decodes to garbage in a sandbox
Defense EvasionT1027Obfuscated Files or InformationXOR-encrypted embedded PE, RC4-encrypted C2 traffic
Defense EvasionT1620Reflective Code LoadingGRAYRABBIT and its on-demand plugin modules are mapped and executed entirely in memory via PEB-walk import resolution, never written to disk as a standalone PE
Defense EvasionT1070.004Indicator Removal: File DeletionLoader self-deletes via an NTFS alternate-data-stream rename-then-delete trick, no DeleteFileW call appears in logs
Command and ControlT1095Non-Application Layer ProtocolRaw TCP on port 443, not TLS or any application-layer protocol
Command and ControlT1573.001Encrypted Channel: Symmetric CryptographyRC4 per-4096-byte-frame encryption with a static six-byte key
Command and ControlT1105Ingress Tool TransferDownloader shellcode fetches 7z.exe / 7zp.dll / p from the staging IP; GRAYRABBIT loads further modules from C2 on demand
DiscoveryT1082System Information DiscoveryCommand 6 beacons IP address, hostname, username, and process name/PID to C2
ExfiltrationT1041Exfiltration Over C2 ChannelFileMsg upload operation (command 9) moves local files out over the same RC4 channel
07

Native Audit-Log Hunts

Non-CQL checks for environments without full Falcon coverage, or as a second telemetry source to corroborate Section 8 hits.

1. Registry: audit the sgbiz protocol handler

Confirm the handler still points at the legitimate, currently-installed Sogou binary and has not been tampered with:

Get-ItemProperty "Registry::HKEY_CLASSES_ROOT\sgbiz\shell\open\command"

2. Windows Security Event Log 4688 (process creation)

Where command-line auditing is enabled, match the same pattern as CQL Q1 for hosts without a Falcon sensor:

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4688} |
  Where-Object { $_.Message -match '(SGMyInput|biz_helper)\.exe' -and $_.Message -match '-url=' }

3. Sysmon Event ID 1 (ProcessCreate) and Event ID 7 (ImageLoad)

Event ID 1 for the same -url= command-line pattern; Event ID 7 for 7z.exe loading a 7z.dll whose hash does not match the known-good 7-Zip release for the installed version.

4. Sysmon Event ID 3 (NetworkConnect)

Any outbound connection from 7z.exe, SGMyInput.exe, SGWebRender.exe, or biz_helper.exe is anomalous and mirrors CQL Q4.

5. Mail gateway / proxy log grep for the sgbiz scheme

The observed delivery URI, decoded, was sgbiz:sg_process?module=sgmyinput.exe&param=-page%3Dskincenter%20-url%3Dhttps%253A%252F%252Fnoht1ng.top%252Ffuckujjbangx.html. Search mail-gateway and web-proxy logs for the literal string sgbiz: in a URL or link-click event, independent of the destination domain, since the domain can rotate.

6. File-hash sweep of the staging directory

Hash every file in C:\Users\Public\Documents\ fleet-wide and compare against the three published SHA-256 hashes in Section 4, and separately flag any directory where a .dll was written after its paired legitimate .exe, the temporal signature of a side-load staging operation.

08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.
Q1 · sgbiz protocol-handler exploitation (CVE-2026-51990)
CONF HIGHFP LOWCOST LOW

Looks for: SGMyInput.exe or biz_helper.exe launched with a -url= command-line argument, the signature of the unvalidated protocol-handler abuse that starts the chain. FP: none expected pre-patch; on patched hosts (16.3.0.3498+) biz_helper.exe validates -url against an internal allowlist, so a hit there still merits triage as a rejected attempt.

// HUNT: Sogou biz_helper/SGMyInput launched with attacker-controlled -url= argument
// MITRE: T1204.001, T1203
// CONF: high
// FP: low
// COST: low
// REQUIRES: ProcessRollup2 / SyntheticProcessRollup2 (Falcon sensor process telemetry)
// FALSE POSITIVES: none expected pre-patch; a hit on a patched host is a rejected attempt worth triaging
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(SGMyInput|biz_helper)(\.exe)?$/i
| CommandLine=/-url[=\s]/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, SHA256HashData])
Q2 · 7z.exe staging the payload archive from Public\Documents
CONF HIGHFP LOWCOST LOW

Looks for: the legitimate 7z.exe executing out of C:\Users\Public\Documents\, the observed DLL side-load staging location. FP: low; legitimate software staging installers through Public\Documents by this exact path is uncommon, verify any hit against known deployment tooling.

// HUNT: 7z.exe invoked from C:\Users\Public\Documents (DLL side-load staging)
// MITRE: T1574.002, T1036.005
// CONF: high
// FP: low
// COST: low
// REQUIRES: ProcessRollup2 / SyntheticProcessRollup2
// FALSE POSITIVES: rare legitimate deployment tooling staging installers via Public\Documents
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^7z\.exe$/i
| ImageFileName=/Users\\Public\\Documents/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, ImageFileName, CommandLine, SHA256HashData])
Q3 · Known GRAYRABBIT-chain hash match
CONF HIGHFP LOWCOST LOW

Looks for: any of the three published SHA-256 hashes (loader, encrypted payload, GRAYRABBIT core.dll) across process execution and file-write telemetry. FP: none, exact hash match.

// HUNT: Known GRAYRABBIT / loader hash match across process and file-write telemetry
// MITRE: T1574.002, T1620
// CONF: high
// FP: low
// COST: low
// REQUIRES: ProcessRollup2, SyntheticProcessRollup2, PeFileWritten, NewExecutableWritten
// FALSE POSITIVES: none, exact hash match
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2|PeFileWritten|NewExecutableWritten/
| SHA256HashData=/^(29c7ee41d0cc9e07d981e451df56d0c3d37c41ac4ec10c7b516cc033ee397a63|749160a2f20f82744026719cf72e483595c6aad718efa74d675a98662e02422e|d7a3c7eb94edc0e020f74c678743d71d61e944634aade4a67a96c3589e828b3a)$/i
| table([@timestamp, ComputerName, UserName, FileName, ImageFileName, SHA256HashData])
Q4 · 7z.exe making outbound network connections
CONF HIGHFP LOWCOST LOW

Looks for: the command-line 7-Zip binary originating any outbound network connection. FP: low. Standalone 7z.exe has no network functionality, so a hit is a strong signal the process memory has been hijacked by the reflectively-loaded GRAYRABBIT payload; this is the highest-value, C2-rotation-proof detection in this pack.

// HUNT: 7z.exe originating outbound network connections (anomalous LOLBin C2 behavior)
// MITRE: T1095, T1573.001
// CONF: high
// FP: low
// COST: low
// REQUIRES: NetworkConnectIP4
// FALSE POSITIVES: none expected, the command-line 7-Zip binary has no legitimate network activity
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=NetworkConnectIP4
| ContextBaseFileName=/^7z\.exe$/i
| table([@timestamp, ComputerName, ContextBaseFileName, RemoteAddressIP4, RemotePort])
Q5 · cmd.exe spawned as a child of 7z.exe (reverse shell)
CONF HIGHFP LOWCOST LOW

Looks for: GRAYRABBIT's interactive reverse-shell command (command ID 1: CreateProcessA "cmd" with piped stdio) appearing as a cmd.exe child of 7z.exe. FP: none, 7z.exe never legitimately spawns a shell.

// HUNT: cmd.exe spawned as a child of 7z.exe (GRAYRABBIT interactive reverse shell)
// MITRE: T1059.003
// CONF: high
// FP: low
// COST: low
// REQUIRES: ProcessRollup2 / SyntheticProcessRollup2
// FALSE POSITIVES: none, 7z.exe never legitimately spawns a command shell
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| ParentBaseFileName=/^7z\.exe$/i
| FileName=/^cmd\.exe$/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine])
Q6 · DNS resolution of the GRAYRABBIT C2 domain
CONF HIGHFP LOWCOST LOW

Looks for: DNS resolution of the published GRAYRABBIT C2 domain. FP: low, exact-match IOC hunt; this domain is perishable and should be re-validated against fresh intel on each run.

// HUNT: DNS request to the published GRAYRABBIT C2 domain
// MITRE: T1095, T1573.001
// CONF: high
// FP: low
// COST: low
// REQUIRES: DnsRequest
// FALSE POSITIVES: none, exact-match domain IOC. Domain is perishable, re-validate before each run
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=DnsRequest
| DomainName=/^mail\.uaiubifas\.top$/i
| table([@timestamp, ComputerName, ContextProcessId, DomainName])
Q7 · Direct connection to the GRAYRABBIT staging IP
CONF HIGHFP LOWCOST LOW

Looks for: a direct connection to the Alibaba Cloud Hong Kong staging IP used to host the second-stage downloads. FP: low, exact-match IOC hunt.

// HUNT: Direct network connection to the GRAYRABBIT staging IP
// MITRE: T1105
// CONF: high
// FP: low
// COST: low
// REQUIRES: NetworkConnectIP4
// FALSE POSITIVES: none, exact-match IP IOC. Staging IPs are perishable, re-validate before each run
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=NetworkConnectIP4
| RemoteAddressIP4=/^8\.218\.50\.207$/
| table([@timestamp, ComputerName, ContextBaseFileName, RemoteAddressIP4, RemotePort])
Q8 · New PE/DLL written to Public\Documents (broad staging signal)
CONF MEDIUMFP HIGHCOST LOW

Looks for: any new PE or DLL written to C:\Users\Public\Documents\, the broadest of the staging-behavior signals. FP: high, this directory legitimately receives files from shared installers, printer drivers, and some enterprise deployment scripts in many environments. Investigate-only, correlate with Q2/Q4/Q5 hits before escalating a standalone alert.

// HUNT: New PE/DLL written to C:\Users\Public\Documents (broad staging signal)
// MITRE: T1574.002
// CONF: medium
// FP: high
// COST: low
// REQUIRES: PeFileWritten, NewExecutableWritten
// FALSE POSITIVES: shared installers, printer drivers, and enterprise deployment scripts commonly write to Public\Documents in some environments
// TUNING: baseline normal Public\Documents write volume before alerting; exclude signed installers/updaters (check AuthenticodeHashData presence); correlate with Q2/Q4/Q5 hits before treating a hit as standalone
// LOOKBACK: 7d (set via console time picker)
#event_simpleName=/PeFileWritten|NewExecutableWritten/
| TargetFileName=/Users\\Public\\Documents\\/i
| table([@timestamp, ComputerName, UserName, TargetFileName, SHA256HashData])
09

CrowdStrike Custom IOA Recommendations

CandidatePatternExclusionsDeployment Path
Q4 - 7z.exe network egressParent/context process 7z.exe with any outbound NetworkConnectIP4 eventNone identified; if a deployment tool bundles a network-aware 7-Zip variant, exclude that exact signed publisher/hashCustom IOA, Detect for 2 weeks to confirm zero environment-specific FPs, then promote to Block
Q5 - cmd.exe child of 7z.exeParentBaseFileName=7z.exe, FileName=cmd.exeNone identifiedCustom IOA, Block-eligible immediately given near-zero legitimate base rate
Q1 - Sogou -url= argument injectionFileName matches SGMyInput.exe/biz_helper.exe with -url= in CommandLineNone pre-patch; on patched hosts (16.3.0.3498+) the argument itself is validated internally, so this IOA still catches rejected attempts worth reviewingCustom IOA, Detect fleet-wide during the patch rollout window, reassess after full patch coverage
Q2, Q3, Q6, Q7 - staging path / hash / C2 IOC hitsSee CQL cardsN/A, IOC-basedIOC Management CSV (Section 10), Detect action; promote hashes to Prevent once confirmed against your own environment
Q8 - PE/DLL write to Public\DocumentsTargetFileName under Public\DocumentsSee Q8 TUNING noteInvestigate-only until an environment-specific baseline is established; not IOA-eligible in its current form
10

Machine-Readable IOC Appendix

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
sha256,29c7ee41d0cc9e07d981e451df56d0c3d37c41ac4ec10c7b516cc033ee397a63,detect,critical,2027-03-14,GRAYRABBIT loader DLL (downloaded as 7zp.dll / PE internal name boy.dll / renamed 7z.dll on disk),campaign:GRAYRABBIT actor:UNC3569 cve:CVE-2026-51990
sha256,749160a2f20f82744026719cf72e483595c6aad718efa74d675a98662e02422e,detect,critical,2027-03-14,GRAYRABBIT encrypted payload blob (on-disk filename: p),campaign:GRAYRABBIT actor:UNC3569 cve:CVE-2026-51990
sha256,d7a3c7eb94edc0e020f74c678743d71d61e944634aade4a67a96c3589e828b3a,detect,critical,2027-03-14,GRAYRABBIT backdoor (internal name core.dll),campaign:GRAYRABBIT actor:UNC3569 cve:CVE-2026-51990
domain,mail.uaiubifas.top,detect,critical,2027-03-14,GRAYRABBIT C2 - raw TCP port 443 RC4-encrypted not TLS,campaign:GRAYRABBIT actor:UNC3569
domain,noht1ng.top,detect,high,2027-03-14,CVE-2021-38003 exploit-hosting domain in the CVE-2026-51990 chain,campaign:GRAYRABBIT actor:UNC3569 cve:CVE-2026-51990
ipv4,8.218.50.207,detect,high,2027-03-14,Staging server (Alibaba Cloud Hong Kong) hosting 7z.exe / 7zp.dll / p,campaign:GRAYRABBIT actor:UNC3569
Behavioral SignaturesEDR / SIEM logic
SGMyInput.exe or biz_helper.exe launched with a -url= command-line argument
7z.exe executing from C:\Users\Public\Documents\ referencing an archive named p.7z / p
7z.exe (any variant) originating an outbound network connection of any kind
cmd.exe spawned as a direct child of 7z.exe
Raw TCP session on port 443 with no TLS handshake (JA3/JA4-less HTTPS-port traffic)
New PE/DLL written to C:\Users\Public\Documents\ (broad signal, correlate before alerting)
File deleted via NTFS alternate-data-stream rename-then-delete with no DeleteFileW call in logs
Named Malware / Toolingsearch & pivot
Actor: UNC3569 (China-nexus, hacker-for-hire)
Backdoor: GRAYRABBIT (internal name core.dll)
Vulnerability: CVE-2026-51990 (Sogou biz_helper.exe argument injection)
Chained exploit: CVE-2021-38003 (Chromium V8 JSON.stringify type confusion)
Product: Sogou Input Method for Windows (Tencent), patched 16.3.0.3498
Filenames observed (pivot only, not block - too generic to import as atomic indicators): p, p.7z, 7zp.dll, boy.dll, 7z.dll, biz_helper.exe, SGMyInput.exe, SGWebRender.exe
Patch / ASR / Coverage Auditfleet checklist
# 1. Confirm installed Sogou Input Method version (must be >= 16.3.0.3498)
Get-ItemProperty "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" |
  Where-Object { $_.DisplayName -match 'Sogou' } | Select-Object DisplayName, DisplayVersion

# 2. Confirm the sgbiz protocol handler still resolves to the legitimate installed binary
Get-ItemProperty "Registry::HKEY_CLASSES_ROOT\sgbiz\shell\open\command"

# 3. Confirm Falcon sensor is active and reporting on the host
Get-Service CSFalconService | Select-Object Name, Status

# 4. Confirm an AppLocker/WDAC rule restricts 7z.exe execution to its canonical install path
Get-AppLockerPolicy -Effective | Select-Object -ExpandProperty RuleCollections
11

Detection Validation Gates

GateRequirement
Telemetry readyFalcon sensor deployed with process, file-write, and network visibility on every Windows endpoint that has Sogou Input Method installed. Confirm with the Patch/ASR/Coverage Audit block in Section 10.
Benign baselinePull a 7-day benign baseline for Q4 (7z.exe network connections) and Q8 (Public\Documents PE writes) before enabling automated alerting on either; both are expected to be near-zero in a clean environment, any non-zero baseline needs investigation before the query goes live.
Positive testsValidate Q1, Q2, Q3, Q5, Q6, and Q7 by replaying the published IOC values and command-line/parent-child patterns in a controlled lab process (never the live exploit chain, this pack is defensive-only). Confirm each query returns the synthetic hit.
Promotion pathQ4 and Q5 promote to Custom IOA (Detect for 2 weeks, then Block) after the baseline confirms zero legitimate hits. Q1, Q3, Q6, Q7 ship as IOC-based Detect entries now. Q2 and Q8 remain Investigate-only pending an environment-specific baseline.
12

Hardening - Tiered & Deployable

TTP: GRAYRABBIT / UNC3569 via CVE-2026-51990 (Sogou Input Method one-click RCE)   MITRE Technique: T1203, T1204.001, T1574.002   Primary Mitigations: M1038, M1040, M1042, M1044, M1045, M1031, M1037, M1056

Immediate (deploy this week)
  • Patch Sogou Input Method to 16.3.0.3498 or later via automatic update or a forced push. This is the vendor fix for the reported argument-injection chain. Framework: vendor advisory (Gen Digital / Tencent, see Section 18).
  • Where Sogou Input Method is not a business requirement, uninstall it, or block its installation with AppLocker/WDAC. Framework: MITRE M1042 (Disable or Remove Feature or Program).
  • Even on patched hosts, treat the product as a standing risk: Gen Digital's research states the underlying obsolete, sandboxless Chromium 80 engine and disabled same-origin policy were not fixed. Where Sogou is required, remove or neuter the sgbiz: protocol-handler registration to close the click-to-launch vector entirely. Framework: M1042.
  • Confirm the Falcon prevention policy has Cloud Machine Learning (Aggressive detection) and Suspicious Processes enabled fleet-wide, so the post-exploit stages (DLL side-load, reverse shell, RC4 C2) are blocked even if the initial browser exploit succeeds. Framework: M1040 (Behavior Prevention on Endpoint).
Near term (1-4 weeks)
  • Deploy a Custom IOA blocking network connections initiated by 7z.exe fleet-wide (Q4), Detect first for a 2-week baseline, then promote to Block. Framework: M1038 (Execution Prevention).
  • Deploy an AppLocker or WDAC publisher/path rule restricting 7z.exe execution to its canonical install directory (%ProgramFiles%\7-Zip\), blocking the side-load staging location (C:\Users\Public\Documents\) entirely. Framework: M1038, M1044 (Restrict Library Loading), M1045 (Code Signing).
  • Add NGFW/NIPS signatures or TLS-inspection logic that flags non-TLS traffic on port 443 (a raw-TCP session with no TLS handshake on the standard HTTPS port is inherently anomalous). Framework: M1031 (Network Intrusion Prevention), M1037 (Filter Network Traffic).
Long-term / strategic (1-3 months)
  • Track Sogou Input Method, and other bundled third-party IME/input software with embedded browser components, as a monitored high-risk software category in the asset inventory, since its embedded browser sandbox remains disabled post-patch and any future n-day in that Chromium 80 base is immediately exploitable again. Evaluate a Windows-native or better-isolated alternative where the business allows. Framework: M1056 (Pre-compromise) / documented vendor-risk best practice, ⚠ best-practice, no formal benchmark covers third-party IME risk scoring specifically.
  • Extend the AppLocker/WDAC publisher-path restriction pattern used for 7z.exe (Near-term tier) to other commonly side-loaded, signed LOLBins fleet-wide as a general application-control baseline. Framework: M1038, M1044, M1045.
  • Add DNS-sinkhole or reputation-based blocking for outbound connections to newly-registered domains and low-reputation cloud ranges commonly used for staging infrastructure (the pattern seen with noht1ng.top and the Alibaba Cloud Hong Kong staging IP). Framework: M1021 (Restrict Web-Based Content).

What to verify after deployment

  • Run the Patch/ASR/Coverage Audit block (Section 10) against a sample of endpoints; expect Sogou version >= 16.3.0.3498 or the product absent entirely.
  • Re-run Q4 and Q5 after the AppLocker/WDAC path restriction deploys; expect zero legitimate hits and the queries ready for Block promotion.
13

Deployable Playbooks

Playbook 1: Sogou Input Method Patch Verification & Removal Fallback

MITRE: T1203, T1204.001 → M1042   Estimated deploy time: 1-2 hours for the fleet-wide check, additional time per host for uninstall/update   Prerequisites: RMM or PowerShell-remoting access to target endpoints, local admin rights   Reboot required: No

Step 1 - Verify current Sogou Input Method version

What it does: Confirms which endpoints run a vulnerable pre-16.3.0.3498 build.
Why it works: You cannot patch or remove what you have not inventoried first.

Prerequisites: Read access to the uninstall registry hive. Reboot required: No.

Get-ItemProperty "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" |
  Where-Object { $_.DisplayName -match 'Sogou' } |
  Select-Object DisplayName, DisplayVersion, PSComputerName

Verify: Output shows DisplayVersion >= 16.3.0.3498, or no Sogou entry at all.

Rollback: none required, this step is read-only.

Step 2 - Force update, or uninstall if not business-approved

What it does: Brings the host to the patched version, or removes the exposure entirely.
Why it works: The patched biz_helper.exe validates -url against an HTTPS/allowlist check, closing the reported argument-injection path.

Prerequisites: Local admin rights, the vetted 16.3.0.3498+ MSI staged internally (or confirmation the product auto-updates). Reboot required: No.

# Uninstall path (use the product code returned by the Step 1 query)
$app = Get-CimInstance -ClassName Win32_Product | Where-Object { $_.Name -match 'Sogou' }
if ($app) { $app.Uninstall() }

Verify: Re-run the Step 1 query; expect no Sogou entry, or DisplayVersion >= 16.3.0.3498 if updated instead of removed.

Rollback: Reinstall Sogou Input Method 16.3.0.3498 or later from the vetted internal software repository if a business justification is confirmed after removal.

Playbook 2: Close the sgbiz Handler and the 7z.exe Side-Load Path

MITRE: T1204.001 → M1042; T1574.002 → M1038, M1044, M1045   Estimated deploy time: 2-4 hours to author and pilot the AppLocker rule, 1 day per pilot ring before fleet-wide Enforce   Prerequisites: Local admin rights, AppLocker or WDAC available (Windows 10/11 Enterprise or Education for full AppLocker feature set), a pilot ring of endpoints   Reboot required: No for the registry step; No for AppLocker policy application (policy refresh, not a reboot)

Step 1 - Audit the sgbiz protocol handler registration

What it does: Confirms the current handler target and captures it for rollback.
Why it works: You need the existing value backed up before removing it.

Prerequisites: Registry read access. Reboot required: No.

$backup = Get-ItemProperty "Registry::HKEY_CLASSES_ROOT\sgbiz\shell\open\command"
$backup | Export-Clixml -Path "C:\HardeningBackups\sgbiz-handler-backup.xml"
$backup

Verify: C:\HardeningBackups\sgbiz-handler-backup.xml exists and contains the original command value.

Rollback: none required, this step is read-only and only produces a backup file.

Step 2 - Remove the sgbiz protocol handler (hosts where Sogou is not required)

What it does: Deletes the sgbiz: URI registration so Windows can no longer route a crafted link to biz_helper.exe at all.
Why it works: Removing the handler closes the click-to-launch vector regardless of the Sogou binary's own patch level.

Prerequisites: Step 1 backup completed; confirm Sogou Input Method is not required on this host (see Playbook 1, Step 1). Reboot required: No.

Remove-Item -Path "Registry::HKEY_CLASSES_ROOT\sgbiz" -Recurse -Force

Verify:

Test-Path "Registry::HKEY_CLASSES_ROOT\sgbiz"
# Expect: False

Rollback:

Import-Clixml -Path "C:\HardeningBackups\sgbiz-handler-backup.xml" |
  ForEach-Object { New-Item -Path "Registry::HKEY_CLASSES_ROOT\sgbiz\shell\open\command" -Force |
    Set-ItemProperty -Name '(default)' -Value $_.'(default)' }
# Or simply reinstall Sogou Input Method, which re-registers the handler automatically.

Step 3 - AppLocker publisher/path rule restricting 7z.exe execution

What it does: Blocks 7z.exe from running anywhere outside its canonical install directory, closing the C:\Users\Public\Documents\ side-load staging path.
Why it works: The observed attack runs a downloaded copy of 7z.exe from a user-writable directory; a publisher+path rule stops that copy from executing even if it lands on disk.

Prerequisites: AppLocker service running, existing AppLocker policy baseline (do not deploy a first-ever AppLocker rule directly to Enforce). Reboot required: No, apply via gpupdate /force or policy refresh.

# Author in Audit mode first
New-AppLockerPolicy -RuleType Publisher -FileType Exe -User Everyone -Xml |
  Set-AppLockerPolicy -Merge

# Example rule condition (author via the AppLocker GPO editor for production use):
# Publisher: O=IGOR PAVLOV, path allowed: %PROGRAMFILES%\7-Zip\7z.exe
# Deny all other paths for a file named 7z.exe

Verify:

Get-AppLockerPolicy -Effective | Select-Object -ExpandProperty RuleCollections |
  Where-Object { $_.RuleCollectionType -eq 'Exe' }
# Confirm the 7z.exe path rule is present and, after the pilot period, set to Enforce

Rollback:

\# Remove the specific rule from the GPO-linked AppLocker policy via the AppLocker
\# policy editor, or set the Exe rule collection back to "Not configured" / Audit only.
Set-AppLockerPolicy -PolicyObject (New-Object -TypeName Microsoft.Security.ApplicationId.PolicyManagement.PolicyModel.AppLockerPolicy) -Merge

Compatibility note: Pilot on a small ring for at least a week before Enforce; confirm no internal tooling calls 7z.exe from a non-standard path (e.g., a portable/self-extracting deployment package) before fleet-wide rollout.

Step 4 - Falcon Custom IOA: block network egress from 7z.exe

What it does: Adds a behavioral prevention layer independent of the AppLocker path rule.
Why it works: Even if a trojanized 7z.exe evades the path restriction, GRAYRABBIT's C2 connection from that process is stopped at the network layer.

Not a script, Falcon Console UI:

  1. Falcon Console → Endpoint security → Custom IOA rules → create a new rule matching ContextBaseFileName = 7z.exe with any NetworkConnectIP4 event.
  2. Set action to Detect for the first 2 weeks (matches the Section 11 validation gate).
  3. After a clean baseline, change the rule action to Block.

Prerequisites: Falcon Prevention policy applied to the target host group. Reboot required: No.

Verify: Falcon Console → Endpoint security → Activity → search for ContextBaseFileName:7z.exe over the last 24 hours after a controlled lab test connection.

Rollback: Disable or delete the Custom IOA rule from the Falcon Console.


Deploying via your RMM: the scripts above are raw PowerShell. To wrap them for fleet deployment (admin check, error handling, custom-field writeback for compliance tracking), hand them to your RMM deployment tooling and ask for a deployable package.

14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateNetwork-isolate the affected host via Falcon RTR host containment to cut the C2 channel (mail.uaiubifas.top / 8.218.50.207) while preserving forensic stateIR / SOC on-callFalcon containment timestamp and confirmation log
IsolateBlock the C2 domain, exploit-hosting domain, and staging IP at the perimeter firewall and DNS sinkholeNetwork / Firewall teamFirewall rule-change ticket, DNS sinkhole log entry
IsolateCapture volatile memory from the affected host before further action; GRAYRABBIT is reflectively loaded, so disk artifacts alone are insufficient for full recovery of the implantDFIRMemory capture file hash and chain-of-custody log
EradicateTerminate the compromised 7z.exe process and any child cmd.exe reverse shells identified via Q4/Q5IR analystFalcon RTR process-kill audit log
EradicateCollect and hash the staging artifacts in C:\Users\Public\Documents\ (7z.exe, 7zp.dll/7z.dll, p, p.7z) before deletion, then remove themIR analystPre-deletion hash manifest, ticket noting file paths removed
EradicatePatch or remove Sogou Input Method on the affected host and any host sharing its deployment image or golden AMI (Playbook 1)Endpoint engineeringPost-remediation version-check output
EradicateRotate credentials active in any interactive session on the host while GRAYRABBIT's reverse shell (command 1) may have been running, given full command-execution capability was available to the operatorIAM / Identity teamCredential-rotation ticket, sign-in log showing forced re-authentication
RecoverRebuild the affected endpoint from a known-clean, patched golden image rather than relying on in-place cleanup, given the reflective in-memory loading and NTFS ADS self-deletion techniques observedEndpoint engineeringRe-image completion ticket
RecoverRe-enable network access only after confirming Q1-Q8 return clean and the patched Sogou version (or its removal) is verifiedSOCClean hunt-query run exported to the ticket
RecoverDeploy the Immediate and Near-term hardening tiers fleet-wide, not just to the affected host, to prevent recurrence across the estateSecurity engineeringDeployment completion report / RMM custom-field status
RecoverRun a retrospective on the initial-access vector (how the sgbiz: link reached the user) and update user-awareness training accordinglySOC lead / Security awarenessRetrospective document, updated training module
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1204.001 / T1203sgbiz: link click / -url= argument injectionQ1Candidate (Detect)Good
T1203 (in-browser)CVE-2021-38003 V8 exploitation inside the embedded Chromium 80 webviewNoneNot promotedGAP - no Falcon field observes in-process V8/JS heap corruption; only downstream stages are visible
T1574.0027zp.dll/boy.dll renamed to 7z.dll, side-loaded by 7z.exeQ2, Q3CandidateGood
T1497.001Process-count anti-sandbox gate inside the loaderNoneNot promotedGAP - occurs entirely in-process (CreateToolhelp32Snapshot/Process32Next); no Falcon field exposes this call count
T1059.003cmd.exe reverse shell spawned by 7z.exeQ5Candidate (Block-eligible)Good
T1095 / T1573.001Raw TCP/443 RC4 C2 channelQ4, Q6, Q7Candidate (Q4 Block-eligible after baseline; Q6/Q7 IOC-based)Good
T1620Reflective in-memory loading of GRAYRABBIT and plugin modulesQ4 (behavioral proxy)Not directly promotedPartial - detected indirectly via the host process's anomalous behavior, not via a direct reflective-load telemetry field
T1070.004NTFS alternate-data-stream self-deletionNone (native audit-log hunt only, Section 7)Not promotedGAP - sensor-version-dependent, validate coverage in tenant
T1082System-info discovery beacon (command 6)Covered indirectly via Q4Not promotedPartial - channel-level only, beacon content is opaque to Falcon
T1041File exfiltration over the C2 channel (command 9)Covered indirectly via Q4, Q6, Q7Not promotedPartial - channel-level only, RC4 payload content is opaque to Falcon network telemetry

All Section 11 validation gates apply before any candidate above is promoted from Detect to Block: telemetry coverage confirmed, a 7-day benign baseline pulled for Q4 and Q8, and a positive test fired against each query in a controlled lab process rather than the live exploit chain.

16

Hunt Summary Ticket

TITLE: GRAYRABBIT backdoor via UNC3569 exploitation of Sogou Input Method (CVE-2026-51990)
SEVERITY: Critical - actively exploited in the wild, one-click RCE, nation-state / hacker-for-hire actor
SCOPE: Windows endpoints with Sogou Input Method installed, any version prior to 16.3.0.3498
HYPOTHESIS: UNC3569 is delivering crafted sgbiz: links that abuse unvalidated biz_helper.exe
  argument passing to reach SGMyInput.exe's sandboxless embedded Chromium 80 webview, exploiting
  CVE-2021-38003 for code execution, then side-loading a trojanized 7z.dll to deploy the
  GRAYRABBIT backdoor over an RC4-scrambled raw-TCP/443 C2 channel.
QUERIES: Q1-Q8 (Section 8); Q4 and Q5 are the highest-fidelity, C2-rotation-proof signals
DO FIRST: Run Q3 (hash sweep) and Q6/Q7 (C2 domain/IP) fleet-wide for immediate compromise
  triage, then Q1, Q2, Q4, Q5 for the exploitation and post-exploit behavioral chain.
FINDINGS: 
GAPS: No direct Falcon telemetry for the in-browser V8 exploitation stage, the in-process
  anti-sandbox process-count gate, or the NTFS ADS self-deletion technique (see Section 15).
ACTIONS: Patch Sogou Input Method to 16.3.0.3498+ or remove it; deploy AppLocker/WDAC path
  restriction on 7z.exe; stand up Q4/Q5 as Custom IOAs after a 2-week baseline.
OWNER: 
VERSION: v0.1 (Draft) - 2026-09-14
17

Changelog

v0.12026-09-14Initial draft HuntPack generated from Gen Digital (primary/originating research), The Hacker News, GBHackers, and BleepingComputer reporting on CVE-2026-51990, GRAYRABBIT, and UNC3569. Eight CQL hunt queries, native audit-log hunts, tiered hardening, two deployable playbooks, and a phased containment runbook.
18

References

TierSourceUsed ForAccess Date
1 - Primary / OriginatingGen Digital / Gen Threat Labs - "Gray Rabbits and the Tale of a One-Click Backdoor"Full exploit chain, all atomic IOCs, DLL naming lineage, anti-sandbox and C2 internals, disclosure timeline2026-09-14
2 - CorroboratingThe Hacker News - "China-Linked UNC3569 Exploited Sogou Input Method Flaw to Deploy GRAYRABBIT Backdoor"Actor attribution, IOC corroboration, patch details2026-09-14
2 - CorroboratingGBHackers - "China-Linked Hackers Exploit Sogou One-Click RCE to Deploy GRAYRABBIT Backdoor"Exploit chain and IOC corroboration, detection recommendations2026-09-14
2 - CorroboratingBleepingComputer - "Hackers exploit Tencent app flaw to deploy GrayRabbit malware"Capability summary and remediation timeline corroboration2026-09-14