← All hunts high TLP:CLEAR Part 1 of 2

SlippyNunchucks Sogou Update Hijack

An adversary has hijacked DNS resolution for Sogou Input Method update domains to deliver a malicious configuration, causing the legitimate SGTool.exe process to download and side-load the DarkVigil implant.

Based on research by ESET Research 2026-11-06 9 steps · 3 queries T1036.005 T1105 T1190 T1557 T1574.001 T1659

Brief

Why this hunt

ESET Research recently detailed a campaign by SlippyNunchucks (referenced in "SlippyNunchucks hijacks Sogou Input Method’s brand promotion mechanism") that exploits a vulnerability in the Sogou Input Method. The adversary performs DNS hijacking to intercept insecure HTTP requests. Instead of a legitimate configuration, the application receives instructions to fetch a malicious payload. Because the software is widely used in specific regions and legitimate updates occur frequently, simple detection rules often produce excessive noise.

How the hunt flows

The hunt begins with a scoping phase using software inventory data. The first step lists every host running the Sogou Input Method or Pinyin packages. We focus on versions below 16.10, as these are known to be vulnerable to the configuration hijacking reported by researchers. This narrow list focuses the more intensive telemetry queries that follow.

Next, the hunt enters a parallel execution phase. One query examines DNS activity to find Sogou domains resolving to unexpected infrastructure. We specifically look for resolutions pointing to known Alibaba-hosted staging IPs instead of Sogou's standard network. Simultaneously, another query monitors file activity from the SGTool.exe process. It identifies DLL or EXE files written by this process that appear on three or fewer hosts across the environment.

The final phase uses an agent to weigh the combined evidence. The agent correlates the timing of rogue DNS answers with the creation of rare files on the same host. This pivot is necessary because SGTool.exe normally writes files during legitimate updates. By checking for the specific combination of network anomalies and low-prevalence hashes, an analyst confirms whether a host is actually compromised or just receiving a routine software update.

What the hunt cannot see

This hunt relies on endpoint telemetry. If a host lacks an installed agent, its DNS queries and file system changes remain invisible, even if it is compromised. Additionally, the hunt detects the result of the DNS hijack but cannot identify the mechanism of the hijacking itself. Whether the adversary compromised a local router, an ISP, or used another man-in-the-middle technique at the network layer is outside the scope of endpoint-derived data.

Steps

  1. Identify Sogou Input Method installations

    Query · scoping

    Identify hosts that have Sogou software installed to scope subsequent queries.

    reads hb_software_inventorysql
    SELECT device_hostname, package_name, package_version FROM hb_software_inventory WHERE (LOWER(package_name) LIKE '%sogou%' OR LOWER(package_name) LIKE '%pinyin%')

    What a hit looks like. A list of hosts with Sogou software. Versions below 16.10 are vulnerable to the reported configuration hijacking.

  2. Detect DNS hijack of Sogou domains

    Query · detection candidate

    Identify if Sogou domains are resolving to attacker-controlled infrastructure.

    reads hb_dns_activitysql
    SELECT device_hostname, query_hostname, answers, time FROM hb_dns_activity WHERE (instr(',' || '{{sogou_domains}}' || ',', ',' || LOWER(query_hostname) || ',') > 0 OR instr(',' || '{{attacker_ips}}' || ',', ',' || answers || ',') > 0) AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')

    What a hit looks like. DNS answers containing the reported attacker IPs for legitimate Sogou domains. Silence suggests normal resolution.

  3. Identify rare binaries written by SGTool.exe

    Query · baseline

    Find rare DLL or EXE files written by the Sogou component manager to distinguish malware delivery from standard updates.

    reads hb_file_activitysql
    SELECT device_hostname, LOWER(file_path) AS path, file_name, file_hash_sha256, COUNT(DISTINCT device_hostname) AS host_count, MIN(time) AS first_seen FROM hb_file_activity WHERE LOWER(process_name) LIKE '%sgtool.exe' AND (LOWER(file_name) LIKE '%.dll' OR LOWER(file_name) LIKE '%.exe') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY device_hostname, file_path, file_name, file_hash_sha256 HAVING host_count <= 3 ORDER BY host_count ASC

    What a hit looks like. A file written by SGTool.exe that is present on very few hosts. Legitimate software updates should be prevalent across the estate.

  4. Weigh hijack and delivery evidence

    Agent triage

    Analyze the combined evidence to determine if a host has been successfully compromised via DNS hijacking.

  5. Route on triage verdict

    Decision

    Initiate response for confirmed infections or manual review for suspicious patterns.

  6. Isolate compromised host

    Response action

    Stop C2 traffic and prevent lateral movement.

  7. Analyst review and confirmation

    Analyst task

    Review indeterminate or suspicious findings to confirm if file writes represent legitimate updates or malicious hijacking.

  8. Close-out and documentation

    Analyst task

    Document findings and schedule follow-up actions for persistence checks.

