LSN โ€” Local Sovereign Network

๐Ÿ” HIGH โ€” The Line Between Legitimate Scanning and Criminal Reconnaissance Has Dissolved

TI-2026-046C โ€” The Reconnaissance Industrial Complex

When a $2.7 Billion SEO Company, Chinese State Telecom, and Credential Thieves Using Dead Phones All Perform the Same HTTP Requests โ€” The Only Difference Is the Invoice
๐Ÿ” Reconnaissance Credential Hunting โ˜๏ธ Cloud-Hosted SEMrush AS209366 Dead Device UAs State Census ๐ŸŽ Apple Baseline Go-http-client 77% SSH Overlap

๐Ÿ“– Series: The Web Siege

Letter C of The Web Siege โ€” a forensic series documenting multi-vector attacks at our Traefik ingress during June 2026.

In Letter A, we documented Google Cloudโ€™s .env credential harvesters. In Letter B, Microsoft Azureโ€™s ghost WordPress shell checkers. Both were clearly criminal operations.

This letter asks a harder question: Where does โ€œlegitimate scanningโ€ end and โ€œcriminal reconnaissanceโ€ begin? The answer, it turns out, is nowhere. There is no line. There is only a spectrum โ€” and the spectrum is measured in one number: the 404 error rate.

Data: 4,459 unique IPs, 87,883 requests, 7-day observation window. Cross-referenced with SSH honeypot (1,751 multi-vector overlap), CrowdSec intelligence, and OSINT vector library (15,392 entity crosslinks).

โ“ The Question No One Wants to Answer

The cybersecurity industry has constructed a careful taxonomy. โ€œAttack Surface Managementโ€ is a legitimate product category. Multi-billion-dollar companies sell it:

  • Palo Alto (Cortex Xpanse) โ€” continuous internet-wide scanning
  • Censys โ€” $75M funding, scans entire IPv4 every 24 hours
  • Shodan โ€” the โ€œsearch engine for the internet of thingsโ€
  • SEMrush โ€” $2.7 billion market cap, systematic web enumeration

And somewhere in the same IP address space, criminal operators run the exact same tools against the exact same targets to build the exact same maps.

๐Ÿ’ก The uncomfortable question: If you cannot distinguish the traffic of a $50 million โ€œattack surface managementโ€ platform from a $500 criminal reconnaissance script at the packet level โ€” what exactly is the customer paying for?

We observed the answer at our ingress point. They are paying for the branding.

๐Ÿ“Š The Observation Window

4,459Unique IPs
111Checked /robots.txt
629Probed Root Path
101Grabbed /favicon.ico
39%Also in SSH Honeypot

111 scanner IPs checked robots.txt โ€” the file that defines what crawlers should not access. Some honored what they found. Most did not. Checking robots.txt while ignoring its contents is the digital equivalent of reading a โ€œNo Trespassingโ€ sign, nodding thoughtfully, and climbing the fence anyway.

๐ŸŽญ The Five Archetypes of Scanning

Every IP that touched our ingress falls into one of five behavioral categories. The categories arenโ€™t about who is scanning. Theyโ€™re about how. And the โ€œhowโ€ is disturbingly similar across all five.

๐ŸŽ Archetype 1: The Legitimate Crawler

Apple ยท Internet Archive โ€” The control group

ActorASNIPsRequests404 RateUA
๐ŸŽ Apple ApplebotAS7142141,6730%โœ“ Safari (honest)
๐Ÿ“š Internet ArchiveAS39978411620%โœ“ archive.org_bot

Zero errors. These crawlers access pages that exist. They donโ€™t probe for pages that might exist. They donโ€™t test for vulnerabilities. They donโ€™t hunt credentials. They visit whatโ€™s published and move on.

๐Ÿ“ This is the empirical baseline. Any scanner that generates 404 errors is, by mathematical definition, probing for content that doesnโ€™t exist. Thatโ€™s not crawling. Thatโ€™s reconnaissance. The error rate is the intent signal.

๐Ÿ’ฐ Archetype 2: The Commercial Intelligence Bot

SEMrush โ€” The $2.7B gray zone

ActorASNIPs ObservedPaths/IPUser-AgentCadence
๐Ÿ’ฐ SEMrushAS2093663+39โ€“53SemrushBot/7~blSteady, non-burst

SEMrush is transparent. It identifies itself. Its corporate website explains what it does. It has a published bot page with opt-out instructions. It files SEC reports. It pays taxes (presumably).

