Back to Intelligence

2CLoader, Vidar, Remus & MadApe: Credential-Theft Campaigns, Supply-Chain SSH Backdoor and Zimbra Exploitation — OTX Enterprise Detection Pack

SA
Security Arsenal Team
October 30, 2026
9 min read

The latest AlienVault OTX pulses reveal a converged set of campaigns whose common denominator is identity and credential compromise:

  • 2CLoader is a new anti-analysis loader distributing Vidar and Remus infostealers plus XWorm RAT. It uses payload encryption, indirect syscalls via the Hell's Gate technique, and anti-VM/anti-debug checks before beaconing to C2 infrastructure such as https://aware-cr1.com/api/beacon. Objective: bulk credential, browser, and session-token theft followed by RAT-based follow-on access.
  • A trojanized Claude Code extension (v2.1.313) in the Cursor Marketplace was compromised on 2026-10-29. A 66-line loader injects an attacker SSH key labeled svc-telemetry into authorized_keys, enables local SSH, and opens a reverse tunnel — a classic developer-machine supply-chain backdoor that yields long-term code-signing and repo credential access.
  • CVE-2026-73570 (unauthenticated OS command injection in Zimbra Collaboration Suite's SNMP notification path) is being actively exploited to drop China Chopper, Godzilla, Looptik, and NeedyMantis JSP webshells on internet-facing mail servers — a direct path to mailbox content, stored credentials, and internal phishing infrastructure.
  • MadApe, a Microsoft Device Code phishing kit, abuses the legitimate device-code OAuth flow via business-themed PDF lures and redirect chains (565 indicators, Israel-focused) to hijack Microsoft 365 sessions without ever collecting a password.
  • Kairos, a Go-based Linux DDoS botnet spreading via Telnet with default/empty root credentials, rounds out the set — a reminder that weak credential hygiene converts directly into criminal infrastructure.

Collectively, these pulses depict a credential-theft ecosystem: steal tokens and passwords on endpoints (Vidar/Remus via 2CLoader), hijack developer workstations through trusted tooling, exploit mail servers for webshell persistence, and bypass MFA-adjacent controls through OAuth device-code abuse.

Threat Actor / Malware Profile

2CLoader → Vidar / Remus / XWorm

  • Distribution: loader-dropped stealer and RAT payloads, first observed August 2026.
  • Payload behavior: Vidar/Remus harvest browser credentials, cookies, crypto wallets, and files; XWorm provides remote control.
  • Evasion: anti-VM, anti-debug, user-activity checks; indirect syscalls via Hell's Gate and inline trampoline hooks to bypass EDR user-mode hooks; payload encryption.
  • C2: HTTPS beacons (e.g., aware-cr1.com/api/beacon).
  • Persistence: typically Run keys / scheduled tasks established by the final payload.

Trojanized Claude Code Extension (supply chain)

  • Distribution: compromised version 2.1.313 on Cursor Marketplace (2026-10-29).
  • Payload behavior: 66-line loader prepended to extension.js; writes attacker key svc-telemetry into ~/.ssh/authorized_keys; attempts to enable SSH services; establishes a reverse SSH tunnel.
  • Persistence: SSH key-based, survives reinstalls of the extension.
  • Target: technology-sector developers — high-value code-signing and cloud credentials.

CVE-2026-73570 — Zimbra SNMP Command Injection

  • Vector: unauthenticated OS command injection via Zimbra's SNMP notification path; exploited between patch (2026-07-20) and public disclosure (2026-08-13).
  • Post-exploitation: JSP webshells (China Chopper, Godzilla, Looptik, NeedyMantis), reverse shells, privilege escalation.
  • C2/infra: psk1zim.abrdns.com, tls.psk1zim.abrdns.com.

MadApe Device Code Phishing Kit

  • Method: multi-stage phishing — business PDFs → configurable redirect chains → fake document-sharing pages → abuse of Microsoft's device code authentication flow; no password ever harvested, defeating password-only defenses.
  • Scale/targeting: 565 indicators; observed targeting Israel; Microsoft 365 session-token theft.

Kairos DDoS Botnet

  • Access: Telnet brute force using default root / empty passwords on Linux devices.
  • Behavior: opens hundreds-to-thousands of TCP connections with minimal keepalive bytes to exhaust services (slow TCP flood).

IOC Analysis

The pulses carry a mixed indicator set: file hashes (SHA256/SHA1/MD5 — 2CLoader/Vidar/Remus samples, trojanized extension builds, webshells, Kairos binaries), URLs (2CLoader C2 beacon path), hostnames (Zimbra exploitation infra: *.abrdns.com), domains (MadApe phishing redirect/landing domains such as sucdens.com, cepoffices.com, zakosta.info), and a CVE (CVE-2026-73570).

Operationalization guidance for SOC teams:

  • Hashes → EDR/AV blocklists. Import SHA256 values into your EDR reputation lists; MD5/SHA1 are weaker but still useful for legacy AV matching.
  • Domains/hostnames → DNS & proxy blocking. Sinkhole or deny MadApe domains and *.abrdns.com at the resolver; alert on historical lookups (Passive DNS) to identify pre-block exposure.
  • URL paths → proxy/SWG content rules. Alert on /api/beacon patterns to unknown hosts — loader beaconing frequently uses benign-looking API paths.
  • CVE → vulnerability management + WAF/virtual patch. Any unpatched Zimbra instance with SNMP notification path exposed is compromised until proven otherwise; assume breach and hunt for JSP webshells in the webroot.
  • Tooling: MISP/OpenCTI for indicator management, oletools/capa for sample triage, YARA for hash-independent family matching, and Sigma/KQL (below) for behavioral coverage.

Detection Engineering

YAML
---
title: 2CLoader / Vidar / Remus C2 Beaconing to Suspicious API Path
id: 9f1c2a11-2c10-4a10-9a10-2cl0ader0001
status: experimental
description: Detects outbound HTTPS beaconing matching 2CLoader-delivered Vidar/Remus/XWorm C2 infrastructure observed in OTX pulse data.
author: Security Arsenal
references:
  - https://www.zscaler.com/blogs/security-research/2cloader-new-malware-loader-delivering-vidar-and-remus
date: 2026/10/30
logsource:
  category: proxy
  product: zeek
detection:
  selection_host:
    cs-host: 'aware-cr1.com'
  selection_path:
    cs-uri-query|contains: '/api/beacon'
  condition: selection_host or selection_path
falsepositives:
  - Legitimate APIs using /api/beacon naming (rare; whitelist known apps)
level: high
tags:
  - attack.command_and_control
  - attack.t1071.001
---
title: Suspicious SSH Key Insertion by Non-System Process (Trojanized Extension Backdoor)
id: 8a7b6c55-ssh0-4bck-9d00-extb0ckd0002
status: experimental
description: Detects writes to authorized_keys by editors/extensions or script interpreters, consistent with the trojanized Claude Code extension 'svc-telemetry' SSH backdoor.
author: Security Arsenal
references:
  - https://opensourcemalware.com/blog/trojanized-claude-code-extension-plants-persistent-ssh-backdoor
date: 2026/10/30
logsource:
  category: file_event
  product: windows
detection:
  selection_target:
    TargetFilename|endswith:
      - '\.ssh\authorized_keys'
      - '/.ssh/authorized_keys'
  selection_img:
    Image|endswith:
      - '\node.exe'
      - '\Code.exe'
      - '\Cursor.exe'
      - '\powershell.exe'
      - '\cmd.exe'
  condition: all of selection_*
falsepositives:
  - DevOps automation deploying keys (restrict to approved management hosts)
level: high
tags:
  - attack.persistence
  - attack.t1098.004
  - attack.t1195.002
---
title: Zimbra Webserver Spawning Shell — CVE-2026-73570 Post-Exploitation
id: 7c6d5e44-z1mb-4r4a-w3b5-h3llinj0003
status: experimental
description: Detects Java/Zimbra processes spawning shells or script interpreters, consistent with unauthenticated command injection and JSP webshell (China Chopper/Godzilla/Looptik) deployment.
author: Security Arsenal
references:
  - https://www.microsoft.com/en-us/security/blog/2026/09/30/unauthenticated-command-injection-on-internet-facing-mail-servers-tracking-cve-2026-73570/
date: 2026/10/30
logsource:
  category: process_creation
  product: linux
detection:
  selection_parent:
    ParentImage|endswith:
      - '/java'
      - '/zmmailboxd'
  selection_child:
    Image|endswith:
      - '/bash'
      - '/sh'
      - '/dash'
      - '/python'
      - '/perl'
      - '/curl'
      - '/wget'
  condition: all of selection_*
falsepositives:
  - Zimbra maintenance scripts (review parent command line)
level: critical
tags:
  - attack.execution
  - attack.t1190
  - attack.t1505.003
KQL — Microsoft Sentinel / Defender
// Security Arsenal — Unified hunt: 2CLoader/Vidar C2, MadApe phishing infra, Zimbra exploitation, SSH backdoor
let MadApeDomains = dynamic(["sucdens.com","cepoffices.com","zakosta.info","nsboards.com","adastraerrans.com","travestiilan.com","nysndigital.com","powerlivings.com"]);
let ZimbraC2 = dynamic(["psk1zim.abrdns.com","tls.psk1zim.abrdns.com"]);
let C2Hosts = dynamic(["aware-cr1.com"]);
let NetworkHits =
    DeviceNetworkEvents
    | where Timestamp > ago(14d)
    | where RemoteUrl has_any (MadApeDomains) or RemoteUrl has_any (ZimbraC2) or RemoteUrl has_any (C2Hosts)
    | project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP, RemotePort
    | extend Hunt = "Network-IOC";
let ProcessHits =
    DeviceProcessEvents
    | where Timestamp > ago(14d)
    | where (InitiatingProcessFileName has_any ("java","zmmailboxd") and FileName in~ ("bash","sh","dash","python","perl","curl","wget"))
       or ProcessCommandLine has_any ("authorized_keys","svc-telemetry","Hell","devicecode")
    | project Timestamp, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine, SHA256
    | extend Hunt = "Process-Behavior";
union NetworkHits, ProcessHits
| sort by Timestamp desc
PowerShell
# Security Arsenal — Multi-pulse IOC & artifact hunt (run elevated on endpoints/servers)
# Covers: 2CLoader/Vidar/Remus hashes, trojanized extension SSH backdoor, Zimbra webshell infra, MadApe phishing domains
$ErrorActionPreference = 'SilentlyContinue'

$hashes = @(
  '06185d74edbdc06f99095e96f74aa2e49a1cda2d02a294c11a9ac35a0231075e',
  '246717653bc2ae2e09036bac56c9d79940c652972a73f4c6aa9b925c28cce095',
  '1337ed6fe9c6205b569670a40eab42b51ba69c5c1724d61474e8595acd90ecfb',
  '2d43d592630ad1e012da63ef7279f95dd4a8e94964e12ca2f996051875574fa6',
  '066d83b98a2081e0bb075c94376aebc9b0fd6499025cab1762d83bbb4d7576c6',
  '18756b75afedee74bbf49832a1b1dada4961672c41d595be5c1bbe75709de927',
  '7e0a52885fadee05544a9e99eb18c792bec05900a5e1a66d68f8383decb0e278',
  'ecb58cb29078d9646ad1dcdbe51526f2d9cfea06be5fb2ab183e8ecc3ab6bf15',
  'dee5af1c0f76b45d28bafd6e60c07bb8e391d98addf81ef8f13d073acdb3c48a',
  'aea991f694911e321b0ab97534f2ad0291c392c0a43dabff664c563618bd036d'
)

$badDomains = @('aware-cr1.com','sucdens.com','cepoffices.com','zakosta.info','nsboards.com','adastraerrans.com','travestiilan.com','nysndigital.com','powerlivings.com','psk1zim.abrdns.com')

Write-Host "=== [1] User-profile hash sweep (Downloads/Desktop/Temp) ===" -ForegroundColor Cyan
Get-ChildItem "$env:USERPROFILE\Downloads","$env:USERPROFILE\Desktop","$env:TEMP" -Recurse -File -ErrorAction SilentlyContinue |
  ForEach-Object { $h = (Get-FileHash $_.FullName -Algorithm SHA256).Hash
    if ($hashes -contains $h) { Write-Host "[HIT] $($_.FullName)  $h" -ForegroundColor Red } }

Write-Host "=== [2] Trojanized extension artifacts: authorized_keys / svc-telemetry ===" -ForegroundColor Cyan
Get-ChildItem "$env:USERPROFILE\.ssh\authorized_keys","C:\Users\*\.ssh\authorized_keys" -ErrorAction SilentlyContinue |
  ForEach-Object { $c = Get-Content $_.FullName
    if ($c -match 'svc-telemetry') { Write-Host "[HIT] Backdoored key in $($_.FullName)" -ForegroundColor Red } }
Get-ChildItem "$env:USERPROFILE\.cursor\extensions" -Recurse -Filter extension.js -ErrorAction SilentlyContinue |
  ForEach-Object { if ((Get-Content $_.FullName -Raw) -match 'authorized_keys|svc-telemetry') {
    Write-Host "[HIT] Suspicious extension loader: $($_.FullName)" -ForegroundColor Red } }

Write-Host "=== [3] Persistence check: Run keys & scheduled tasks with script interpreters ===" -ForegroundColor Cyan
Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run','HKLM:\Software\Microsoft\Windows\CurrentVersion\Run' |
  Out-String | Select-String -Pattern 'powershell|wscript|mshta|rundll32' -AllMatches |
  ForEach-Object { Write-Host "[REVIEW] $($_.Line)" -ForegroundColor Yellow }
Get-ScheduledTask | Where-Object { $_.Actions.Execute -match 'powershell|wscript|mshta' } |
  ForEach-Object { Write-Host "[REVIEW] Task: $($_.TaskName) -> $($_.Actions.Execute)" -ForegroundColor Yellow }

Write-Host "=== [4] Network IoC check: active & cached connections to C2/phishing domains ===" -ForegroundColor Cyan
Get-NetTCPConnection -State Established |
  ForEach-Object { try { $r = Resolve-DnsName -Name $_.RemoteAddress -ErrorAction Stop } catch { $null } } | Out-Null
Get-DnsClientCache | Where-Object { $e=$_.Entry; $badDomains | Where-Object { $e -like "*$_*" } } |
  ForEach-Object { Write-Host "[HIT] DNS cache: $($_.Entry) -> $($_.Data)" -ForegroundColor Red }

Write-Host "=== Hunt complete. Investigate any [HIT] entries immediately. ===" -ForegroundColor Green

Response Priorities

Immediate (0–4h)

  • Block all listed domains/hostnames at DNS, proxy, and EDR network layers: aware-cr1.com, *.abrdns.com, and all MadApe phishing domains; import all file hashes into EDR block policy.
  • Sweep for the three trojanized-extension SHA256 hashes and audit every developer machine's ~/.ssh/authorized_keys for the svc-telemetry key; rotate any key found and treat the host as compromised.
  • Identify all internet-facing Zimbra instances; if unpatched against CVE-2026-73570, isolate and forensically image before patching — webshells (China Chopper/Godzilla/Looptik) must be hunted in the webroot.

24 hours

  • Force password and session-token revocation for any user whose host matches 2CLoader/Vidar/Remus indicators — infostealers exfiltrate browser sessions, so revoke OAuth refresh tokens and invalidate web sessions, not just passwords.
  • Audit Microsoft 365 sign-in logs for device code flow authentications from unusual geographies (MadApe); revoke suspicious refresh tokens and require re-authentication.
  • Rotate developer credentials: code-signing keys, cloud access tokens, and repository credentials on any host that ran extension v2.1.313.

1 week

  • Enforce phishing-resistant MFA (FIDO2/passkeys) — device-code phishing defeats password+OTP flows but not bound hardware authenticators; disable device-code flow where not required.
  • Establish an allowlist/marketplace-verification process for IDE extensions; monitor extension update channels for hash drift.
  • Patch Zimbra fleet-wide, disable the SNMP notification path if unused, and deploy WAF virtual patching for internet-facing mail infrastructure.
  • Remediate Telnet exposure and default/empty root credentials on all Linux/IoT assets (Kairos vector); move management to key-authenticated SSH.

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.