Back to Intelligence

Silent Lynx (YoroTrooper) Exposed: Laplas, Chvost & PickleShell Espionage Toolkit — OTX Pulse Analysis & Detection Pack

SA
Security Arsenal Team
November 11, 2026
11 min read

Classification: TLP:WHITE | Threat Level: HIGH | Sector Focus: Government, Transportation, Defense, Telecommunications


Threat Summary

An exposed open directory attributed to Silent Lynx — a Central Asia-focused cyber-espionage cluster assessed to overlap with the activity tracked as YoroTrooper — has given researchers an unusually deep look into a live nation-state-aligned intrusion set. The directory contained operational tooling, exfiltrated data from active intrusions, and — notably — an AI agent used by the operator to scale collection and likely assist with translation, triage, or social-engineering content generation across multiple target languages.

The campaign remains active through October 2026 and is laser-focused on Central Asia and the surrounding region: Armenia, Kyrgyzstan, Pakistan, Tajikistan, Turkmenistan, and Uzbekistan. Victimology is consistent with strategic intelligence collection: government correspondence harvested at scale, persistent access inside transportation networks (rail and logistics infrastructure), defense entities, and telecommunications providers — the latter enabling upstream surveillance and potential traffic manipulation.

The operational attack chain follows the established Silent Lynx/YoroTrooper playbook:

  1. Initial Access — Spearphishing with malicious archives (RAR/ZIP) and LNK-based loaders, frequently masquerading as official government or diplomatic documents in Russian and regional languages.
  2. Execution & Staging — Multi-stage droppers deliver the Laplas stealer and Chvost implant, often wrapped in obfuscated Python/.NET loaders.
  3. Persistence — Scheduled tasks and registry Run keys disguised as legitimate system components.
  4. Collection & Exfiltration — Browser credentials, cookies, documents, and correspondence are staged and exfiltrated to actor infrastructure, with PickleShell (Python pickle-deserialization backdoor) providing an interactive fallback channel.
  5. Long-Term Access — Persistent implants inside transport and telecom networks enable ongoing espionage rather than smash-and-grab theft.

The objective is unambiguous: sustained strategic espionage against government and critical-infrastructure entities in the Central Asian theater, with particular interest in transport networks and diplomatic correspondence.


Threat Actor / Malware Profile

Silent Lynx / YoroTrooper (Adversary)

A Central Asia-oriented espionage actor active since at least 2022, characterized by commodity-grade tooling combined with disciplined regional targeting. The group favors Russian-language lure documents, abuses legitimate file-hosting for staging, and cycles infrastructure across Eastern European and Central Asian hosting providers. The discovery of an operator-side AI agent in the exposed directory signals an evolution: machine-assisted processing of stolen correspondence and likely AI-augmented phishing content generation.

Laplas (Clipper/Stealer)

  • Distribution: Delivered via phishing archives and loader implants; frequently bundled alongside other stealers.
  • Payload behavior: Harvests browser credentials, cookies, cryptocurrency wallets, and clipboard data; includes clipper functionality that swaps copied wallet addresses with actor-controlled ones.
  • C2 communication: HTTPS POST to hardcoded C2 endpoints, exfiltrating staged ZIP archives.
  • Persistence: Typically non-persistent (single-run smash-and-grab), relying on companion implants for longevity.
  • Anti-analysis: String obfuscation, packed .NET payloads, sandbox-aware sleep delays.

Chvost (Implant/Loader)

  • Distribution: Second-stage payload dropped by LNK/VBS loaders from spearphishing attachments.
  • Payload behavior: Modular downloader/backdoor; profiles host (hostname, OS, AV products), retrieves follow-on modules.
  • C2 communication: Beaconing over HTTP/S to actor VPS infrastructure (e.g., the 89.125.213.123 / 134.17.14.24 nodes).
  • Persistence: Scheduled tasks mimicking system update jobs; registry Run keys under HKCU\Software\Microsoft\Windows\CurrentVersion\Run.
  • Anti-analysis: Environment checks, Base64/XOR-encoded configuration blobs, delayed execution.