And yet: it probes 53 unique paths per IP, including paths that donโ€™t exist on the target. It requests /robots.txt and then proceeds to ignore the restrictions it finds. It enumerates sitemap.xml variants, common CMS paths, API endpoints โ€” content that might exist but doesnโ€™t.

By any behavioral definition, this is systematic reconnaissance. The only difference from a criminal scanner:

Criminal: Mozilla/5.0 (compatible; totally-legit-browser/1.0)  โ†’ /admin/config.php
SEMrush:  Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html) โ†’ /admin/config.php

โ†‘ Same request. Same path. Same 404. Different User-Agent header.
  And a $2.7 billion quarterly earnings report.

๐Ÿ‡จ๐Ÿ‡ณ Archetype 3: The State Internet Census

Chinese Go-http-client Fleet โ€” CHINANET-IDC-BJ-AP โ€” The three-probe fingerprint

ASNPrimary UASecondary UAIPsPattern
AS23724Go-http-client/1.1Spoofed (impossible versions)75+/, /robots.txt, /favicon.ico

State telecom infrastructure. CHINANET-IDC-BJ-AP. Each IP performs exactly three requests:

/
Server headers
Technology ID
/robots.txt
Site structure
Hidden paths
/favicon.ico
Favicon hash
Framework fingerprint

This is exactly the methodology that Censys, Shodan, and every โ€œinternet measurementโ€ platform uses. Three probes. Maximum intelligence. Minimal footprint. The commercial products just have a nicer dashboard.

The secondary UAs betray the operation: AppleWebKit/591.52 (no such version has ever existed), Chrome/74 paired with impossible WebKit builds. Perfunctory spoofing โ€” enough to bypass naive filtering, not enough to pass scrutiny. They donโ€™t need stealth. They have 75 IPs. Block one, another appears.

๐Ÿ’€ Archetype 4: The Criminal Credential Hunter

Google Cloud Fleet โ€” 575 IPs โ€” AS396982 โ€” Dead phones requesting Spring Boot secrets

IPUser-AgentTargetDeviceStatus
34.77.83.98SonyEricssonS500i/R6BC/private/credentials.json๐Ÿ“ฑ Slider phoneDiscontinued 2008
34.32.47.181ELinks; Linux 2.6.10-ac7/server/application.yml๐Ÿง Terminal browserKernel from Dec 2004
34.74.20.6NetPositive/2.1.1; BeOS/server/application.yml๐Ÿ’€ Dead OSBankrupt 2001
34.179.203.150Mac OS X 10_13_6/WebKit/563/server/application.ymlโš ๏ธ Fake versionWebKit 563 never existed
34.155.174.174Windows Phone OS 7.0/private/credentials.json๐Ÿ“ฑ Dead platformEOL 2014

These are not crawlers. These are not researchers. These are credential thieves operating from Google Cloud Platform infrastructure.

The User-Agent randomization library tells its own story:

๐Ÿ“ฑ SonyEricssonS500i โ€” A candy-bar slider phone released 2007, discontinued 2008. Nobody has browsed the web with one since Obamaโ€™s first term. Its screen was 240ร—320 pixels. It ran Java ME. It is requesting /private/credentials.json in 2026.
๐Ÿง ELinks on Linux 2.6.10-ac7 โ€” A text-mode terminal browser. Kernel 2.6.10 was released December 24, 2004. The -ac7 suffix references Alan Coxโ€™s personal patch tree. This 21-year-old configuration is visiting Spring Boot credential files on modern servers.
๐Ÿ’€ NetPositive on BeOS โ€” BeOS, Inc. filed for bankruptcy in 2002. Its default browser hasnโ€™t received an update in 24 years. Palm acquired the assets. Then Palm died too. The browserโ€™s ghost is requesting credential files in 2026.
๐Ÿ“ฑ Windows Phone OS 7.0 โ€” Released 2010, end-of-life 2014. Microsoft killed the entire platform, buried the brand, and pretended it never happened. Its User-Agent lives on in a criminalโ€™s randomization library.

๐ŸŽฏ The absurdity is the signature. No human browses with a BeOS machine. No legitimate service identifies as a Sony Ericsson from 2007. The dead-device UA is the criminal fingerprint โ€” as distinctive as a calling card left at the scene.

The targets are explicit: /server/application.yml (Spring Boot config containing database credentials, API keys, service passwords) and /private/credentials.json (application credential stores). Not speculative probes. They know exactly what theyโ€™re looking for.

