LSN โ€” Local Sovereign Network

TI-2026-057D ยท The Evasion Codex ยท Part IV of IV

The Evasion Stack

Three evasion layers, three detection gaps, one operator profile

TI-2026-057D Series: The Evasion Codex Part 4 of 4 2026-06-30 TLP:WHITE

Overview

Three distinct evasion techniques were observed across this investigation. They operate at different layers โ€” DNS infrastructure, SSH protocol identity, and behavioral detection scope โ€” and were not applied uniformly across all observed nodes. One technique (PTR evasion) is a pre-positioned infrastructure decision made before any specific campaign. One (banner spoofing) is a per-session identity assertion applied at the SSH library layer. One (multi-protocol scanning) is not evasion in the traditional sense but has the effect of making single-vector defenses incomplete. Together they indicate an operator with working knowledge of how security tooling identifies and classifies scanners.

The Evasion Stack โ€” Three Layers

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  LAYER 3 โ€” DNS Infrastructure (PTR Evasion)                      โ”‚
โ”‚  Sophistication: HIGH                                            โ”‚
โ”‚  Applied to: 89.248.168.227 + 22 other IPs in 89.248.168.0/24  โ”‚
โ”‚  Technique: PTR record returns "no-reverse-dns-configured.com"   โ”‚
โ”‚  Effect: Security tools dismiss IP as having no PTR record       โ”‚
โ”‚  Pre-positioned: YES โ€” registered 2024-05-07, renewed 2026-06-18โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  LAYER 2 โ€” SSH Protocol Identity (Banner Spoofing)               โ”‚
โ”‚  Sophistication: MEDIUM                                          โ”‚
โ”‚  Applied to: 77.246.159.182 (RU node, AS29182)                  โ”‚
โ”‚  Technique: Go SSH client declares SSH-2.0-OpenSSH_7.4           โ”‚
โ”‚  Effect: Banner-matching blocklists and IDS signatures miss node โ”‚
โ”‚  Pre-positioned: PARTIAL โ€” code modification required            โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  LAYER 1 โ€” Behavioral Scope (Multi-Protocol Scanning)            โ”‚
โ”‚  Sophistication: LOW-MEDIUM                                      โ”‚
โ”‚  Applied to: 89.248.168.227 (NL node, AS202425)                 โ”‚
โ”‚  Technique: Concurrent SSH bruteforce + HTTP scanning            โ”‚
โ”‚  Effect: Single-vector monitoring misses the full activity scope โ”‚
โ”‚  Pre-positioned: NO โ€” consequence of tool design, not evasion    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Findings Addressed in This Article

  1. F2 โ€” PTR evasion via engineered domain (SEVERITY: HIGH / CONFIDENCE: HIGH) โ€” Domain no-reverse-dns-configured.com registered 2024-05-07, deployed as PTR for 23 IPs in AS202425, renewed 2026-06-18 โ€” 23 days before observation. Active operational infrastructure, not abandoned configuration.
  2. F3 โ€” SSH banner spoofing (SEVERITY: MEDIUM / CONFIDENCE: HIGH) โ€” 77.246.159.182 declares SSH-2.0-OpenSSH_7.4; HASSH c39f4cec145ee3d50fb590595143b9d5 proves Go SSH client. Banner is a deliberate fabrication.
  3. F4 โ€” Multi-protocol dual-vector scanning (SEVERITY: MEDIUM / CONFIDENCE: HIGH) โ€” 89.248.168.227 holds concurrent CrowdSec bans for cowrie-ssh-bruteforce (23h) and http:scan (164h). HTTP campaign preceded SSH campaign by approximately one week.

Layer 3 โ€” PTR Evasion: The no-reverse-dns-configured.com Technique

How PTR Records Function in Security Tooling

When a host connects to a network resource, the receiving party can perform a reverse DNS lookup โ€” querying the PTR record for the source IP. The result is a human-readable hostname, or the absence of one. Security tooling uses PTR results in multiple ways: reputation lookups and DNSBL scoring, SIEM correlation rule matching, firewall policy enforcement, automated abuse contact routing, and analyst triage prioritization.

When a PTR lookup returns NXDOMAIN, tools record "no reverse DNS" or a similar phrase. This is the critical observation: the string "no reverse DNS configured" does not require an absent PTR record. It only requires that the PTR record returns a string that reads as one.

PTR Evasion โ€” The Mechanics

