How Malware Uses Blockchain Dead Drops to Rotate C2 Infrastructure

· Original article ↗

Summary

A practitioner guide explains how eight malware families across EVM, Solana, and TON use blockchain dead drops to retrieve C2 pointers, and how defenders can investigate RPC calls and identify suspicious process activity.

Key points

  • Malware retrieves changeable C2 pointers from public blockchain infrastructure, making takedowns harder and letting operators redirect deployed loaders without changing the malware.
  • EVM malware uses read-only eth_call requests; Solana variants can retrieve payloads from transaction memos, while TON loaders can query smart contracts for domains.
  • Examples include DeadLock ransomware, GlassWorm, and the ChainDrop npm compromise, which affected more than 440 packages in August 2026.
  • ChainDrop's dropped bun binary queried Ethereum RPC providers; the article says the contract's stored value has since been cleared.
  • For investigation, examine the RPC URL, contract address, function selector, decoded result, and calling process; non-browser processes such as node, bun, or curl can help distinguish malware from benign crypto activity.
  • Netskope says its IPS offers threat-hunting rules for blockchain DDR RPC patterns and provides a set of IOCs.

Article Details

Defense Focus
Detect and investigate malware that retrieves command-and-control pointers through blockchain dead drop resolvers, distinguishing malicious loader activity from benign crypto traffic.
Detection Methods
  • Correlate the RPC URL, contract address, function selector, and decoded response for suspicious blockchain RPC calls.
  • Decode the contract response to identify a C2 URL, IP address, domain, JavaScript, or bash command; treat a 0x response as potentially stale because the value may have been rotated.
  • Use process context to distinguish suspicious activity: the article identifies non-browser processes such as node, bun, or curl making these calls as evidence of malware, while browser or wallet activity may be benign.
  • Use the article's one-liner pattern to query a suspicious loader's contract and retrieve its current dead-drop value.
Data Sources
  • Network traffic or Intrusion Prevention System alerts for blockchain RPC calls
  • RPC URL, contract address (to field), and function selector (first four bytes of data)
  • Decoded RPC result
  • Calling-process context
Rule Types
  • Netskope One Threat Protection Intrusion Prevention System Threat Hunting rules for blockchain DDR RPC patterns; specific rule format is not stated.
Platforms
  • Netskope One Threat Protection Intrusion Prevention System
Defensive Actions
  • Extract the RPC URL, contract address, function selector, and decoded result from a relevant alert.
  • Check whether a non-browser process made the call and decoded a C2 pointer.
  • Block the live C2 value recovered from the decoded response and pivot on it.
  • Re-query suspicious contracts when the response is 0x, since operators may have rotated or cleared the stored value.

Indicators of compromise

TypeIndicatorContext
DOMAINnjzlopghznkamkl[.]cfdRefreshed C2 domain returned by the TONResolver dead-drop example.
URLhxxp[:]//137[.]184[.]198[.]91/R2dIXAJpSXwxPC2 URL returned by the GlassWorm Solana memo dead-drop example.
URLhxxp[:]//83[.]97[.]20[.]150Plaintext C2 URL returned by the TroyDen Polygon dead-drop example.

Malware

Vendors

Products

Related Articles