PickleShell (Python Backdoor)

  • Distribution: Deployed to high-value compromised hosts as an interactive access channel.
  • Payload behavior: Leverages Python pickle deserialization to execute arbitrary commands; functions as a lightweight reverse shell.
  • C2 communication: Raw socket or HTTP-based command channel; small, low-and-slow tasking consistent with hands-on-keyboard espionage.
  • Persistence: Survives via the persistence established by Chvost or standalone scheduled tasks invoking python.exe/pythonw.exe with encoded payloads.
  • Anti-analysis: Lives off legitimate Python interpreters; payload stored as Base64 blobs, evading static signature detection.

IOC Analysis

The pulse provides 19 indicators across three types:

TypeIndicatorsOperational Context
IPv489.125.213.123 (AS25441, IE — Imagine Communications), 134.17.14.24 (AS25106, BY — Mobile TeleSystems JLLC)C2 / staging servers on European & Belarusian hosting; consistent with actor VPS rotation
Domainforeverpeace.ruActor-registered domain, likely used for C2 resolution, lure hosting, or document-tracking links
File HashesMD5 d3e3d99b077a4193b1d93b604b096456, SHA1 b9eda9b9a780e91a3f99334df3ce508ca6fb32fa, SHA256 efc1bbb873e9b691657a66e987b0ea87c454bb16e89126d1a41bcaa9bae9fab1All three hashes describe the same sample (per indicator descriptions) — a single Laplas/Chvost-family binary; triangulate across hash types for legacy tooling

How SOC teams should operationalize these:

  • Network controls: Block the two IPv4 indicators at the perimeter (egress firewall, web proxy, DNS sinkhole for foreverpeace.ru). Note the duplicate indicators with enriched ASN/country metadata — deduplicate before import to avoid rule bloat.
  • DNS telemetry: Query historical DNS (PassiveTotal, SecurityTrails, internal Infoblox) for foreverpeace.ru resolutions to identify internal hosts that resolved it, even if connections were blocked.
  • EDR retro-hunt: Sweep for the SHA256 across all endpoints going back 90+ days; the MD5/SHA1 variants allow matching in tooling that hasn't migrated to SHA256.
  • Threat intel platforms: Ingest the pulse into MISP/OpenCTI with the central asia, espionage, laplas, chvost, pickleshell tags for correlation against future pulses.
  • Enrichment tooling: OTX DirectConnect API, otx Python SDK, or curl "https://otx.alienvault.com/api/v1/indicators/file/<sha256>/general" for pivot analysis.

Detection Engineering

YAML
---
title: Silent Lynx PickleShell Python Deserialization Execution
id: 8f2c1a3e-7b4d-4e9a-a1c5-2d6f8b3e9a01
status: experimental
description: Detects suspicious Python interpreter execution consistent with PickleShell backdoor usage — python/pythonw spawned with Base64-encoded or pickle-related arguments, commonly deployed by Silent Lynx/YoroTrooper as an interactive espionage channel.
references:
    - https://otx.alienvault.com/pulse/
    - https://www.cloudsek.com/blog/off-the-rails-inside-an-exposed-silent-lynx-server
author: Security Arsenal Threat Intelligence
date: 2026/11/12
tags:
    - attack.execution
    - attack.t1059.006
logsource:
    category: process_creation
    product: windows
Detection:
    selection_image:
        Image|endswith:
            - '\python.exe'
            - '\pythonw.exe'
    selection_cmd:
        CommandLine|contains:
            - 'pickle.loads'
            - 'cPickle'
            - '__reduce__'
            - 'base64.b64decode'
            - 'import pickle'
            - ' -c '
    condition: selection_image and selection_cmd
falsepositives:
    - Legitimate Python development or automation scripts