โš ๏ธ 77% of these Google Cloud IPs also appear in our SSH honeypot. Same infrastructure. Both protocols. Simultaneously.

๐Ÿ‘ป Archetype 5: The Empty-UA Botnet (Microsoft Azure)

Covered in 046B: The WordPress Ghosts. 269 IPs from AS8075, empty User-Agent, checking for pre-planted WordPress shells. Included here for taxonomic completeness.

๐ŸŒˆ The Spectrum: Error Rate as Intent Signal

Line them up by error rate. The pattern is unmistakable:

Actor404 RateSSH OverlapIntentIndustry Label
๐ŸŸขApple0%37%Crawlingโ€œLegitimateโ€
๐ŸŸขInternet Archive0%โ€”Archivingโ€œLegitimateโ€
๐ŸŸกSEMrush~15%โ€”Competitive Intelโ€œLegitimateโ€
๐ŸŸ Chinese Fleet~30%โ€”Censusโ€œState Actorโ€
๐Ÿ”ดGoogle Cloud~60%77%Credential Theftโ€œCriminalโ€
๐Ÿ”ดAzure Botnet64%61%Shell Uploadโ€œCriminalโ€

The gradient tells everything. Legitimate crawlers generate 0% errors because they only access published content. As you move up the spectrum toward criminal behavior, the error rate increases because the actor is probing for content that might exist but doesnโ€™t โ€” credential files, admin panels, upload forms, backup databases.

๐Ÿค” SEMrush occupies the gray zone. It generates errors probing for paths common on typical websites โ€” sitemap variants, CMS paths, API endpoints. Not credentials specifically. But still: content that doesnโ€™t exist on the target. The behavior is reconnaissance. The product pitch is โ€œcompetitive intelligence.โ€ The 10-K filing is the only difference.

๐Ÿ“š The OSINT Library Confirms: One Market, Two Brands

โ€œCommercial surveillance tools (phonesnoops, edgetrack, monitordog) operate from the same infrastructure as SSH scanning. No technical distinction between lawful intercept and criminal surveillance. Same tools, same techniques, different branding. The surveillance market and the criminal market are one market.โ€
โ€” OSINT Library, entity_crosslinks collection (observed at SSH/telnet layer)

This was documented at the SSH layer. We now independently confirm it at HTTP. Commercial reconnaissance platforms and criminal scanning operations use identical techniques, from adjacent or overlapping IP ranges, targeting the same endpoints.

Palo Alto Cortex Xpanse scans your network to show you whatโ€™s exposed. A criminal scanner does the same scan to show someone else whatโ€™s exposed. The packets on the wire are byte-for-byte identical. The difference is purely: who pays for the report.

โšก The Multi-Vector Proof

The honeypot overlap statistics demolish the โ€œthese are just scannersโ€ narrative:

84%AmazonHTTP + SSH
77%Google CloudHTTP + SSH
61%MicrosoftHTTP + SSH
37%AppleHTTP + SSH

If these were โ€œjust crawlersโ€ or โ€œjust ASM products,โ€ they would not simultaneously attempt SSH brute-force attacks. The 77% Google Cloud overlap means: for every 4 GCP IPs scanning your web server, 3 are also trying to brute-force your SSH.

Appleโ€™s 37% is instructive: likely false positives from shared cloud ranges, since HTTP behavior is perfectly clean (0% errors). The correlation decreases with legitimacy โ€” yet another confirmation of the error-rate-as-intent thesis.

๐Ÿ’ธ The Economics of the Complex

๐Ÿข Legitimate ASM ($50M+ companies)

  • Censys โ€” $75M funding
  • SEMrush โ€” $2.7B market cap
  • Palo Alto โ€” Internet-wide scanning
  • Shodan โ€” API access revenue

Product: โ€œWe scanned everything โ€” hereโ€™s whatโ€™s exposed.โ€
Price: $50,000โ€“500,000/year

๐Ÿ’€ Criminal Scanning (negligible cost)

  • Cloud VPS: $5โ€“50/month per node
  • Scanning tools: Free (open source)
  • Revenue: Credentials, access, ransomware
  • GCP fleet: ~$3,000โ€“6,000/month total

Same scan, same results, same packets.
Different invoice. Different buyer.