Standard case โ€” no PTR record configured:
  $ dig -x 89.248.168.X
  ;; NXDOMAIN (no PTR record exists)
  โ†’ SIEM field: PTR = "(none)" or "no reverse DNS"
  โ†’ Analyst reads: unconfigured IP, possibly ephemeral, low priority

Engineered evasion โ€” no-reverse-dns-configured.com deployed:
  $ dig -x 89.248.168.227
  89.248.168.227.in-addr.arpa. 300 IN PTR no-reverse-dns-configured.com.
  โ†’ SIEM field: PTR = "no-reverse-dns-configured.com"
  โ†’ Analyst reads: "no reverse DNS configured" โ†’ SAME reaction

Why it works:
  (1) The string is visually and grammatically identical to a system message
  (2) SIEM rules keyed on "no-reverse-dns" fire on BOTH the real absence
      AND this domain โ€” generating noise that trains analysts to ignore
  (3) Human triage: analyst sees "unconfigured" โ†’ deprioritizes IP
  (4) Abuse pipelines: query domain registrant (Namecheap) instead of
      AS202425 abuse contact โ†’ misdirected report, no action taken

What it does NOT do:
  ร— Does not block the PTR lookup (response is returned promptly)
  ร— Does not make the IP invisible
  โ†’ It makes the IP DISMISSIBLE, not undetectable

Registration and Active Management

EventDateForensic Significance
Domain registered 2024-05-07 Registrar: Namecheap โ€” consumer-facing. PTR management in AS202425 requires deliberate operator action, not a provider default.
Domain renewed 2026-06-18 23 days before this observation. Active payment and deliberate maintenance. Infrastructure still in use.
Observation date 2026-06-30 Domain confirmed active and deployed across 23 IPs in 89.248.168.0/24.

Domain registrations expire annually. Renewal requires deliberate action and payment. The 2026-06-18 renewal date confirms the operator actively maintained this asset 23 days before this investigation. The "counter-narrative" that this is a provider misconfiguration or a joke domain is refuted: PTR records in AS202425 address space are not set by default provider action. Namecheap registration with active renewal and systematic deployment across 23 IPs represents deliberate operational infrastructure.

The /24 Segmentation: Three Distinct Operational Postures

PTR PatternIP CountIdentity TypeSecurity Tool Response
security.criminalip.com 132 Transparent โ€” AI Spera commercial scanner (publicly documented IP ranges) Whitelisted by defenders who exclude known commercial scanners
scanner.openportstats.com 10 Transparent โ€” declared scanner identity Clearly categorized as scanner; excluded or alerted depending on policy
no-reverse-dns-configured.com 23 Deceptive โ€” engineered to appear as absent PTR Dismissed as unconfigured; bypasses both whitelisting and scanner categorization
Other / not surveyed ~91 Unknown โ€”

Subnet Architecture โ€” Two Operational Postures

89.248.168.0/24  (AS202425, IP Volume inc โ€” bulletproof hosting)
โ”‚
โ”œโ”€โ”€ 142 IPs  [security.criminalip.com + scanner.openportstats.com]
โ”‚   โ””โ”€โ”€ TRANSPARENT LAYER
โ”‚       Declared scanner identity; publicly documented
โ”‚       Benefit: commercial whitelist coverage; analyst skip via policy
โ”‚
โ””โ”€โ”€  23 IPs  [no-reverse-dns-configured.com]  โ† THIS INVESTIGATION
    โ””โ”€โ”€ DECEPTIVE LAYER
        Engineered absent-PTR appearance
        Benefit: dismissed as unconfigured, not categorized as scanner
        Evasion domain: Namecheap | registered 2024-05-07 | renewed 2026-06-18

The 142 transparent nodes operate VISIBLY (whitelisted or categorized).
The 23 deceptive nodes operate DISMISSED (neither whitelisted nor categorized).

Whether the deceptive-PTR nodes belong to the same operator as
the transparent nodes, or represent a separate tenant in AS202425
bulletproof hosting, cannot be determined from current evidence.

Security Controls Bypassed

