Web Development

Fake PuTTY in Google Search: How Attackers Trick IT Admins with a Trojanized Installer

Cartoon of IT admin viewing fake PuTTY download

IT administrators hunting for a trusted SSH client on Google can be lured to a convincing fake download page that drops a trojanized installer. The malicious MSI appears to install the legitimate PuTTY executable so the program opens and looks normal, while a stealthy Node.js-based loader runs in the background and connects to attacker-controlled infrastructure. Because the visible application behaves as expected and the bundled PuTTY binary is signed, many users may assume the installer is safe — but the real danger is the hidden multi-stage payload that can give attackers persistent, highly flexible remote control.

How the attack works

The lure begins with search-engine optimization and a lookalike website that mimics PuTTY’s official download page. When an administrator clicks the fake download, the site serves an MSI named Putty-x86_64.msi hosted on a Backblaze B2 bucket. Running the installer drops several files into a folder under the user’s AppDataLocal directory and launches putty.exe (a legitimate, signed PuTTY 0.85 build) to disguise the infection.

Behind the scenes, a batch script runs silently, checks for Node.js, and fetches the official Node.js 18.20.5 runtime if it’s absent. A small JScript stub then starts Node.js with an obfuscated JavaScript payload that becomes the attacker’s real launcher. Because Node.js itself is legitimate, simple checks for a benign runtime or for a signed executable can be misleading — the malicious behavior is contained within the JavaScript executed by Node.

Technical detail: EtherHiding and modular C2

Rather than hardcoding a single command-and-control (C2) URL, the JavaScript loader uses a technique researchers call “EtherHiding.” It queries an Ethereum smart contract through multiple public RPC endpoints, compares the responses, and selects the most common valid URL as the active C2 server. The loader repeats this lookup every five minutes, making static blocklists less effective. Once a C2 is chosen, the loader checks in frequently (about every 500 ms), fetching seemingly innocuous assets — images, CSS, icons — with filenames and extensions that blend into normal web traffic. If the response is non-trivial, the data is executed by the Node.js runtime, allowing the operator to push new JavaScript instructions for reconnaissance, exfiltration, and even near-real-time screen capture.

Observed capabilities and attacker goals

Unit 42’s analysis shows the campaign can collect rich system telemetry (OS, AV products, domain status, graphics hardware, and SMB sessions), harvest browser profiles and cookies, install WebSocket components, and run PowerShell routines that capture desktop screenshots at a high frame rate. The attacker’s ability to send new JavaScript means post-infection functionality can be updated without distributing a fresh installer, creating a highly modular and persistent foothold well-suited to targeting administrators who have privileged access and stored credentials.

Why IT teams should care

This campaign is not exploiting a vulnerability in PuTTY — it exploits trust. Administrators frequently download and install utilities, and a trusted-looking application window plus a signed binary can lower suspicion. Because infected machines may hold active remote sessions, saved access tokens, and privileged connections to internal infrastructure, a successful compromise of an admin workstation can be catastrophic.

Practical defensive steps include:

  • Direct staff to verified download locations (PuTTY’s official site) and maintain an approved software portal for commonly used admin tools.
  • Monitor for node.exe or similar runtime processes launching from user AppData folders, especially when invoked with unusual arguments (e.g., referencing an .ini file).
  • Inspect MSI installers that create the campaign’s named files or staging folders.
  • Look for outbound traffic to Ethereum RPC endpoints from endpoints that should not contact those services.
  • Integrate threat intelligence feeds containing the IoCs below into SIEM and blocking tools.

Indicators of compromise (IoCs):-