โš ๏ธ The market feature: Every โ€œlegitimate scanโ€ trains your IDS to ignore the same patterns criminals use. Commercial ASM normalizes reconnaissance. This is not a coincidence. Itโ€™s a business model.

๐Ÿฆด Digital Archaeology: The Dead Device Library

The UA randomization library tells us when this operation was built:

2007 โ”€ SonyEricssonS500i released (library compiled)
2008 โ”€ Phone discontinued
2010 โ”€ Windows Phone 7.0 released (last UA added)
2011 โ”€ Library frozen. Never updated again.
2012-2025 โ”€ 14 years of operation. Nobody checks UA plausibility.
2026 โ”€ Still working. Still undetected by most WAFs.

The tooling is older than most analysts trying to detect it. It hasnโ€™t been updated because it doesnโ€™t need to be. Most WAFs filter by known-bad signatures, not by temporal impossibility. Nobody asks: โ€œIs it physically possible for this device to be making this request?โ€

Implication: this scanning infrastructure has been continuously operational for 15+ years. Same tools. Same scripts. Same campaign. Running since the Obama administration, migrated through whatever cloud providers offered the cheapest VPS, now on Google Cloud. The operators probably donโ€™t even remember why the library has BeOS in it.

๐Ÿค– The Robots.txt Paradox

111 IPs requested /robots.txt. What each did with it reveals everything:

Apple, Archive
Read it. Honored it. Respected boundaries.
SEMrush
Read it. Selectively ignored restrictions.
Chinese Fleet
Read it as intelligence. Maps your site structure.
Criminals
Didnโ€™t request it. Already know what they want.

๐Ÿ’ก Robots.txt is not a security mechanism. Itโ€™s an intelligence goldmine for scanners. It tells them which paths exist and which you donโ€™t want indexed โ€” which is often exactly which paths contain sensitive content. Disallow: /admin is a neon sign.

๐Ÿ›ก๏ธ Implications for Defenders: The Error Rate Rule

0% + honest UA Legitimate crawler. Allow.
0โ€“5% + bot UA Probably legitimate. Rate-limit.
15โ€“30% Reconnaissance. Commercial or criminal is irrelevant. Block or challenge.
30%+ spoofed Active attack. Block, alert, investigate.
60%+ cred paths Criminal operation. Blacklist the range. Report.

The industryโ€™s insistence on distinguishing โ€œlegitimate ASMโ€ from โ€œcriminal scanningโ€ serves the ASM vendorsโ€™ marketing departments. It does not serve you. If an entity probes for content that doesnโ€™t exist, their corporate valuation is irrelevant to your security posture.

๐Ÿ›๏ธ Conclusion: The Industrial Complex

We call it the Reconnaissance Industrial Complex because thatโ€™s what it is:

An ecosystem where legitimate companies, state actors, and criminals all perform the same activity (systematic internet scanning) for the same purpose (mapping whatโ€™s exposed) using the same tools (HTTP requests to predictable paths) โ€” and the only distinction is the business model attached to the output.

  • Censys sells the map to defenders
  • Palo Alto sells it to enterprises
  • SEMrush sells it to marketers
  • Chinese state telecom builds it for national intelligence
  • Google Cloud criminals build it for credential theft

Same reconnaissance. Same infrastructure. Same techniques.
Different invoice.

For the defender, there is one useful signal: the error rate. Everything that probes for content that doesnโ€™t exist is performing reconnaissance. Whether that reconnaissance is โ€œlegitimateโ€ depends entirely on whoโ€™s asking.

Whatโ€™s not above our pay grade: blocking anything with 30%+ error rate, regardless of User-Agent string, corporate valuation, or published privacy policy.

Series: TI-2026-046 โ€œThe Web Siegeโ€ ยท Letter: C ยท Classification: TLP:WHITE

Data Sources: Traefik access logs (7-day window) ยท CrowdSec intelligence ยท SSH honeypot (8,000+ IPs) ยท Qdrant OSINT library (15,392 crosslinks) ยท web-threats behavioral database (4,459 IPs)

Investigation: TI-2026-046C ยท 5 actors ยท 6 evidence ยท 6 findings ยท 4 connections

โ† 046B: The WordPress Ghosts ยท 046D: The Multi-Vector Operators โ†’

โš  Personal capacity. Research published independently โ€” not reflecting employer views. Derived from passive observation of attacks against personal infrastructure. Full disclaimer โ†’
โ† Previous The Web Siege โ€” 3 / 5 Next โ†’