Coverage

Scenario coverage

StageCoveredHow, or why not
DNS Hijacking and Configuration Injection
T1557 · T1659 · T1190
Yes dns-hijack-detection
Payload Delivery and DLL Side-Loading
T1574.001 · T1036.005 · T1105
Yes rare-sgtool-file-writes
Modular Plugin Storage
T1112
Out of scope Belongs to another part of the 'SlippyNunchucks hijacks Sogou Input Method’s brand promotion mechanism to distribute malware' series.
DarkVigil DMTP Communication
T1071.001 · T1573 · T1105
Out of scope Belongs to another part of the 'SlippyNunchucks hijacks Sogou Input Method’s brand promotion mechanism to distribute malware' series.
Data Exfiltration via Vigil Panel
T1041
Out of scope Belongs to another part of the 'SlippyNunchucks hijacks Sogou Input Method’s brand promotion mechanism to distribute malware' series.

Blind spots

  • Needs Endpoint agent on every host in scope. A host without an agent contributes no DNS or file activity rows, leaving it invisible to this hunt. It would answer Whether a host without an agent is resolving Sogou domains to rogue IPs..
  • Needs Router or ISP-level DNS logs. We see the results of the hijack but cannot identify the root cause of the network-level manipulation. It would answer How the DNS hijacking is being achieved (e.g., router compromise or ISP interception)..

Parameters & data

Parameters

ParameterTypeDefaultWhat it is
attacker_ipslist[ip]47.239.250.102, 47.237.122.175, 47.86.15.162, 47.236.254.159Known attacker-controlled staging and hijacking IPs.
lookback_daysnumber14Days of history to examine.
scope_hostslist[host]—Optional list of hostnames to focus the hunt; leave empty for fleet-wide.
sogou_domainslist[domain]config.pinyin.sogou.com, sogou-cdn.com, dev.soft-pnSogou update and configuration domains targeted for hijacking.

Telemetry

SourceCategoryTelemetry
Endpoint telemetry (hb_ surfaces)endpointendpoint

Source

Download hunt.md Definition (JSON) An open hunt.md file; it runs anywhere that reads the format.
---
analysis: A rule for SGTool.exe writing DLLs is noisy due to legitimate updates. This
  hunt correlates specific network resolution anomalies (Alibaba IPs for Tencent domains)
  with rare file creation events that stack-count hashes across the fleet.
blind_spots:
- id: endpoint-telemetry-gap
  question: Whether a host without an agent is resolving Sogou domains to rogue IPs.
  requires: Endpoint agent on every host in scope
  risk: A host without an agent contributes no DNS or file activity rows, leaving
    it invisible to this hunt.
  stage: initial-access-dns-hijack
- id: dns-vector-blindness
  question: How the DNS hijacking is being achieved (e.g., router compromise or ISP
    interception).
  requires: Router or ISP-level DNS logs
  risk: We see the results of the hijack but cannot identify the root cause of the
    network-level manipulation.
  stage: initial-access-dns-hijack
coverage:
- stage: initial-access-dns-hijack
  status: covered
  steps:
  - dns-hijack-detection