Security ControlBypass Mechanism
PTR-based reputation lookupsIPs classified as "no PTR" rather than "identified scanner" โ€” placed in wrong category, triggering wrong response priority
SIEM string-match rules on PTR fieldsRules matching literal "no-reverse-dns" fire on genuine absence AND this domain โ€” trains analysts to ignore the pattern through repeated noise
Blocklists excluding IPs with no PTRSystems treating no-PTR as ephemeral/low-priority dynamic assignment apply that treatment to persistent scanning infrastructure
Automated abuse contact lookupAbuse reporting pipelines using PTR to identify operators route reports to Namecheap (domain registrant) instead of AS202425 abuse contact โ€” report misdirected, no action
Human analyst first-pass triageAnalyst reviewing honeypot logs reads "no-reverse-dns-configured.com" as unconfigured; IP deprioritized without manual investigation

Confidence: HIGH โ€” Domain registered, renewed, and systematically deployed. The technique is consistent across 23 IPs. No plausible benign interpretation is consistent with the full evidence set (registration + renewal + systematic deployment).

Layer 2 โ€” SSH Banner Spoofing: Impersonating OpenSSH 7.4

The Two Layers of SSH Identity

When an SSH client connects to a server, identity is presented at two distinct protocol layers that operate entirely independently. Understanding why banner spoofing works โ€” and why it fails against HASSH analysis โ€” requires examining both layers.

SSH Identity Architecture โ€” Two Independent Layers

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  LAYER 1 โ€” Version String (Banner)                              โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€                              โ”‚
โ”‚  Source: OPERATOR sets this string (runtime configuration)      โ”‚
โ”‚  Content: SSH-2.0-[softwareversion]                             โ”‚
โ”‚  Example: SSH-2.0-OpenSSH_7.4                                  โ”‚
โ”‚  Logged by: Cowrie, IDS, SIEM, all SSH servers                 โ”‚
โ”‚  Verifiable? NO โ€” no cryptographic commitment                   โ”‚
โ”‚  Can be spoofed? YES โ€” trivial string substitution in code      โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  LAYER 2 โ€” HASSH (Capability Negotiation Fingerprint)           โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€         โ”‚
โ”‚  Source: SSH LIBRARY (compiled-in algorithm defaults)           โ”‚
โ”‚  Content: MD5 of SSH_MSG_KEXINIT algorithm preference lists     โ”‚
โ”‚  Example: c39f4cec145ee3d50fb590595143b9d5                     โ”‚
โ”‚  Logged by: Honeypots with HASSH collection enabled            โ”‚
โ”‚  Verifiable? YES โ€” derived from actual handshake bytes          โ”‚
โ”‚  Can be spoofed? NOT by banner change alone                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

77.246.159.182 modified Layer 1:  banner โ†’ SSH-2.0-OpenSSH_7.4
Layer 2 (HASSH) remained:         c39f4cec... (Go SSH library)

The contradiction between the two layers IS the forensic evidence.
The banner string and the HASSH are produced by separate code paths.
Changing one does not affect the other.

The Evidence

IPASN / LocationDeclared BannerHASSH RecordedVerdict
89.248.168.227 AS202425 / NL SSH-2.0-Go c39f4cec145ee3d50fb590595143b9d5 HONEST โ€” banner and HASSH agree
77.246.159.182 AS29182 / Moscow SSH-2.0-OpenSSH_7.4 โš  c39f4cec145ee3d50fb590595143b9d5 SPOOF โ€” HASSH proves Go client

The HASSH is derived from bytes transmitted during the handshake. It is not possible to produce a Go HASSH while running a native OpenSSH binary. It is not possible to produce an OpenSSH HASSH while running the Go SSH library that generated this fingerprint โ€” without modifying the actual capability negotiation code, which would produce a different HASSH. The banner string is the lie; the HASSH is the evidence.

Why OpenSSH 7.4 Was Chosen

OpenSSH 7.4 (December 2016) was the default on CentOS 7 โ€” one of the most widely deployed server platforms of its era. It represents a version that is plausible for a long-running unpatched host, is not so old as to be immediately suspicious, and critically, is not one of the known scanner banner strings that blocklists and IDS signatures target: SSH-2.0-Go, SSH-2.0-libssh2_*, SSH-2.0-python-paramiko_*. By presenting as SSH-2.0-OpenSSH_7.4, the client avoids scanner-specific banner blocklists while reading as a legitimate (if outdated) host.

Detection Gap

Any detection rule, blocklist, or investigation workflow that stops at the SSH version banner will miss 77.246.159.182 โ€” or classify it as a potentially legitimate outdated SSH server rather than a scanning node. The HASSH c39f4cec145ee3d50fb590595143b9d5 is a watch indicator: any new session presenting this fingerprint, regardless of banner, source IP, or ASN, should be correlated to TI-2026-057.

