Back to Intelligence

PolinRider Supply-Chain Infostealer, Clop LEMURLOOT Implant & Settra Ransomware: OTX Pulse Analysis — Credential Theft Detection Pack

SA
Security Arsenal Team
September 18, 2026
9 min read

Threat Summary

Five live pulses from AlienVault OTX converge on a single dominant theme: industrial-scale credential harvesting and extortion across supply chains, edge devices, and end users.

  • PolinRider is conducting a multi-ecosystem software supply-chain campaign. Operators compromised a maintainer GitHub account to poison development builds of visanduma/nova-two-factor — a Packagist package with 700,000+ downloads — and are replicating the technique across npm, PyPI, Go modules, and Chrome extensions using Git history rewriting to hide malicious commits.
  • Clop (TA505-adjacent) has returned to mass exploitation, weaponizing CVE-2026-12569 in PTC Windchill to drop a custom Java web shell/implant (tracked alongside DEWMODE and LEMURLOOT tooling) with built-in credential harvesting, database enumeration, and exfiltration — a purpose-built data-theft platform targeting manufacturing.
  • Settra ransomware intrusions leverage VPN access or compromised credentials, then deploy MeshAgent RMM for persistence — a living-off-the-land pattern that bypasses many EDR allowlists.
  • BlackHatSect0r && DXQRTXX, a French-speaking crew, exposed an operation server revealing a Go-based C2 platform (DXSCAN) that harvested 16,834 credentials from 726,989 hosts across 2.7 million queued domains — with an AI agent deliberately stripped of safety controls to automate exploitation of 8 known CVEs (F5 BIG-IP, Laravel, VMware vCenter, and others).
  • A concurrent T-Mobile smishing campaign uses rotating t-mobile.*.top lookalike domains and fake 18,400-point expiry lures to steal consumer credentials — a reminder that bulk credential harvesting feeds the same underground markets that seed enterprise initial access.

Collectively: initial access brokers and extortion crews are scaling credential theft through trusted developer ecosystems and internet-facing PLM/VPN infrastructure. Stolen credentials from consumer smishing and mass-scanning operations are fungible — they become tomorrow's enterprise VPN logins.

Threat Actor / Malware Profile

PolinRider (Supply-Chain Infostealer)

  • Distribution: Compromised maintainer accounts on GitHub/Packagist; Git history rewriting to conceal malicious commits; cross-ecosystem replication (npm, PyPI, Go, Chrome extensions).
  • Payload behavior: Malicious code injected into dev branches of legitimate packages; executes during dependency install/build; harvests developer machine credentials, tokens, SSH keys, and environment secrets.
  • C2: IPv4 infrastructure on low-reputation ASNs (166.88.134.62, 23.27.13.135, 166.88.73.46, 193.247.144.38).
  • Anti-analysis: Commit history rewriting removes forensic evidence; payloads ship only in development versions to avoid release-tag scrutiny.

Clop — LEMURLOOT / DEWMODE Web Implant

  • Distribution: Mass exploitation of CVE-2026-12569 (PTC Windchill), consistent with prior MOVEit (CVE-2023-34362) and Accellion-era tradecraft.
  • Payload behavior: Custom Java web shell with built-in credential harvesting and database enumeration — no follow-on tooling required; immediate data-theft capability for extortion-only campaigns.
  • Persistence: Web shell resident on the application server; survives until patched/removed.

Settra Ransomware + MeshAgent

  • Access: VPN exploitation or compromised credentials.
  • Persistence: Legitimate MeshAgent RMM installed as a service; ransomware executables named after victim domains; recovery inhibition and BYOVD techniques observed.

DXSCAN (BlackHatSect0r && DXQRTXX)

  • Go-based C2 tasking mass exploitation of CVE-2020-5902, CVE-2021-3129, CVE-2021-22986, CVE-2021-29447, CVE-2022-22947, CVE-2022-1388, CVE-2018-15133, CVE-2023-46747; vishing and cloud-storage exploitation augment the pipeline.