- stage: execution-dll-side-loading
  status: covered
  steps:
  - rare-sgtool-file-writes
- reason: "Belongs to another part of the 'SlippyNunchucks hijacks Sogou Input Method\u2019\
    s brand promotion mechanism to distribute malware' series."
  stage: persistence-registry-storage
  status: out_of_scope
- reason: "Belongs to another part of the 'SlippyNunchucks hijacks Sogou Input Method\u2019\
    s brand promotion mechanism to distribute malware' series."
  stage: command-and-control-dmtp
  status: out_of_scope
- reason: "Belongs to another part of the 'SlippyNunchucks hijacks Sogou Input Method\u2019\
    s brand promotion mechanism to distribute malware' series."
  stage: exfiltration-c2-channel
  status: out_of_scope
guardrails:
  claims: no_unsupported
  evidence: citation_required
  missing_data: not_benign
  telemetry: untrusted
hunt:
  applicability: campaign-specific
  handoff: promote-to-detection
  justification: SlippyNunchucks is an active China-aligned actor targeting organizations
    via AitM vectors. Detecting this DNS hijack is critical to stopping DarkVigil
    delivery before exfiltration.
  methodology: model-assisted
  trigger: intel-report
hypothesis: An adversary has hijacked DNS resolution for Sogou Input Method update
  domains to deliver a malicious configuration, causing the legitimate SGTool.exe
  process to download and side-load the DarkVigil implant.
labels:
- hunt
- attack.t1574.001
- attack.t1036.005
- attack.t1105
- attack.t1557
- attack.t1659
- attack.t1190
- command and control
- execution
- exfiltration
- initial access
- persistence
name: SlippyNunchucks Sogou Update Hijack
parameters:
  attacker_ips:
    default:
    - 47.239.250.102
    - 47.237.122.175
    - 47.86.15.162
    - 47.236.254.159
    description: Known attacker-controlled staging and hijacking IPs.
    from:
      kind: article
      observed: '2026-11-04'
      ref: eset-research
    type: list[ip]
  lookback_days:
    default: '14'
    description: Days of history to examine.
    type: number
  scope_hosts:
    default: []
    description: Optional list of hostnames to focus the hunt; leave empty for fleet-wide.
    type: list[host]
  sogou_domains:
    default:
    - config.pinyin.sogou.com
    - sogou-cdn.com
    - dev.soft-pn
    description: Sogou update and configuration domains targeted for hijacking.
    from:
      kind: article
      observed: '2026-11-04'
      ref: eset-research
    type: list[domain]
provenance:
  authors:
  - name: Huntbase hunt generation
    org: huntbase.io
  generated:
    by: huntbase-hunt-generation
    from: https://www.welivesecurity.com/en/eset-research/slippynunchucks-hijacks-sogou-input-methods-brand-promotion-mechanism-to-distribute-malware/
    gates:
    - dry-run
    - lint
    model: hb_google/gemini-3-flash-preview
rationale: Start with hosts running Sogou Pinyin, prioritizing South and East Asia
  regions. Use software inventory to narrow to versions before 16.10.
references:
- name: "ESET Research \u2014 SlippyNunchucks hijacks Sogou Input Method\u2019s brand\
    \ promotion mechanism"
  url: https://www.welivesecurity.com/en/eset-research/slippynunchucks-hijacks-sogou-input-methods-brand-promotion-mechanism-to-distribute-malware/
related:
- hunt: darkvigil-registry-persistence
  reason: This hunt targets the delivery; the follow-on identifies how the implant
    stores plugins in the registry.
  relation: follows