degree: high
---
title: Silent Lynx Laplas Chvost Persistence via Scheduled Task or Run Key
id: 1a7d3f92-4c5e-4b8a-9d2e-6f1a3c8e5b02
status: experimental
description: Detects persistence mechanisms used by Chvost and Laplas implants — scheduled task creation or registry Run key modification pointing to payloads in user-writable directories (AppData, Temp, ProgramData), as observed in Silent Lynx operations against Central Asian targets.
references:
    - https://www.cloudsek.com/blog/off-the-rails-inside-an-exposed-silent-lynx-server
author: Security Arsenal Threat Intelligence
date: 2026/11/12
tags:
    - attack.persistence
    - attack.t1053.005
    - attack.t1547.001
logsource:
    category: process_creation
    product: windows
Detection:
    selection_schtasks:
        Image|endswith: '\schtasks.exe'
        CommandLine|contains: '/create'
    selection_reg:
        Image|endswith:
            - '\reg.exe'
            - '\regedit.exe'
        CommandLine|contains:
            - 'CurrentVersion\Run'
    selection_paths:
        CommandLine|contains:
            - '\AppData\Roaming\'
            - '\AppData\Local\Temp\'
            - '\ProgramData\'
            - '%APPDATA%'
            - '%TEMP%'
    condition: (selection_schtasks or selection_reg) and selection_paths
falsepositives:
    - Software installers and enterprise deployment tools
degree: medium
---
title: Silent Lynx C2 Communication to Known Infrastructure
id: 5c9e2b41-8a3f-4d7c-b6e1-9f4a2d7c3e03
status: experimental
description: Detects network connections to known Silent Lynx/YoroTrooper C2 infrastructure identified in OTX pulse — IPv4 addresses 89.125.213.123 and 134.17.14.24 and domain foreverpeace.ru used for Laplas/Chvost beaconing and exfiltration.
references:
    - https://www.cloudsek.com/blog/off-the-rails-inside-an-exposed-silent-lynx-server
author: Security Arsenal Threat Intelligence
date: 2026/11/12
tags:
    - attack.command_and_control
    - attack.t1071.001
logsource:
    category: network_connection
    product: windows
Detection:
    selection_ip:
        DestinationIp:
            - '89.125.213.123'
            - '134.17.14.24'
    selection_domain:
        DestinationHostname|contains: 'foreverpeace.ru'
    condition: selection_ip or selection_domain
falsepositives:
    - None expected; these are confirmed adversary infrastructure
degree: critical
KQL — Microsoft Sentinel / Defender
// Silent Lynx / YoroTrooper Hunt — C2, Persistence, and Python Backdoor Behavior
// Microsoft Sentinel / Defender XDR — run over last 30 days minimum
let maliciousIPs = dynamic(["89.125.213.123", "134.17.14.24"]);
let maliciousDomain = "foreverpeace.ru";
let iocHits = DeviceNetworkEvents
    | where TimeGenerated > ago(30d)
    | where RemoteIP in (maliciousIPs)
       or RemoteUrl has maliciousDomain
    | project IoCMatch="Network-C2", TimeGenerated, DeviceName, RemoteIP, RemoteUrl,
              RemotePort, InitiatingProcessFileName, InitiatingProcessCommandLine, AccountName;
let pythonBackdoor = DeviceProcessEvents
    | where TimeGenerated > ago(30d)
    | where FileName in~ ("python.exe", "pythonw.exe", "py.exe")
    | where ProcessCommandLine has_any ("pickle", "b64decode", "__reduce__", "-c ")
       or (ProcessCommandLine matches regex @"[A-Za-z0-9+/]{100,}={0,2}")
    | project IoCMatch="PickleShell-Behavior", TimeGenerated, DeviceName,
              InitiatingProcessFileName, ProcessCommandLine, AccountName, FileName;
