What Stops and What Doesn't
IOC bundle, detection signatures, and the three gaps these techniques exploit
IOC Bundle
IP Addresses โ HIGH Confidence
| IP | ASN | Country | AbuseIPDB | Key Evidence |
|---|---|---|---|---|
89.248.168.227 |
AS202425 (IP Volume inc) | NL | 100/100 ยท 2929 reports | Cowrie probe 2026-06-30T13:23 ยท GreyNoise: malicious ยท CrowdSec: cowrie-ssh-bruteforce + http:scan active |
77.246.159.182 |
AS29182 (JSC IOT) | RU | 77/100 ยท 42 reports ยท 32 reporters | Cowrie root:root 2026-05-26T09:58 ยท Ipsum score 9 ยท OTX: PurpleSynapz |
Subnets โ MEDIUM Confidence
| Subnet | Confidence | Rationale |
|---|---|---|
89.248.168.0/24 | MEDIUM | 23 IPs share deceptive PTR no-reverse-dns-configured.com; .227 is confirmed attack node |
77.246.158.0/23 | MEDIUM | BGP prefix containing .182 |
ASN โ HIGH Confidence
| ASN | Name | Confidence | Basis |
|---|---|---|---|
AS202425 | IP Volume inc | HIGH | Spamhaus ASN-DROP designation. Full ASN block defensible independent of this investigation. |
Domains โ HIGH Confidence
| Domain | Confidence | Role | Notes |
|---|---|---|---|
no-reverse-dns-configured.com | HIGH | PTR evasion infrastructure | Registered 2024-05-07 Namecheap. Renewed 2026-06-18. 23 IPs in .227's /24 carry this PTR. |
mihaiilginkin1.fvds.ru | LOW | Current PTR for .182 | Identifies fvds.ru account โ not necessarily the operator. Account name may be reassigned or fictional. |
Historical Passive DNS for .182 โ LOW-MEDIUM โ Do NOT Block
| Domain | Period | Type | Current Threat Relevance |
|---|---|---|---|
opt-argent.ru | 2019โ2023 | Silver trading | None โ legitimate historical business |
www.opt-argent.ru | 2019โ2023 | Silver trading | None โ legitimate historical business |
argent-tm.ru | 2020โ2022 | Silver trading | None โ legitimate historical business |
www.argent-tm.ru | 2020โ2022 | Silver trading | None โ legitimate historical business |
ns1.opt-argent.ru | 2019 | Nameserver | None โ legitimate historical |
These domains were operated by real businesses during the IP's legitimate hosting phase. Blocking them would harm unrelated parties. No current threat relevance confirmed.
Fingerprints
| Type | Value | Confidence | Notes |
|---|---|---|---|
| HASSH | c39f4cec145ee3d50fb590595143b9d5 |
HIGH | Observed on BOTH IPs. Not present in any public HASSH database. Unclassified Go SSH toolkit. Primary cross-IP correlation signal. |
| SSH Banner | SSH-2.0-Go |
MEDIUM | .227 only. Consistent with HASSH. No spoofing detected. |
| SSH Banner | SSH-2.0-OpenSSH_7.4 |
LOW as tool identifier | .182 only. CONFIRMED SPOOFED โ HASSH is inconsistent with genuine OpenSSH 7.4 key exchange parameters. |
Detection Signatures
SIG-1 ยท HASSH-MATCH ยท Recommended Primary
EVENT: SSH connection established
CONDITION: hassh == "c39f4cec145ee3d50fb590595143b9d5"
ACTION: alert [HIGH]
NOTE: Catches tool regardless of source IP, ASN, or banner string.
Cross-IP correlation โ will detect new infrastructure
using the same Go toolkit before any reputation signals emerge.
Cannot be trivially spoofed without changing underlying
SSH key exchange implementation.
HASSH is derived from the SSH client's key exchange parameters โ it identifies the tool implementation, not the operator's chosen presentation. This is the one signal that travels with the tool across IP rotation, ASN changes, and banner spoofing.
SIG-2 ยท IP-BLOCK
ACTION: block/alert
TARGETS:
89.248.168.227 [HIGH โ AbuseIPDB 100/100, CrowdSec active, confirmed probe]
77.246.159.182 [HIGH โ confirmed post-auth compromise, Ipsum score 9]
SIG-3 ยท ASN-BLOCK
ACTION: block
TARGET: AS202425 (IP Volume inc)
BASIS: Spamhaus ASN-DROP designation
NOTE: Full ASN block is defensible on Spamhaus ASN-DROP alone,
independent of the .227 specific investigation.
Assess legitimate traffic exposure before applying.
SIG-4 ยท DECEPTIVE-PTR
TRIGGER: PTR lookup for any inbound connection
CONDITION: PTR string contains "no-reverse-dns-configured"
OR PTR string mimics system-level absent-DNS messages
ACTION: alert [MEDIUM]
EXTENDED VALIDATION:
Forward-confirm PTR โ resolve the claimed domain, verify
it resolves back to the original IP. If not: evasion confirmed.
Check in-addr.arpa delegation vs. domain registration:
- Legitimate absent PTR: no in-addr.arpa record exists
- Deceptive PTR: registered domain serves the message
while in-addr.arpa may not be delegated at all
SIG-5 ยท BANNER-HASSH-MISMATCH
TRIGGER: SSH connection presenting an OpenSSH banner
CONDITION: banner claims "OpenSSH" AND HASSH does NOT match
known-good OpenSSH fingerprints for that version
ACTION: alert [MEDIUM โ investigate banner spoofing]
SPECIFIC OBSERVED CASE:
IP: 77.246.159.182
banner: "SSH-2.0-OpenSSH_7.4"
hassh: "c39f4cec145ee3d50fb590595143b9d5"
RESULT: CONFIRMED SPOOF โ HASSH inconsistent with OpenSSH 7.4
SIG-6 ยท MULTI-PROTOCOL-SCAN
CONDITION: Same source IP appears in BOTH:
- SSH scan detection stream
- HTTP scan detection stream
Within a 7-day sliding window
ACTION: escalate severity from per-protocol baseline
to campaign-level priority
RATIONALE: Single-protocol scan events remain separate low-severity
alerts. Overlap across protocols = coordinated campaign.
OBSERVED: 89.248.168.227
HTTP scan onset: ~2026-06-23 (CrowdSec http:scan, 164h remaining)
SSH scan onset: ~2026-06-29 (CrowdSec cowrie, 23h remaining)
Gap: 6 days โ within window, both streams active simultaneously
Detection Gaps
Gap 1 โ PTR-Based Reputation Systems
- Mechanism exploited: Security tools that evaluate "PTR present vs. PTR absent" without validating the string content. A domain registered to return a message that mimics the resolver's own absent-record output passes these checks cleanly.
- Deployment window:
no-reverse-dns-configured.comregistered 2024-05-07. First attack observed 2026-06-30. The evasion technique was live and undetected for 25+ months across 23 IPs in the subnet. - Fix: Validate PTR string content โ flag strings that mimic system absence messages. Forward-confirm: if the PTR domain does not resolve the original IP, flag as evasion. Check in-addr.arpa delegation vs. domain registration as secondary confirmation.
Gap 2 โ Banner-String SSH Attribution
- Mechanism exploited: Attribution pipelines that use the SSH banner string as the primary tool identifier.
77.246.159.182presentsSSH-2.0-OpenSSH_7.4, causing such systems to classify the client as a standard OpenSSH installation โ the Go toolkit is invisible. - Impact: IOC enrichment, threat actor profiling, and tool-based clustering built on banner strings generate incorrect attribution. Intelligence quality degrades at the most downstream stage โ after the event is already in the record.
- Fix: Correlate banner strings against known HASSH values per SSH implementation. Maintain a reference table of expected HASSH ranges per OpenSSH version. When HASSH falls outside the expected range for the claimed version, flag banner as potentially spoofed and prioritize HASSH for tool attribution.
Gap 3 โ Single-Protocol Block Policies
- Mechanism exploited: Environments that handle SSH scan and HTTP scan detection as separate alert streams with independent thresholds.
89.248.168.227ran HTTP scans for approximately 6 days before pivoting to SSH โ in a siloed environment, these appear as two unrelated low-to-medium severity events rather than one coordinated multi-phase campaign. - Impact: Campaign-level attribution missed. Escalation thresholds not reached. Firewall action delayed until the SSH phase is already underway. The operator completes reconnaissance before generating enough single-protocol signal to trigger response.
- Fix: Cross-protocol correlation rules with a 7-day sliding window. Same-source IP appearing in both SSH and HTTP scan detection streams within the window = escalate to campaign severity, regardless of individual stream scores.
Defensive Posture
Already Applied
MikroTik edge block on 89.248.168.227 from CrowdSec cowrie-ssh-bruteforce decision. Active at time of writing.
Recommended Additional Actions
| Priority | Action | Rationale |
|---|---|---|
| HIGH | Add 77.246.159.182 to edge blocklist |
Confirmed root compromise, Ipsum score 9, 42 AbuseIPDB reports from 32 distinct reporters |
| HIGH | Block full AS202425 | Spamhaus ASN-DROP designation provides independent justification |
| HIGH | Add HASSH c39f4cec145ee3d50fb590595143b9d5 to SSH watchlist |
Primary cross-IP signal โ catches new infrastructure using same Go toolkit before reputation builds |
| MEDIUM | Consider blocking 89.248.168.0/24 |
23 IPs carry deceptive PTR; assess collateral risk before subnet-wide block |
| MEDIUM | PTR string filter for no-reverse-dns-configured pattern |
Subnet-level evasion infrastructure โ filter catches the technique, not just these IPs |
What NOT to Do
- Do not rely on PTR lookup as a trust signal for
89.248.168.0/24โ the PTR domain is purpose-built evasion infrastructure - Do not treat "no reverse DNS" as a lower-risk classification โ that is the intended misclassification
- Do not use SSH banner version as sole tool attribution without HASSH corroboration
- Do not block historical passive DNS domains (
opt-argent.ruet al.) โ these were legitimate businesses; no current threat relevance