IOC Analysis

TypeExamplesOperationalization
IPv4 (C2/exfil)166.88.134.62, 23.27.13.135, 193.247.144.38, 193.5.65.114Block at egress firewall/proxy; retro-hunt netflow and DNS logs 90 days
Hostnames (phishing)t-mobile.biktpw.top, t-mobile.koxetp.top (+6 more)DNS sinkhole; alert on any resolution; expect domain rotation — wildcard-watch t-mobile.*.top
File hashes (SHA256/SHA1/MD5)7d47c430…, 321e1fb0…, 71a7b6b8…Load into EDR blocklists; cross-check package build artifacts and Windchill webroot
CVEsCVE-2026-12569, CVE-2023-34362, CVE-2022-1388, CVE-2023-46747, CVE-2021-3129Emergency patch prioritization for Windchill, F5 BIG-IP, Laravel, VMware vCenter

Tooling: Sigma rules deploy via your SIEM pipeline; IOCs ingest into MISP/ThreatConnect; hash lookups via VirusTotal Enterprise; package integrity verification via Socket.dev/Snyk for dependency tree auditing.

Detection Engineering

YAML
---
title: PolinRider Malicious Package Install and C2 Beaconing
id: a1f3c8d2-9e4b-4c7a-b6d1-2026091801
status: experimental
description: Detects developer workstation credential access followed by egress to known PolinRider C2 infrastructure after package manager execution.
author: Security Arsenal Threat Intel
references:
  - https://socket.dev/blog/polinrider-github-packagist
logsource:
  category: network_connection
  product: windows
detection:
  selection_ip:
    DestinationIp:
      - 166.88.134.62
      - 23.27.13.135
      - 166.88.73.46
      - 193.247.144.38
  filter_tools:
    Image|endswith:
      - '\svchost.exe'
      - '\explorer.exe'
  condition: selection_ip and not filter_tools
fields:
  - Image
  - DestinationIp
  - DestinationPort
  - User
falsepositives:
  - Legitimate hosting providers on shared IP space
level: high
tags:
  - attack.command_and_control
  - attack.t1071
  - attack.t1195.002
---
title: MeshAgent RMM Install as Persistence Mechanism (Settra Ransomware TTP)
id: b2e4d9f1-7a3c-4d8b-c5e2-2026091802
status: experimental
description: Detects installation or execution of MeshAgent RMM tooling, observed as Settra ransomware persistence. Tune to known-good RMM deployments.
author: Security Arsenal Threat Intel
references:
  - https://www.huntress.com/blog/new-settra-ransomware-variant
logsource:
  category: process_creation
  product: windows
detection:
  selection_img:
    Image|endswith:
      - '\MeshAgent.exe'
      - '\meshagent.exe'
  selection_service:
    CommandLine|contains:
      - 'meshagent'
      - 'meshcentral'
  condition: selection_img or selection_service
fields:
  - Image
  - CommandLine
  - ParentImage
  - User
falsepositives:
  - Organizations legitimately using MeshCentral for remote management
level: medium
tags:
  - attack.persistence
  - attack.t1219
  - attack.t1543.003
---
title: Clop LEMURLOOT Web Shell Activity on PTC Windchill Server
id: c3f5e0a2-8b4d-4e9c-d6f3-2026091803
status: experimental
description: Detects web server process spawning shells or database clients consistent with the Clop custom Windchill web shell implant (CVE-2026-12569).
author: Security Arsenal Threat Intel
references:
  - https://reliaquest.com/blog/clop-returns-with-custom-implant-in-mass-extortion-campaign
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith:
      - '\java.exe'
      - '\javaw.exe'
      - '\tomcat.exe'
      - '\w3wp.exe'
  selection_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\sqlcmd.exe'
      - '\whoami.exe'
      - '\net.exe'
  condition: selection_parent and selection_child