Type Indicator
Fake PuTTY site puty[.]ink
Redirect domain putredirhelps[.]online
Observed fallback C2 presanis[.]com
MSI hosting pattern hxxps[:]//<id>.s3.us-east-005.backblazeb2[.]com/
Observed Backblaze bucket mnb61ak51
Ethereum reader contract 0x89F5664d6fD8d990FA04F53253Be4855ed481A74
Function selector 0x7d434425
Contract-call campaign argument 0x4e7b6e29ab5f4c01e3b9f86a3558a2d99ae0cbaf
Campaign build ID 1835187f-121a-4103-832f-24649a461cac
Ethereum RPC endpoints mainnet.gateway.tenderly[.]co; rpc.flashbots[.]net; rpc.mevblocker[.]io; eth-mainnet.public.blastapi[.]io; ethereum-rpc.publicnode[.]com; eth.drpc[.]org; eth.merkle[.]io
C2 request path /api/<4-byte-hex>/<client-UUID>/<4-byte-hex>.<png|jpg|gif|css|ico|webp>?<key>=<build-id>
MSI filename Putty-x86_64.msi
Loader files 44JYYsqg.cmd; BdbEinqaL7.js; k3TjneJGcwI7.ini
Staging folder C:Users<user>AppDataLocalidejDHjFnNXb
Node.js runtime path C:Users<user>AppDataLocalidejDHjFnNXbvXA8Jjnode.exe
Installer window title KS2FyWDqck
SHA-256 — malicious MSI b59d9c911f11ddbe5ac0cd7e2e6e311093a44ac31453b5cab801c31f6a170750
SHA-256 — batch loader 71049ac72adad0c0c4c7a0763a4a9c806ba0687e7146237174d6252b45fb39db
SHA-256 — JScript trampoline d5197f58b4c2d760f61f7cf0ff9e2a78fcaade12a05057d6e33e8e84c3be084d
SHA-256 — JavaScript payload cbc1f7909cb2460e4fb371f3159ea00a167eb4feefea2011f1f6eae3a3449ec6

Closing thoughts

This campaign is a reminder that supply-chain and distribution attacks increasingly rely on social engineering and infrastructure hiding techniques rather than zero-day software flaws. For defenders, the priority is reducing opportunities for users to install software from unvetted sources, monitoring for atypical runtime behavior from benign-sounding processes, and using threat intelligence to detect and block follow-up activity quickly.

Leave a Reply

Your email address will not be published. Required fields are marked *

You Might Also Like
Bitwarden CLI Compromised in Supply Chain Attack via GitHub Actions

Bitwarden CLI Compromised in Supply Chain Attack via GitHub Actions

Socket and other researchers have confirmed that the Bitwarden CLI package published…

Apr 24, 2026 · 4 min read High Match
WordPress Imagick RCE (CVE-2026-65640): What Site Owners Need to Know

WordPress Imagick RCE (CVE-2026-65640): What Site Owners Need to Know

WordPress has just released a security-focused update — version 7.0.4 — to…

Aug 13, 2026 · 4 min read Related
70% of WordPress Sites Running Outdated PHP Versions, Leaving Millions Exposed

70% of WordPress Sites Running Outdated PHP Versions, Leaving Millions Exposed

A recent analysis of publicly accessible WordPress installations has revealed a startling…

Jul 8, 2026 · 5 min read Related
Photo ZIP Campaign Targets Hospitality Industry with Node.js Implant for Persistent Access

Photo ZIP Campaign Targets Hospitality Industry with Node.js Implant for Persistent Access

Microsoft Threat Intelligence has identified an active, multi-stage intrusion campaign that has…

Jun 26, 2026 · 6 min read Related
How the Google Gemini CLI Flaw Turned CI/CD Pipelines into Remote Code Execution Risk

How the Google Gemini CLI Flaw Turned CI/CD Pipelines into Remote Code Execution Risk

A critical remote code execution (RCE) vulnerability in the Google Gemini CLI…

Apr 30, 2026 · 4 min read Related
How a Flippa Purchase Turned 30+ “Essential Plugin” WordPress Plugins into Backdoor Bait

How a Flippa Purchase Turned 30+ “Essential Plugin” WordPress Plugins into Backdoor Bait

Last week I encountered a supply-chain incident that felt eerily familiar but…

Apr 14, 2026 · 7 min read Related
Critical Flaw in User Registration Membership Plugin (CVE-2026-1492) Lets Attackers Bypass WordPress Authentication

Critical Flaw in User Registration Membership Plugin (CVE-2026-1492) Lets Attackers Bypass WordPress Authentication

A newly disclosed vulnerability in a popular WordPress plugin can allow attackers…

Apr 13, 2026 · 4 min read Related
Critical RCE in Ninja Forms File Upload Exposes ~50,000 WordPress Sites

Critical RCE in Ninja Forms File Upload Exposes ~50,000 WordPress Sites

A recently disclosed vulnerability in the popular Ninja Forms “File Upload” addon…

Apr 7, 2026 · 5 min read Related
🧰

Free Tools: IP, DNS, SSL

20+ free network and other tools in one place. No signup.

Explore Tools