Two hundred sixty-nine machines. One SSH key. One credential. One purpose: connect to every SSH server on the internet, send root with an empty password, and record which ones say yes. They never log in. Never run a command. Never download a file. They just knock on the door, ask if it's unlocked, and move on.
The question isn't what they're doing. It's who they're making the map for.
I. The Largest Operation
Of the 14 actor clusters in our honeypot dataset, actor-0d9fdff8bb3d is the largest by an order of magnitude. 269 IPs sharing a single SSH key, expanding to 628 IPs in the broader libssh2_1.11.0 campaign. Forty-eight countries. One hundred seventy-three autonomous systems. One job: find every SSH server on the internet that accepts an empty root password.
This is not credential stuffing (one credential, not a list). Not brute-forcing (no password variations attempted). Not exploitation (zero post-auth activity). It is cartography. The operation maps the topology of misconfigured SSH infrastructure. The map has value. To whom?
II. The Single Key
๐ SSH Key: 2e:a4:00:32:42:c8:f5:1f:73:ec:a0:ce:0c:17:3e:b5
A shared SSH key is the strongest possible attribution signal. It means every one of these 269 machines was provisioned from the same deployment pipeline โ the same Ansible playbook, the same Docker image, the same Terraform template. One person (or one team with shared credentials) set up all 269 instances with the same key pair.
This eliminates the possibility that these are independent actors coincidentally using the same tool. Independent operators would generate unique keys. A shared key is a signature of ownership. These 269 machines belong to one entity.
III. The Hosting Landscape
| Provider | IPs | Country | Avg Threat | Cost Estimate |
|---|---|---|---|---|
| OVH SAS | 45 | FR/CA/DE | 74 | ~$225-450/mo |
| Internap/SingleHop | 39 | US | 71 | ~$195-390/mo |
| Psychz Networks | 34 | US | 63 | ~$170-340/mo |
| HostPapa/ColoCrossing | 33 | US | 75 | ~$165-330/mo |
| MULTACOM | 26 | US | 64 | ~$130-260/mo |
| Hetzner | 24 | DE | 60 | ~$96-120/mo |
| M247 | 20 | RO | 71 | ~$100-200/mo |
| PIO-Hosting | 15 | DE | 75 | ~$75-150/mo |
| ReliableSite | 13 | US | 85 | ~$65-130/mo |
| FranTech/BuyVM | 13 | US | 74 | ~$45-65/mo |
| 173 ASNs total | 628 IPs | $3,140-6,280/mo | ||
The hosting selection reveals the procurement strategy: maximize geographic diversity while minimizing cost. No single provider hosts more than 7% of the fleet. This distribution means no single abuse report can take down more than a fraction of the operation. It also means the operator has accounts (and payment methods) at 20+ different hosting providers.
The cost: $3,000-6,000 per month for a 26-day scan. This is not a hobby. Someone is funding a multi-thousand-dollar monthly infrastructure bill to generate a list of SSH servers with empty root passwords. The list must be worth more than the cost to produce it.
IV. The Credential: root:''
24,054 Attempts โ One Credential
Every single one of the 24,054 authentication attempts across 627 IPs uses the same credential: root with an empty password. Not "admin:admin". Not a credential list. Just: does this server have password-based root auth enabled with no password set?
This specificity is itself intelligence. The operation isn't looking for weak passwords (password123, admin, etc.). It's looking for a very specific misconfiguration: SSH servers where root login is enabled and the root account has no password. This is more common than it should be โ in Docker containers exposed to the internet, in hastily deployed IoT devices, in development environments accidentally made public.
The empty-password root server is the perfect target: full control immediately, no brute-force detection to evade, no credential replay risk. One connection. One authentication. Root access. The list of such servers is a premium product in the access brokering market.
V. The Timeline
| Date | Event | Interpretation |
|---|---|---|
| May 21, 00:01 UTC | First session observed | Campaign launch (coincides with broader May 21 burst) |
| May 21 - Jun 16 | Active scanning (26 days) | Operational window |
| Jun 16, 23:57 UTC | Last session observed | Infrastructure retirement |
| Jun 17+ | Silence | Rotation โ new generation provisioning? |
Twenty-six days. Then nothing. This matches the 30-day rotation cycle from 054E precisely. The scanner fleet was part of the broader coordination network โ launching on the same May 21 activation day that we observed across all campaigns. It retired slightly early (day 26 rather than 30-35), possibly because abuse reports accumulated faster for a fleet this large.
VI. The Business Model
Scanning-as-a-Service
This operation doesn't exploit what it finds. Zero successful logins means either: (a) our honeypot correctly rejects the credential, or (b) the scanner only records which targets accept the connection attempt before authentication. Either way, the value is the resulting list โ not access itself.
The customer receives: a list of IP addresses with SSH enabled and root:'' accepted. Fresh. Validated within the last 26 days. Worth: unknown, but the $3-6K monthly infrastructure cost sets the floor for how much revenue the list generates.
This is the first layer of the attack supply chain documented in 052E "The Invisible Supply Chain". The scanner doesn't exploit. The exploiter doesn't scan. Specialization creates deniability: the scanner can claim "we never accessed any system." The exploiter can claim "we didn't scan โ we just happened to try this IP." Together, they accomplish what neither admits to individually.
VII. Read Between the Lines
Who Pays $6,000/Month for Empty Passwords?
Ransomware operators. An SSH server with root:'' is a zero-click entry point โ no vulnerability needed, no exploit development, no social engineering. The ransomware operator deploys directly. If even 0.1% of scanned targets accept root:'', that's thousands of potential ransomware victims. At a typical ransom demand of $50K-500K, even one success per month makes the scanner cost trivial.
Why 173 ASNs?
Each VPS provider has abuse detection. After ~100-200 scan probes from one IP, automated rate limiting or account suspension kicks in. 628 IPs at 38 probes each (24,054 รท 628) = roughly 38 targets per scanner before moving on. The massive distribution isn't about speed โ it's about staying under each provider's detection threshold.
VIII. The Thread Forward
Next: The Sixty-Nine
The second-largest cluster (69 IPs, actor-6285990cc704) operates differently: libssh_0.11.x tools, different credential patterns, different geographic focus. Are they a competing scanner? A customer of this one? The next article compares the two operations to determine whether the scanning market has competition or consolidation.
Continuity
โ TI-2026-052E "The Invisible Supply Chain" โ the economic model this operation feeds
โ TI-2026-054E "Waves and Tides" โ the 30-day rotation cycle this operation follows
โ TI-2026-054B "Geography of Command" โ the Tier 2 operational layer this fleet represents