fields:
  - ParentImage
  - Image
  - CommandLine
  - User
falsepositives:
  - Application server maintenance scripts
level: critical
tags:
  - attack.execution
  - attack.t1505.003
  - attack.t1190
KQL — Microsoft Sentinel / Defender
// Multi-pulse hunt: PolinRider C2, Settra MeshAgent persistence, Clop web shell, smishing DNS
let PolinRiderC2 = dynamic(["166.88.134.62","23.27.13.135","166.88.73.46","193.247.144.38"]);
let SettraC2 = dynamic(["193.5.65.114"]);
let SmishingDomains = dynamic(["t-mobile.biktpw.top","t-mobile.cugbjl.top","t-mobile.cymfjd.top","t-mobile.gdikxv.top","t-mobile.hdzcnb.top","t-mobile.koxetp.top","t-mobile.nxdcfp.top","t-mobile.pkrbai.top"]);
let NetworkHits = DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| where RemoteIP in (PolinRiderC2) or RemoteIP in (SettraC2) or RemoteUrl has_any (SmishingDomains)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemoteUrl, RemotePort;
let RMMHits = DeviceProcessEvents
| where TimeGenerated > ago(30d)
| where FileName =~ "MeshAgent.exe" or ProcessCommandLine has_any ("meshagent","meshcentral")
| project TimeGenerated, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessFileName;
let WebShellHits = DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFileName in~ ("java.exe","javaw.exe","tomcat.exe","w3wp.exe")
| where FileName in~ ("cmd.exe","powershell.exe","sqlcmd.exe","whoami.exe","net.exe")
| project TimeGenerated, DeviceName, AccountName, InitiatingProcessFileName, FileName, ProcessCommandLine;
union NetworkHits, RMMHits, WebShellHits
| sort by TimeGenerated desc
PowerShell
# PolinRider / Settra / Clop host-hunt script — run via EDR live response or GPO
title = "Security Arsenal IOC Hunt - 2026-09-18"
$report = @()

# 1. Check active/recent connections to known C2 IPs
$c2 = @("166.88.134.62","23.27.13.135","166.88.73.46","193.247.144.38","193.5.65.114")
$conns = Get-NetTCPConnection -ErrorAction SilentlyContinue | Where-Object { $c2 -contains $_.RemoteAddress }
foreach ($c in $conns) { $report += "[C2-CONN] PID $($c.OwningProcess) -> $($c.RemoteAddress):$($c.RemotePort) state=$($c.State)" }

# 2. MeshAgent persistence: services, scheduled tasks, install dirs
$svc = Get-CimInstance Win32_Service -ErrorAction SilentlyContinue | Where-Object { $_.PathName -match "meshagent|meshcentral" }
foreach ($s in $svc) { $report += "[RMM-SVC] $($s.Name): $($s.PathName)" }
$tasks = Get-ScheduledTask -ErrorAction SilentlyContinue | Where-Object { $_.Actions.Execute -match "meshagent" }
foreach ($t in $tasks) { $report += "[RMM-TASK] $($t.TaskName)" }
foreach ($p in @("$env:ProgramFiles\Mesh Agent","$env:ProgramData\MeshAgent","C:\Program Files (x86)\Mesh Agent")) {
    if (Test-Path $p) { $report += "[RMM-DIR] $p exists" }
}

# 3. PolinRider package artifact hashes in node_modules / vendor / build caches
$hashes = @("7d47c430e6e404dc2fa8b4837678d1cbdb4d0aeacec9b405655cab79d54a2ad9",
            "b7ede935d4979146b55f12b9eec7c83b61962b478f5dc9b8db251e539ec2abd3",
            "ccb187dc9de0cc7477c9817ae53365d273e121407c0305f863e2ab67c35d6395",
            "139ea03dcddf4aa810d55740be3cf6c92ce7a9f3cbcbbb35440e25b769a87683",
            "321e1fb01eb3462b48ff6ccdef132acc1182e3f7456548439f0d4ead12fd98bf")
