Mint volume — issued rows per day; purple = day with Tracebit use events
Campaign lifecycle — 57 journey-fingerprint sigs, bar = first_seen → last_seen (sensor count in label)
Curated kill-chains — registry campaigns, maintained at briefing time
CREDENTIAL-DRAIN active
Mint→use pipeline, not a trap template. №32: 80.96.59.28 (ALEXHOST MD) mint→use from ONE host — 5x GetCallerIdentity success + 2 denied. №33: zero use returns (101 creds / 34 collectors); hoard ≈589, Feo Prest .175 leads at 69 mints in 6d.
flowchart LR
MINT["Empty-IP mint burst<br/>on one node"] --> COLLECT["Collector harvest<br/>(forged AI-crawler UAs)"]
COLLECT -->|"minutes later"| USE["AWS use from egress IPs"]
USE --> S1["ConsoleLogin<br/>GetSigninToken<br/>GetCallerIdentity ✓24"]
USE --> S2["Denied recon ops<br/>GetAccount ×108<br/>DescribeInstances ×97<br/>ListUsers ×6"]
S1 --- POLICY["legacyOwnerAccess<br/>deny-all policy held"]
NIGHTAGENT dormant
DROPPER RETIRED 09-24: the nightagents/nightshell repo is 404 with its GHSAT token attached — the token was byte-identical across 14 windows. Eighth run (№28) was the campaign's first mint: 105.158.191.248, two full passes on farm 09-21, 1 credential issued, zero AWS use since. Idle three windows and counting; the phpunit verify body <?php echo "NightAgent";?> is the surviving fingerprint — a return must carry a NEW dropper URL.
flowchart LR
V["phpunit webshell verify<br/>NightAgent echo"] --> D["nightshell dropper<br/>RETIRED 09-24 — 404<br/>repo removed"]
D -.-> L["form login<br/>user=root&pass=wrong"]
L --> W["wp-batch SQLi<br/>UNION SELECT"]
W --> MINT["1 mint №28<br/>(zero AWS use)"]
METADATA-HUNT idle
Idle since №22 as a campaign; 7th marker-light window. №33: 3 @fs marker rows again (136.85.48.119, farm, 2nd window) with a 291-ev credential-family run (firebase/gcp-credentials, graphql, forged AI-crawler UAs, 3 mints) — resumption candidate.
№33: .246 farm census-without-mints (2,100 ev) + control 6 mints; pool .43.180 1 mint. Census cadence holds, mint output uneven.
flowchart LR
OP["/46 pool + external ops<br/>forged Googlebot/2.1"] --> SWEEP["1,042-path census<br/>12-s mint bursts"]
SWEEP --> MINT["/.env mints<br/>35 (№28)"]
MINT --> HOARD["Standing hoard<br/>~290+ creds, zero use"]
REGISTRY-HUNT active
LeakIX l9scan template. №33: 8 full-kit IPs (aidev 4 / farm 4, 41 ev) + l9explore 88-ev passes on control/frantech + FIRST lauterbourg visit (4 IPs, 39 ev, new 131323 UA variant); 9 mint rows at 1/IP.
flowchart LR
L9["LeakIX l9scan<br/>DO IP pool"] --> W1["WebLogic console"]
W1 --> W2["Confluence · WHM/cPanel"]
W2 --> DR["Docker registry enum<br/>/v2/internal/..."]
DR --> GR["/graphql introspection<br/>credential-canary hit"]
GR --> MINT["Mints 1/IP<br/>6 (№28)"]
№28: fifth operator 119.40.84.186 (BDCOM BD, same IP as №27) burst→sustained: 18,063 xmlrpc + 18,063 wp-login POSTs (17,946 distinct pairs) over 6.5 h on netcup. Fleet-wide 19,101 wp-login events from 38 IPs; 924 are background brute.
flowchart LR
OP["Operator rotates<br/>(1337 Svcs · GCP · Google BE · BDCOM BD)"] --> PRE["Preflight wlwmanifest<br/>+ wp/v2/users"]
PRE --> FLOOD["system.multicall flood<br/>1,600–18,063 POSTs"]
FLOOD --> WPL["wp-login phase<br/>one distinct password per POST"]
MALWARE-DICT active
Pfcloud 204.76.203.18 loop RESUMED №26 (first absence was №22): 2,059 ev control + 2,060 ru-edge in 27 h, byte-identical, 569 paths.
Named operator 69.5.20.14 (Byteplus, ID). №24: first idle window. Byte-identical 404-path passes, 9-UA rotation, /.aliyun/* sweep.
flowchart LR
OP["Byteplus 69.5.20.14<br/>9-UA rotation"] --> CENSUS["404-path byte-identical<br/>census + suffix fanout"]
CENSUS --> ALI["/.aliyun/* 21-path<br/>credential sweep"]
ALI --> ZERO["0 mints —<br/>recon only"]
SYNC-ENUM-WAVE active
№25 NEW: 8 IPs ran byte-identical 282-event WordPress user-enum passes (270 tarpit + 12 enum calls), Chrome/127 UA, staggered ~15 min across control, ru-edge, sponge 18:41-20:01 UTC 09-18. №24 2-IP run was the same shape; third run, promoted.
flowchart LR
Q["Scheduler queue<br/>1 IP per ~15-min slot"] --> P["Byte-identical 282-ev pass<br/>270 tarpit cycles + 12 enum calls"]
P --> N1["control"]
P --> N2["ru-edge"]
P --> N3["sponge"]
N1 --- ZERO["0 mints"]
MEGA-DICT active
№32 ninth replay froze the manifest at 13,189 (0 first-ever). №33: no tenth replay — frantech long-path not-handled rows fell to 194, driving the node's −92% delta vs the replay-inflated baseline.
flowchart LR
F["13,189-path IoT dropper-URL<br/>dictionary (shared artifact)"] --> R["Replay: ~2m<br/>208 rotating UAs"]
R --- B["NEW stems: /qzxuuppn.*<br/>+/nshk* · /nsh* — first growth<br/>under the 31173 operator"]
WP-BATCH family recurring
Not a standalone campaign since №12: wp-batch bodies ride inside INFOCREST-KIT / AKAMAI-CONFIG / NIGHTAGENT chains (SQLi via author_exclude UNION SELECT).
UN-MERGED from METADATA-HUNT this cycle per the registered trigger. №33: 5 Oracle IPs, one per sensor (140.245.97.14 ru-edge, 140.245.108.60 farm, 161.118.223.197 aidev, 161.118.240.138 control, 161.118.198.57 lauterbourg), identical Chrome/126; ~94-path census each, 1 mint each on ru-edge/aidev/control, farm run fully 400-rejected (32 errors).
REGISTERED №33 on the second run (trigger from №32). Same 2-step TTP, TWO NEW operators: 23.234.77.64 (4 markers / 4 mints) and 105.115.10.78 (4 markers / 5 mints); №32 originals 194.127.166.149 and 135.136.55.62 absent. All marker suffixes fresh per run.
flowchart LR
P["GET /__ss_probe_<32-hex>__<br/>python-requests/2.31.0<br/>guarantees first-seen"] --> E["GET /.env → 200<br/>canary mint"]
E --> END["Run ends<br/>no POST · no fanout"]
CONFIG-SWEEP active
87.120.104.29 (Sino Worldwide NO, Googlebot/2.1 forgery). №33: SECOND mint run — 12 mints inside farm's 2,950-ev 1-minute burst + 6 on control's 1,239-ev census. 121-114 trap families per pass. Promotion to mint collector confirmed per the №30 trigger.
flowchart LR
B["1-minute census burst<br/>1,600+ paths, 121 families"] --> W["wp-config · app-config ·<br/>aws-credentials paths"]
W --> MINT["/.env mints<br/>18 in-window"]
Mint → use sankey — sensor → minted → used-in-AWS / unused (all-time)
Network-layer recon — inbound sweeps on the fleet's public IPs (Arkime); not visible to the HTTP traps
Arkime window 2026-09-25 07:49:00 → 2026-09-26 07:49:49 UTC · 76,690 inbound sessions on 8 fleet public IPs. Identity is the client tool (fingerprint), never the source IP — sweep operators rotate addresses and keep the tool. Last column = source IPs per day.
fingerprint
campaign
sessions
src IPs
networks
countries
ports
src IPs/day
f555226df196…
LIBSSH-MASSSWEEP dispersed sweep (one port, many networks)