let persistenceArtifacts = DeviceProcessEvents
    | where TimeGenerated > ago(30d)
    | where (FileName =~ "schtasks.exe" and ProcessCommandLine has "/create")
         or (FileName in~ ("reg.exe", "regedit.exe") and ProcessCommandLine has "CurrentVersion\\Run")
    | where ProcessCommandLine has_any ("AppData", "ProgramData", "%TEMP%", "%APPDATA%")
    | project IoCMatch="Persistence-Behavior", TimeGenerated, DeviceName,
              InitiatingProcessFileName, ProcessCommandLine, AccountName, FileName;
union iocHits, pythonBackdoor, persistenceArtifacts
| summarize FirstSeen=min(TimeGenerated), LastSeen=max(TimeGenerated),
            HitCount=count(), Artifacts=make_set(IoCMatch)
            by DeviceName, AccountName
| order by HitCount desc;
PowerShell
# Silent Lynx / YoroTrooper IOC Hunt Script
# Checks: network connections, Run keys, scheduled tasks, and file hash presence
# Run as Administrator on suspected endpoints. Output: console + CSV artifact.

$ErrorActionPreference = 'SilentlyContinue'
$report = @()

Write-Host "[+] Silent Lynx / YoroTrooper Hunt — $(Get-Date)" -ForegroundColor Cyan

# --- 1. Active & historical network connections to C2 infrastructure ---
$c2IPs = @('89.125.213.123', '134.17.14.24')
Write-Host "[*] Checking network connections to known C2 IPs..." -ForegroundColor Yellow
$conns = Get-NetTCPConnection | Where-Object { $c2IPs -contains $_.RemoteAddress }
foreach ($c in $conns) {
    $proc = Get-Process -Id $c.OwningProcess
    $report += [PSCustomObject]@{
        Check = 'Network-C2'; Status = 'HIT'; Host = $env:COMPUTERNAME
        Detail = "$($proc.ProcessName) (PID $($c.OwningProcess)) -> $($c.RemoteAddress):$($c.RemotePort) [$($c.State)]"
    }
}

# --- 2. DNS cache check for foreverpeace.ru ---
Write-Host "[*] Checking DNS cache for foreverpeace.ru..." -ForegroundColor Yellow
$dns = Get-DnsClientCache | Where-Object { $_.Entry -like '*foreverpeace.ru*' }
foreach ($d in $dns) {
    $report += [PSCustomObject]@{
        Check = 'DNS-Cache'; Status = 'HIT'; Host = $env:COMPUTERNAME
        Detail = "$($d.Entry) -> $($d.Data)"
    }
}

# --- 3. Registry Run keys pointing to user-writable paths (Chvost persistence) ---
Write-Host "[*] Auditing Run keys for suspicious persistence..." -ForegroundColor Yellow
$runKeys = @(
    'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
    'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run'
)
foreach ($key in $runKeys) {
    Get-ItemProperty -Path $key | ForEach-Object {
        $_.PSObject.Properties | Where-Object {
            $_.Name -notmatch '^PS' -and
            $_.Value -match 'AppData|Temp|ProgramData|python'
        } | ForEach-Object {
            $report += [PSCustomObject]@{
                Check = 'RunKey'; Status = 'REVIEW'; Host = $env:COMPUTERNAME
                Detail = "$key :: $($_.Name) = $($_.Value)"
            }
        }
    }
}

# --- 4. Scheduled tasks executing from user-writable paths ---
Write-Host "[*] Auditing scheduled tasks for Chvost-style persistence..." -ForegroundColor Yellow
Get-ScheduledTask | ForEach-Object {
    $task = $_
    $task.Actions | Where-Object {
        $_.Execute -match 'AppData|Temp|ProgramData|python' -or $_.Arguments -match 'AppData|Temp|b64'
    } | ForEach-Object {
        $report += [PSCustomObject]@{
            Check = 'SchedTask'; Status = 'REVIEW'; Host = $env:COMPUTERNAME
            Detail = "$($task.TaskName) :: $($_.Execute) $($_.Arguments)"
        }
    }
}

