← All field notes
ransomwareseo poisoningactive directoryfor responders

A poisoned search result to domain ransomware: why the top result is not a trust signal and cutting C2 is only half the job

A user searches for a common admin tool, clicks the top result, and installs a trojanized build that turns out to be a loader. It beacons to a command-and-control framework and hands the session to a hands-on operator who dumps credentials, moves laterally, and stages ransomware across the domain. Here is how one trusted click becomes domain-wide ransomware and why containment means cutting the C2 and burning the credential base, not scanning the laptop.

A ransomware intrusion that starts on a search-engine result teaches a lesson responders keep relearning: the way in is trust abuse, and the entry point is not the incident. A user searched for a common IT utility, clicked the top-ranked result, and installed it. That build was a loader. What followed was a command-and-control handoff, credential theft, lateral movement, and a ransomware payload staged domain-wide. By the time anyone noticed, deleting the download fixed almost nothing.

How it works

The delivery is search-engine and malvertising trust abuse. An attacker poisons the ranking for a common tool or buys a malicious ad, so a look-alike download site sits at or near the top of the results. The user clicks the result they trust and gets a trojanized installer named like the real tool. That installer is a loader: it runs quietly and spawns a signed living-off-the-land binary to execute an encoded command, so there is no obvious malware alert (T1189, Drive-by Compromise, at the delivery step and T1059, Command and Scripting Interpreter, at execution).

The loader then beacons over HTTPS to a command-and-control framework on a periodic interval and hands the session to a human operator (T1071, Application Layer Protocol). This is the pivot most defenders miss. The automated stage is quiet and short; the moment a hands-on operator takes the keyboard, the intrusion becomes adaptive. The operator reads LSASS to harvest cached credentials (T1003, OS Credential Dumping), finds a privileged account, and authenticates over RDP and SMB admin shares to interior hosts and toward a domain controller (T1021, Remote Services). Data is archived for exfiltration, then the ransomware encryptor is staged to shares for domain-wide detonation (T1486, Data Encrypted for Impact).

Why a search result becomes ransomware

Two properties turn one trusted click into a domain-wide event.

The first is the trust abuse itself. Users are trained to be wary of email attachments and links, but a top search result carries an implicit trust that ranking equals legitimacy. It does not. Search ranking and paid placement are both gameable, so the download the user chose deliberately is the malicious one. That is why awareness and endpoint controls at the download and execution step are the cheap prevention here, far cheaper than the response.

The second is the credential base. Once the loader and C2 land, the prize is not the laptop. A privileged credential harvested from LSASS is authority over the directory, and it works from anywhere until you invalidate it. Deleting the loader and running antivirus does nothing to that credential. The operator, now hands-on, uses it to move to hosts you have not looked at yet. You quarantine the file, you feel contained, and you are not.

How to detect it

The execution signal is process lineage. A freshly installed utility has no business spawning a signed LOLBin to run an encoded command and then beaconing on a fixed interval to an unfamiliar host. That lineage, plus regular-interval HTTPS beacons, plus a shift into interactive command execution, is the loader-to-operator handoff. An unfamiliar download domain, higher disk usage, and a generic potentially-unwanted-program alert are noisy and will not tell you much on their own.

After the handoff, the signal is the sequence: an LSASS read on the beachhead, then a privileged logon originating from a host that had no business producing one. Correlate the EDR process and network telemetry with Windows authentication events (a 4624 network or RDP logon and a 4672 privileged logon from the beachhead). Add a large outbound transfer to unfamiliar storage and you are watching the pre-encryption phase in real time.

How to contain and shut it down

This is the part people get wrong. Deleting the loader and scanning the laptop closes nothing, because a live operator already holds a C2 session and harvested credentials. Isolating the one host you found is not containment. It takes two moves at once:

  • Isolate the beachhead in EDR and cut the command-and-control destination at the proxy or firewall to sever the live operator session.
  • Treat the entire credential base the operator could have read as burned. Disable and rotate every exposed credential, especially any privileged account harvested from the host.
  • Scope the lateral movement by correlating EDR telemetry with authentication events (4624/4672) to map where the stolen credential actually authenticated in the operator window.
  • If the encryptor was staged, clear every copy, re-enable defenses, and reset the domain’s Kerberos signing material so harvested or forged tickets die before you restore.

Then recover in the right order. Burn the credentials and clear the staged payload before restoring data, or you restore into a live intrusion. And scope honestly: data was archived for exfiltration before any encryption, so this is a reportable event regardless of whether the encryptor fully ran. Obligations follow the scoped data exposure, not the cheapness of the initial click.

Eradication closes the class, not the one download. Restrict software installs to vetted sources, alert on installer-spawned LOLBins and fixed-interval beaconing, and train users that a top search result is not a trust signal.

Practice it

We built this as a scenario in GraphLattice Range: a poisoned search result serving a trojanized installer, a loader-to-C2 handoff, a hands-on operator dumping credentials and moving laterally, and ransomware staged for domain-wide detonation. It forces the non-obvious call under time pressure. Delete the download and scan the laptop, or cut the C2 and treat the credential base as burned. Teams that have made that call in a drill make it faster when it is real.