scenario:
  stages:
  - name: DNS Hijacking and Configuration Injection
    observables:
    - config.pinyin.sogou.com
    - 47.236.254.159
    - 47.237.122.175
    - 47.239.250.102
    - CVE-2026-120422
    slug: initial-access-dns-hijack
    tactic: initial-access
    techniques:
    - T1557
    - T1659
    - T1190
  - name: Payload Delivery and DLL Side-Loading
    observables:
    - SGTool.exe
    - libcef.dll
    - Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
    - sogou-cdn.com
    - Adobe binary renamed as Sogou component
    slug: execution-dll-side-loading
    tactic: execution
    techniques:
    - T1574.001
    - T1036.005
    - T1105
  - name: Modular Plugin Storage
    observables:
    - Compressed binaries stored in registry keys
    slug: persistence-registry-storage
    tactic: persistence
    techniques:
    - T1112
  - name: DarkVigil DMTP Communication
    observables:
    - blog.wangmen
    - update.msspr
    - img.fusfu
    - 47.86.15.162
    - Duplex Message Transport Protocol (DMTP)
    - dev.soft-pn
    slug: command-and-control-dmtp
    tactic: command-and-control
    techniques:
    - T1071.001
    - T1573
    - T1105
  - name: Data Exfiltration via Vigil Panel
    observables:
    - Vigil web administration panel
    - DMTP exfiltration traffic
    slug: exfiltration-c2-channel
    tactic: exfiltration
    techniques:
    - T1041
  summary: "SlippyNunchucks hijacks Sogou Input Method\u2019s branded vocabulary promotion\
    \ mechanism via DNS interception of insecure HTTP requests to deliver a malicious\
    \ configuration. This configuration triggers the download of the DarkVigil implant,\
    \ which is executed through DLL side-loading and maintains persistence by storing\
    \ modular plugins within the Windows Registry. Command and control is handled\
    \ via the custom Duplex Message Transport Protocol (DMTP) for tasking and data\
    \ exfiltration."
series:
  index: 1
  slug: slippynunchucks-hijacks-sogou-input-method-s-brand-promotion-mechanism-to-distribute-malware
  title: "SlippyNunchucks hijacks Sogou Input Method\u2019s brand promotion mechanism\
    \ to distribute malware"
  total: 2
severity: high
targets:
  analyst:
    name: Tier-2 analyst
    role: analyst
  endpoint:
    category: endpoint
    name: Endpoint telemetry (hb_ surfaces)
    telemetry:
    - endpoint
  hunter:
    agent: true
    name: Hunt agent
tlp: clear
type: investigation
---


# SlippyNunchucks Sogou Update Hijack

This hunt targets a sophisticated campaign where the SlippyNunchucks threat actor exploits insecure HTTP communications in Sogou Input Method (CVE-2026-120422). By hijacking DNS requests for Sogou's configuration domains, the attacker serves a malicious configuration that instructs the legitimate application to download payloads into directories used for DLL side-loading. The hunt identifies Sogou installations, detects anomalous DNS resolutions to infrastructure outside of Sogou's typical network (specifically targeting Alibaba-hosted staging areas), and corroborates these with rare file writes by the Sogou component manager SGTool.exe. An agent weighs the timing and prevalence of these indicators to identify compromised endpoints.

## sogou-inventory-scoping
<!-- Identify Sogou Input Method installations -->
Identify hosts that have Sogou software installed to scope subsequent queries.

```sqlite target=endpoint role=scoping
~~~yaml
expected: A list of hosts with Sogou software. Versions below 16.10 are vulnerable
  to the reported configuration hijacking.
reads:
- device_hostname
- package_name
- package_version
silence: not_evidence_of_absence
source: hb_software_inventory
verified: dry-run
verified_at: '2026-11-06'
~~~
SELECT device_hostname, package_name, package_version FROM hb_software_inventory WHERE (LOWER(package_name) LIKE '%sogou%' OR LOWER(package_name) LIKE '%pinyin%')
```

## corroborate-hijack
<!-- Corroborate hijack and delivery -->
parallel:
- → dns-hijack-detection
- → rare-sgtool-file-writes
join: → agent-triage

## dns-hijack-detection
<!-- Detect DNS hijack of Sogou domains -->
Identify if Sogou domains are resolving to attacker-controlled infrastructure.