Confidence: HIGH โ€” The HASSH contradiction is a direct measurement of transmitted handshake bytes, not an inference from secondary signals.

Layer 1 โ€” Multi-Protocol Dual-Vector Scanning

The Observed State

At the time of observation (2026-06-30), 89.248.168.227 held two active CrowdSec bans from two independent detection scenarios, running concurrently:

CrowdSec ScenarioBan Duration RemainingDetection TypeIssued Approximately
cowrie-ssh-bruteforce 23 hours SSH credential attack threshold crossed ~2026-06-29 (1 day prior)
http:scan 164 hours Web scanning behavior threshold crossed ~2026-06-23 (7 days prior)

Timeline Reconstruction โ€” Working Back from Ban Durations

Observation timestamp: 2026-06-30

SSH ban (cowrie-ssh-bruteforce) โ€” 23 hours remaining:
  23h before 2026-06-30 = SSH bruteforce activity ~2026-06-29

HTTP ban (http:scan) โ€” 164 hours remaining:
  164h รท 24 = 6.83 days = HTTP scanning activity ~2026-06-23

Reconstructed timeline:
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  2026-06-23  โ”€โ”€  HTTP reconnaissance campaign begins
                  [web scanning activity triggers CrowdSec http:scan]
       โ”‚
       โ”‚  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 7 days of HTTP scanning โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ
       โ”‚
  2026-06-29  โ”€โ”€  SSH bruteforce campaign begins
                  [cowrie-ssh-bruteforce triggered; MikroTik notified]
       โ”‚
  2026-06-30  โ”€โ”€  Cowrie honeypot interaction recorded
                  MikroTik address-list block applied
                  Investigation triggered โ€” BOTH bans active simultaneously
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

Sequence interpretation:
  Phase 1: Broad web reconnaissance (target identification / enumeration)
  Phase 2: Targeted SSH credential attacks (access attempt on identified targets)

  The MikroTik block was triggered by SSH activity.
  The HTTP campaign that preceded it by one week was invisible
  to SSH-only detection pipelines until enrichment surfaced it.

What This Rules Out

A commodity SSH bruteforcer โ€” Hydra, Medusa, a basic Python script with Paramiko โ€” does not produce an http:scan CrowdSec ban as a side effect of SSH activity. The HTTP ban requires HTTP-specific scanning behavior that triggered CrowdSec's web-scanning detection scenarios. This means 89.248.168.227 was running at minimum two distinct scanning workloads simultaneously. Whether these are separate tools running in parallel or a single multi-protocol reconnaissance platform is not determined from current evidence. What is established: this node is not a single-purpose SSH tool. It is a general-purpose scanning platform conducting simultaneous multi-vector reconnaissance.

Detection Gap