# --- 5. File hash sweep in high-risk directories ---
$targetHash = 'efc1bbb873e9b691657a66e987b0ea87c454bb16e89126d1a41bcaa9bae9fab1'
Write-Host "[*] Sweeping for known Laplas/Chvost sample hash..." -ForegroundColor Yellow
$searchPaths = @("$env:APPDATA", "$env:LOCALAPPDATA\Temp", "$env:ProgramData", "$env:USERPROFILE\Downloads")
foreach ($path in $searchPaths) {
    Get-ChildItem -Path $path -Recurse -File -Include *.exe,*.dll,*.py,*.ps1,*.lnk -ErrorAction SilentlyContinue | ForEach-Object {
        $hash = (Get-FileHash -Path $_.FullName -Algorithm SHA256).Hash
        if ($hash -eq $targetHash) {
            $report += [PSCustomObject]@{
                Check = 'FileHash'; Status = 'HIT'; Host = $env:COMPUTERNAME
                Detail = "MALWARE SAMPLE FOUND: $($_.FullName)"
            }
        }
    }
}

# --- Output ---
if ($report.Count -gt 0) {
    $report | Format-Table -AutoSize | Out-String -Width 300 | Write-Host -ForegroundColor Red
    $report | Export-Csv -Path ".\silentlynx_hunt_$(Get-Date -Format 'yyyyMMdd_HHmm').csv" -NoTypeInformation
    Write-Host "[!] $($report.Count) findings exported to CSV. Escalate HIT items to IR immediately." -ForegroundColor Red
} else {
    Write-Host "[OK] No Silent Lynx indicators found on $env:COMPUTERNAME." -ForegroundColor Green
}

Response Priorities

Immediate (0–4 hours)

  • Block 89.125.213.123, 134.17.14.24, and foreverpeace.ru at egress firewall, web proxy, and DNS layers; add SHA256 efc1bbb873e9b691657a66e987b0ea87c454bb16e89126d1a41bcaa9bae9fab1 to EDR blocklists.
  • Retro-hunt proxy, firewall, and DNS logs for 90+ days for any contact with the C2 infrastructure — the group maintains persistent access, so historical hits likely indicate active compromise.
  • Execute the PowerShell hunt script against endpoints in government-facing, transportation, telecom, and defense business units first.
  • Isolate any host with a confirmed C2 connection or hash match; capture memory before remediation for forensic analysis of PickleShell's in-memory footprint.

24 Hours

  • Force credential resets for all users on any host showing Laplas execution artifacts — Laplas harvests browser-stored credentials, session cookies, and cryptocurrency wallets. Prioritize privileged and VPN-capable accounts.
  • Revoke active sessions/tokens (OAuth, SSO, cloud consoles) for affected users; cookie theft enables session hijacking that survives password resets.
  • Review outbound data volumes from identified hosts — this actor exfiltrates government correspondence at scale; quantify exposure for disclosure obligations.
  • Audit Python interpreter usage across the fleet; alert on python.exe/pythonw.exe spawning from Office processes, LNK files, or scheduled tasks.

1 Week

  • Harden email gateway against LNK-in-archive delivery: block or detonate RAR/ZIP attachments containing .lnk, .vbs, .js, .hta; enforce Mark-of-the-Web propagation.
  • Restrict script interpreters via WDAC/AppLocker — constrain Python and PowerShell execution for non-administrative users, directly blunting PickleShell and loader staging.
  • Deploy the Sigma rules above into production SIEM with 30-day lookback baselining; tune the persistence rule against known software-deployment tooling.
  • Segment transportation/OT and telecom management networks from general IT — persistent access to transport networks is this actor's signature objective; assume dwell time and hunt laterally.
  • Brief regional executives and government-affairs teams on AI-augmented phishing risk: the operator's AI agent suggests highly convincing, localized lure content. Update phishing simulations accordingly.

Related Resources

Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.