```sqlite target=endpoint role=detection-candidate params=(sogou_domains=sogou_domains, attacker_ips=attacker_ips, scope_hosts=scope_hosts, lookback_days=lookback_days)
~~~yaml
expected: DNS answers containing the reported attacker IPs for legitimate Sogou domains.
  Silence suggests normal resolution.
reads:
- device_hostname
- query_hostname
- answers
- time
silence: not_evidence_of_absence
source: hb_dns_activity
verified: dry-run
verified_at: '2026-11-06'
~~~
SELECT device_hostname, query_hostname, answers, time FROM hb_dns_activity WHERE (instr(',' || '{{sogou_domains}}' || ',', ',' || LOWER(query_hostname) || ',') > 0 OR instr(',' || '{{attacker_ips}}' || ',', ',' || answers || ',') > 0) AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')
```

## rare-sgtool-file-writes
<!-- Identify rare binaries written by SGTool.exe -->
Find rare DLL or EXE files written by the Sogou component manager to distinguish malware delivery from standard updates.

```sqlite target=endpoint role=baseline params=(scope_hosts=scope_hosts, lookback_days=lookback_days)
~~~yaml
baseline:
  compare: first_seen
  window: '{{lookback_days}}d'
expected: A file written by SGTool.exe that is present on very few hosts. Legitimate
  software updates should be prevalent across the estate.
prevalence:
  by: device_hostname
  key:
  - file_hash_sha256
  rare_below: 3
reads:
- device_hostname
- file_path
- file_name
- file_hash_sha256
- time
silence: not_evidence_of_absence
source: hb_file_activity
verified: dry-run
verified_at: '2026-11-06'
~~~
SELECT device_hostname, LOWER(file_path) AS path, file_name, file_hash_sha256, COUNT(DISTINCT device_hostname) AS host_count, MIN(time) AS first_seen FROM hb_file_activity WHERE LOWER(process_name) LIKE '%sgtool.exe' AND (LOWER(file_name) LIKE '%.dll' OR LOWER(file_name) LIKE '%.exe') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY device_hostname, file_path, file_name, file_hash_sha256 HAVING host_count <= 3 ORDER BY host_count ASC
```

## agent-triage
<!-- Weigh hijack and delivery evidence -->
```agent target=hunter
cite: required
context:
- dns-hijack-detection
- rare-sgtool-file-writes
max_iterations: 6
objective: Determine if the DNS resolution of Sogou domains to known attacker IPs
  (specifically Alibaba infrastructure) and the subsequent rare file writes by SGTool.exe
  indicate a successful SlippyNunchucks infection.
success_criteria: A per-host verdict of malicious | suspicious | benign, citing the
  DNS answers and the rare file paths.
tools:
- endpoint
```

## route-on-verdict
<!-- Route on triage verdict -->
if~: "the agent-triage verdict is malicious for at least one host" (confidence: high, judge=hunter)
then: → isolate-host
indeterminate: → analyst-review
unavailable: → analyst-review (blind_spot: endpoint-telemetry-gap)
else: → close-out

## isolate-host
<!-- Isolate compromised host -->
```action target=endpoint
~~~yaml
approval: required
~~~
Isolate the host immediately. Collect the rare DLL/EXE files identified by the hunt for forensic analysis, then remove the payloads and the SGTool.exe binary.
```
→ analyst-review

## analyst-review
<!-- Analyst review and confirmation -->
```manual target=analyst
Review the DNS answers and geolocate the IPs. Confirm if the written DLL is one of the reported names (libcef.dll, Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll) or if its PE metadata matches the reported Adobe binary renaming.
```
→ close-out

## close-out
<!-- Close-out and documentation -->
```manual target=analyst
Record the results. If infections were found, pivot to the follow-on hunt for registry-based plugin persistence. Ensure all Sogou installations are updated to version 16.10.
```
→ end

Run it

Take this hunt into your environment.

Open it in Huntbase to run every step against your own connections, with Scout weighing the evidence and your analysts in command. Or take the open hunt.md file anywhere that reads the format.

Machine-drafted by huntbase-hunt-generation using hb_google/gemini-3-flash-preview, gated by dry-run, lint, then reviewed by a person.

Locked pack

Sign up to unlock

Pack contents are available to Huntbase users.