The MikroTik block was triggered by cowrie-ssh-bruteforce. A defender operating with SSH-only honeypot coverage and no web-scanning detection would have the HTTP campaign completely invisible โ€” the web-facing attack surface was subject to active scanning for approximately a week before the IP appeared in SSH-related alerts. The http:scan ban duration (164h vs the SSH ban's 23h) suggests the HTTP campaign was substantially longer than the SSH campaign. Multi-protocol posture means single-vector monitoring produces a systematically incomplete picture of this node's activity.

Confidence: HIGH โ€” Two concurrent CrowdSec bans are direct operational telemetry from two independent detection scenarios. The timeline reconstruction uses ban duration arithmetic from observed timestamps.

Sophistication Assessment

Technique Ranking

RankTechniqueSophisticationInfrastructure RequiredPre-positioned?
1 (highest) PTR Evasion โ€” no-reverse-dns-configured.com HIGH Domain registration, DNS deployment across 23 IPs, active renewal cycle YES โ€” infrastructure predating any campaign
2 SSH Banner Spoofing โ€” SSH-2.0-OpenSSH_7.4 MEDIUM Go SSH client code modification only; no infrastructure coordination required Partial โ€” code change required; applied per-node
3 (lowest) Multi-Protocol Scanning (SSH + HTTP) LOW-MEDIUM Multi-workload capable platform; concurrent scanning deployment on one node NO โ€” consequence of tool capability design, not deliberate anti-detection measure

Combined Operator Profile

Operator Capability Evidence โ€” What the Stack Requires

PTR EVASION โ€” required capabilities:
  โ€ข Domain registration with deliberate name selection
    The string must read as a system message to analysts scanning logs
  โ€ข DNS deployment coordinated across 23 IPs within AS202425
  โ€ข Active maintenance: renewal 23 days before observation
  โ€ข Knowledge of how PTR values are processed by:
      โ€” SIEM string-match rules (literal string match on PTR fields)
      โ€” Automated abuse contact lookup systems
      โ€” Human analyst triage workflows (cognitive pattern recognition)
      โ€” Reputation scoring systems that differentiate PTR vs no-PTR

BANNER SPOOFING โ€” required capabilities:
  โ€ข Knowledge that SSH scanner banners are targeted by blocklists/IDS
  โ€ข Modification of Go SSH client to substitute identification string
  โ€ข Selection of a plausible but non-suspicious legacy version string
  โ€ข Understanding of which banner strings attract scanner classification

MULTI-PROTOCOL SCANNING โ€” required capabilities:
  โ€ข Platform capable of simultaneous SSH and HTTP reconnaissance
  โ€ข Deployment and coordination of multiple scanning workloads on one node

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
AGGREGATE ASSESSMENT:

An opportunistic credential stuffer deploying commodity tools
does NOT exhibit this pattern.

The PTR technique alone required 2+ years of infrastructure
maintenance (registered 2024, renewed 2026 โ€” active at observation).

The banner spoofing required tool modification informed by knowledge
of defender blocklist behavior.

The multi-protocol scanning indicates general-purpose reconnaissance
capability, not a single-function SSH brute-force script.

This is deliberate, layered, maintained evasion infrastructure.

What the Aggregate Profile Resembles

This profile is consistent with organized scanning infrastructure operated for sustained reconnaissance โ€” either self-directed (building target lists for later exploitation) or commercial (scanning-as-a-service sold to third parties). Supporting indicators:

  • Bulletproof hosting choice (AS202425, IP Volume inc) โ€” hosting designed to resist takedown requests
  • Evasion domain registered 2024, renewed on schedule in 2026 โ€” minimum 2 years of deliberate operational investment
  • Multi-protocol tooling indicating capability extending beyond a single credential-stuffing script
  • Unclassified private HASSH (only 2 IPs) indicating purpose-built tooling, not commodity deployment
  • The Moscow node (AS29182 JSC IOT) choosing banner spoofing but no PTR evasion, while the NL node takes the opposite configuration โ€” suggesting either different operator configurations or different targeting priorities

Known Unknowns

UnknownWhy It MattersHow to Resolve
Whether 89.248.168.227 also employs banner spoofing in some sessions Only SSH-2.0-Go is in evidence for the NL node. Configuration may vary across sessions or targets. Expanded session log review across extended observation window
Whether all 23 deceptive-PTR nodes are actively scanning Only .227 triggered alerts in this period. Other 22 may be reserve capacity, different-campaign nodes, or inactive. Broader /24 scan coverage; cross-reference with other honeypot deployments
The HASSH-to-tool mapping for c39f4cec145ee3d50fb590595143b9d5 Specific Go SSH library version, fork, or custom implementation producing this hash is unidentified. Empirical testing โ€” compile known Go SSH library versions, compare HASSH output
HTTP scanning target list and method What paths, services, or vulnerabilities were targeted by the http:scan campaign is not in evidence. Web server access log correlation from the same period (2026-06-23 to 2026-06-30)
Whether both nodes share a common operator Toolkit similarity (shared HASSH) established; command relationship and operational coordination unconfirmed. Additional behavioral correlation: credential overlap, command sequence similarity, temporal alignment

Summary

TechniqueFindingEvidenceTarget Control ClassConfidence
PTR Evasion โ€” no-reverse-dns-configured.com F2 E4 PTR reputation, SIEM rules, abuse contact routing, analyst triage HIGH / HIGH
SSH Banner Spoofing โ€” SSH-2.0-OpenSSH_7.4 F3 E2, E3 Banner-based blocklists, IDS version-string signatures, analyst classification MEDIUM / HIGH
Multi-Protocol Scanning (SSH + HTTP) F4 E7 Single-protocol detection coverage gaps MEDIUM / HIGH

All claims in this article are derived directly from evidence items E2, E3, E4, and E7. No claim is made beyond what the cited evidence directly supports. Confidence assessments reflect the quality of the underlying evidence, not the severity of the conclusion.

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