Initial Brief
March 15–22, 2026
Erratum #1
March 2026
Update Brief #1 ← you are here
Multi-node, four behavioral profiles
March 23-29, 2026
UPD-2
March 31, 2026
UPD-3
April 2026
Update Brief #1 March 29, 2026

Dota mdrfckr:
Six More Days, Two Nodes, Four Profiles

This document extends the observation window from March 23–29 and documents campaign activity across two honeypot nodes. It does not replace the initial brief - it adds new data, refines the behavioral taxonomy, and documents what changed and what remains open.

sessions: 666 period: Mar 23–29, 2026 nodes active: 2 of 3 unique IPs: 546 behavioral profiles: 4
Part 1 98% of SSH intrusions come from one worm - initial investigation, March 15–22 read →

Methodology and scope

Data collection

Session counts

Node distribution

NodeSessionsProfiles observedFirst session
Node 1 - DE (Frankfurt)600V0, V1, V2, V3Mar 23, 01:42 UTC
Node 3 - FR (Paris)66V0 onlyMar 29, 00:04 UTC

Behavioral profile clustering

What this dataset cannot answer

What the extended window showed

The campaign continued at high volume after the initial observation window closed. Across two nodes, we recorded 666 sessions from 546 unique source IPs between March 23 and March 29. Activity peaked sharply on March 26, then dropped, then partially resumed.

Mar 23
38
Mar 24
108
Mar 25
122
Mar 26 ▲
236
Mar 27
46
Mar 28
13
Mar 29
37

The March 26 spike - 236 sessions in a single day, 177 of them from the minimal V0-GHOST profile, from 177 distinct source IPs - does not have a clear explanation in the data. It is consistent with a coordinated wave of execution across many source hosts, followed by retasking or a pause. The triggering mechanism is not observable in this dataset.

Four behavioral profiles

The campaign shows four recurring command-set clusters. We refer to them as behavioral profiles rather than confirmed variants: the data is consistent with four distinct deployed scripts, but we cannot fully exclude that shorter profiles represent truncated executions of longer ones.

Profile Sessions Unique IPs First seen Commands SSH key Recon /tmp/up.txt kthreadadd .systemcache
V0-GHOST 253 229 Mar 24, 01:50 3 - - - -
V1-SCOUT 25 24 Mar 24, 05:59 22 - - -
V2-LITE 91 85 Mar 23, 02:18 24 - -
V3-LATERAL 228 208 Mar 23, 01:42 29–31

All four profiles share the same RSA backdoor key (comment: mdrfckr) and open with the same persistence sequence: key injection into ~/.ssh/authorized_keys, password change via chpasswd, and credential staging to /tmp/up.txt. This three-step sequence is the common invariant across all 597 classified sessions.

V3-LATERAL was observed first in this dataset. The most feature-complete profile appeared at 01:42 UTC on March 23. V0-GHOST, the minimal profile, was not observed until the following day. That ordering is notable but should not be read as evidence of development sequence - V0 may have been running earlier on hosts outside our observation window, or on credentials that did not match until March 24. One possible interpretation is that a stripped-down profile was deployed at scale after the heavier toolkit had already run its first wave.

Observed: lateral movement chain

Of the four profiles, V3-LATERAL is analytically the most important: it is the only one that contains a credential-staging and private-range scanning chain. The following sequence is reconstructed from observed command logs:

# Step 1 - plant backdoor key echo "ssh-rsa AAAA...== mdrfckr" >> ~/.ssh/authorized_keys # Step 2 - change password (locks out competing access) echo "root:[new-random-string]" | chpasswd # Step 3 - write original credential to staging file echo "[username] [original-password]" > /tmp/up.txt # Step 4 - set campaign marker echo "1" > /var/tmp/.systemcache436621 # Step 5 - unpack payload, run lateral scanner cd /tmp/.X291-unix/.rsync/c kthreadadd -t 150 -S 6 -s 6 -p 22 -P 0 -f 0 -k 1 -l 1 -i 0 /tmp/up.txt 192.168 # 8 minutes later: kthreadadd -t 150 -S 6 -s 6 -p 22 -P 0 -f 0 -k 1 -l 1 -i 0 /tmp/up.txt 172.16 # 20 minutes later: /tmp/.X291-unix/.rsync/initall

kthreadadd uses the credential written to /tmp/up.txt to attempt SSH logins across 192.168.x.x and 172.16.x.x - private address space only. 150 threads, port 22.

Whether these attempts succeed on real infrastructure is not observable from our honeypot telemetry. What the command sequence shows: the credential used to reach this session is written to /tmp/up.txt and passed directly to kthreadadd for private-address scanning.

Defender implication. An SSH honeypot compromise is not necessarily self-contained if the honeypot shares subnet space with real infrastructure. kthreadadd will attempt the compromised credential against every host in the same /16. Honeypot network isolation from production segments is relevant here.

The campaign marker

Every V3-LATERAL session in our dataset reads and then writes the same file: /var/tmp/.systemcache436621. The suffix 436621 is consistent across all 228 V3 sessions, both nodes, and all six days of observation.

This is consistent with a reinfection check: the file appears to serve as a marker for previously touched systems. It may also function as a campaign-scoping mechanism - a different operator using the same codebase with a different suffix would produce a different marker. The consistency of 436621 across time, geography, and both nodes is consistent with a single coordinated campaign, though operator count and infrastructure are not observable from telemetry.

Credential targeting: service accounts