$searchRoots = @("$env:USERPROFILE\source","$env:USERPROFILE\projects","D:\builds")
foreach ($root in $searchRoots) {
    if (Test-Path $root) {
        Get-ChildItem $root -Recurse -File -Include *.js,*.php,*.py,*.go -ErrorAction SilentlyContinue |
          ForEach-Object {
            $h = (Get-FileHash $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash
            if ($hashes -contains $h.ToLower()) { $report += "[MAL-HASH] $($_.FullName) sha256=$h" }
          }
    }
}

# 4. Web shell artifacts in common webroots (Windchill/Tomcat/IIS)
foreach ($wr in @("C:\inetpub\wwwroot","C:\Program Files\Apache Software Foundation","C:\ptc\Windchill")) {
    if (Test-Path $wr) {
        $recent = Get-ChildItem $wr -Recurse -Include *.jsp,*.jspx,*.aspx,*.war -ErrorAction SilentlyContinue |
                  Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-30) }
        foreach ($f in $recent) { $report += "[WEB-NEW] $($f.FullName) modified $($f.LastWriteTime)" }
    }
}

# 5. DNS cache check for smishing domains
$dns = Get-DnsClientCache -ErrorAction SilentlyContinue | Where-Object { $_.Entry -match "t-mobile\..*\.top" }
foreach ($d in $dns) { $report += "[PHISH-DNS] $($d.Entry) -> $($d.Data)" }

if ($report.Count -eq 0) { "No hits. Host appears clean for 2026-09-18 IOC set." }
else { $report | Sort-Object }

Response Priorities

Immediate (0–4 hours)

  • Block all five C2 IPs at egress firewall, proxy, and EDR network protection; sinkhole the eight t-mobile.*.top smishing domains and alert on any t-mobile.*.top DNS pattern.
  • Push the six file hashes into EDR blocklists; scan build caches, artifact repositories, and developer workstations.
  • Audit composer.lock/dependency manifests for visanduma/nova-two-factor development-branch pulls; check Git history for rewritten commits (git log --all, reflog anomalies, force-push events).
  • Inventory PTC Windchill exposure; if internet-facing and unpatched against CVE-2026-12569, isolate now.

24 Hours

  • Credential rotation: PolinRider, DXSCAN, and the Clop implant all harvest credentials at scale. Force rotation for developer secrets (SSH keys, API tokens, CI/CD secrets), VPN credentials, and any service accounts on Windchill hosts. Revoke active sessions.
  • Search IdP/VPN logs for anomalous authentications correlating with the smishing campaign window (May–September 2026) — harvested consumer creds often overlap with corporate reuse.
  • Audit installed RMM tooling against an approved list; remove unauthorized MeshAgent and investigate who installed it.
  • Patch F5 BIG-IP (CVE-2020-5902, CVE-2021-22986, CVE-2022-1388, CVE-2023-46747), Laravel (CVE-2021-3129, CVE-2018-15133), and VMware vCenter (CVE-2021-29447) — DXSCAN is mass-scanning these today.

1 Week

  • Supply-chain hardening: Enforce signed commits and 2FA for all maintainers; pin dependencies to release versions with hash verification; deploy dependency-firewall tooling (Socket, Snyk) to block typosquatted or freshly modified packages.
  • RMM allowlisting: Implement application control (WDAC/AppLocker) permitting only sanctioned remote-management tools — RMM abuse is now standard ransomware tradecraft.
  • Edge/PLM segmentation: Move Windchill and similar PLM systems behind VPN/ZTNA; add virtual patching via WAF for CVE-2026-12569 until vendor patch is deployed and validated.
  • Deploy the Sigma rules and KQL query above into production detections with tuned allowlists; run retro-hunts across 90 days of network telemetry.

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.