The V0-GHOST profile - responsible for the March 26 high-volume sweep - targets a dictionary that includes application-specific service accounts beyond generic system defaults. A selection from observed sessions:

UsernameAssociated software / role
informaticaInformatica data integration platform
informixIBM Informix database
openeulerHuawei OpenEuler Linux distribution
teamcityJetBrains CI/CD server
controlmBMC Control-M job scheduler
keycloakRed Hat identity and access management
kubeflowMachine learning workflows on Kubernetes
hdfsHadoop distributed filesystem
tigergraphGraph analytics database

These usernames do not exist on default Linux installations. The credential list extends beyond generic system defaults and includes names associated with specific software ecosystems - consistent with a broader, application-aware dictionary rather than a purely opportunistic one.

V3-LATERAL shows a different bias: 84 of 228 sessions used root credentials. The full lateral movement profile appears more often with elevated access, which is consistent with a workflow that benefits from root privileges for persistence installation.

France node: first contact on March 29

Node 3 (France) opened port 22 on March 27. On March 29 at 00:04 UTC, the first mdrfckr session was observed - roughly 48 hours after exposure. By end of day: 66 sessions from IPs in Asia, Southeast Asia, and Europe. All 66 used the V0-GHOST profile - minimal key-plant, nothing more.

This is consistent with V0-GHOST operating as a minimal, fast-execution profile: plant the key and terminate quickly. Whether a follow-up sweep with a heavier profile was planned is not known.

Node 2 (US): no sessions observed

The US node recorded zero sessions attributed to this campaign. Node 2 uses a fixed credential set (sysadmin, dicom, backup) with non-default passwords - none of which appear in the login patterns seen on Nodes 1 and 3. Credential mismatch is one possible explanation, but zero-observation alone cannot isolate cause. Scan coverage, routing, and exposure timing remain viable alternatives.

What we observed, what we infer, what remains open

Observed
  • 666 sessions across 2 nodes, Mar 23–29
  • V3-LATERAL first in dataset: Mar 23, 01:42 UTC
  • V0-GHOST first: Mar 24, 01:50 UTC
  • V0-GHOST spike: 177 sessions, 177 IPs, Mar 26
  • .systemcache436621 in every V3 session
  • /tmp/up.txt written with login credential, read by kthreadadd
  • kthreadadd targets 192.168.x.x + 172.16.x.x, 150 threads
  • Node 3 first session: Mar 29, 00:04 UTC
  • Node 2: 0 sessions in period
Inferred
  • Single coordinated campaign - consistent with shared marker and key across both nodes
  • V0-GHOST consistent with a high-volume, low-touch profile; V3 with a more feature-complete intrusion chain
  • Mar 26 spike consistent with a coordinated wave of execution; triggering mechanism not observable
  • /tmp/up.txt credentials plausibly sourced from real victim environments
  • Node 2 zero-hit consistent with credential mismatch; other causes not excluded
  • V3 first-seen ordering consistent with heavier profiles preceding stripped variants in this dataset
Unknown
  • Whether V0/V1 are distinct scripts or truncated V3 executions
  • Exact origin of all credentials in /tmp/up.txt
  • Whether kthreadadd lateral attempts succeed on real networks
  • Operator count, C2 infrastructure, or origin
  • Why V0-GHOST dropped to zero after Mar 26
  • Whether Node 3 will see heavier profiles in subsequent days

Timeline

March 23, 01:42 UTC
V3-LATERAL first observed on Node 1 (DE). Full profile - key plant, recon, credential harvest, lateral movement binary. 27 sessions on day one.
March 23, 02:18 UTC
V2-LITE first observed. Lighter profile, no lateral binary. 10 sessions on day one.
March 24, 01:50 UTC
V0-GHOST first observed. 3-command minimal profile. First appears the day after the heavier profiles.
March 25
V0-GHOST volume more than doubles: 53 sessions. V3 holds at 40. Total: 122.
March 26
177 V0-GHOST sessions from 177 distinct source IPs. Total 236 - highest single day in the observation window. V0-GHOST does not return at comparable volume in subsequent days.
March 27–28
Sharp decline. V0-GHOST inactive. V3 continues at lower volume. 59 combined sessions.
March 29, 00:04 UTC
Node 3 (France) first contact. 66 V0-GHOST sessions by end of day. New node reached within ~48 hours of port 22 becoming reachable.

Indicators of Compromise

These observables are included as detection anchors based on what was directly seen in session logs. Several are campaign-specific - the marker suffix and deployment path in particular may vary across campaigns using the same codebase.

TypeValueConfidence
SSH Key marker mdrfckr in authorized_keys comment field high - invariant across all profiles
Campaign marker file /var/tmp/.systemcache436621 high - consistent in all V3 sessions; suffix may vary by campaign
Lateral movement binary kthreadadd high - observed directly in command logs
Deployment path /tmp/.X291-unix/.rsync/c/ medium - consistent in observed V3 sessions; may vary
Credential staging file /tmp/up.txt high - written and consumed in observed sessions
Lateral scan targets 192.168.x.x, 172.16.x.x high - observed in kthreadadd invocation
Payload archive dota3.tar.gz medium - referenced in decoded payload; not directly captured

Limitations

Observation is ongoing. Node 3 (France) is now active.
A third geo-diverse node (Singapore) is planned for the coming weeks.

Initial brief (Mar 15-22) →    Erratum #1 →    Two Bot Pools →

← all investigations