Yellow Cube CyberdefenseDFIR · Incident Reconstruction

Threat actor: ByteToBreach · Target: Magyar Államkincstár

Anatomy of the Treasury breach — and why 229.1 TB was never going out the door

A chronological reconstruction of the intrusion into the Hungarian State Treasury via the mvh inter-forest trust, built from the 24 operator screenshots he published and their embedded timestamps, then tested against the physics of moving 229 terabytes.

Window: 25 – 31 Jul 2026 Entry: esb.mvh.allamkincstar.gov.hu Timezone: normalised to CEST (UTC+2) Prepared: 2026-08-06
Intrusion span
5.5 days
foothold → public leak
Exfil window after 229 TB found
~68 hours
(28 Jul → 31 Jul)
Datastore capacity seen in ESXi
229.1 TB
116 VMs, du -sh /vmfs
Bulk exfil verdict
Infeasible & not the plan
public leak ≈ 70 MB proof pack

Attack chain

Access Discovery Collection Impact / disclosure

Every step carries a yellow Yellow Cube strip with the short answer to “what stops this?”. The full breakdown — prevent, detect, stop and harden — is in Breaking the chain at the end of this report. Step numbers follow the attack chain; where several actions fall inside the same few hours of 26 July, the order reflects the operator’s own workflow across parallel sessions rather than strict clock order.

  1. Jul 2522:14–22:22 CEST
    01Initial access

    WebLogic RCE foothold

    CVE-2017-10271 deserialization against the ESB vhost drops a Python reverse shell. Not a prod host — but a doorway into the Rural Development Agency (MVH) network.

    CVE-2017-10271rev shell → 91.229.23.961_FOOTHOLD.png
    Yellow Cube

    Deny-by-default DMZ egress (Stormshield) strands the reverse shell; WithSecure vulnerability management surfaces a nine-year-old WebLogic CVE before someone else finds it. How ↓

  2. Jul 25→26overnight
    02Persistence & lateral

    MS17-010 on the entry subnet

    EternalBlue against a legacy Win2003 box on 10.254.5.x, Sliver C2 with a SOCKS5 pivot. "Useless host, but adds persistence" — the protected networks are on other segments.

    MS17-010Sliver C22_PERSISTENCE.png
    Yellow Cube

    Cynet is one of the few modern EDR platforms that still covers Windows Server 2003 — SOC-backed detection on the host other vendors abandoned; Stormshield segments it, Stellar Cyber sees the beacon. How ↓

  3. Jul 2614:28 CEST
    03Second vector

    Forgotten JDWP debug port

    An exposed Java Debug Wire Protocol port on a WebLogic host yields a second, cleaner RCE as the oracle user.

    JDWP RCEsession @ 2026-07-26 14:28:20 +02003_FORGOTTEN_JDWP.png
    Yellow Cube

    Port allowlisting (Stormshield) plus external attack-surface discovery (Group-IB ASM) close a debug port that authenticates nobody. How ↓

  4. Jul 26midday
    04Recon / segmentation

    Hitting the segmentation wall

    Outbound is throttled to pings and basic commands (likely SELinux + egress filtering); WebLogic vulns present but limited. Neighboring subnets already feel walled off.

    no outbound except ICMP4_POKING_WEBLOGIC.png
    Yellow Cube

    The blocks were already firing — nobody read them. Stellar Cyber centralises the deny events and the Yellow Cube 24×7 SOC puts a human behind them. How ↓

  5. Jul 2611:46 CEST
    05Identity system

    Oracle Identity Self-Service

    Access to the Magyar Államkincstár identity portal — thousands of government accounts, modifiable, with reversible passwords. Scope of inter-domain connectivity starts to reveal itself.

    OIM 10.254.21.121:140005_BIG_IDENTITY_MESS.png
    Yellow Cube

    Segment the portal (Stormshield), vault its admin identities (Imprivata), plant decoys (Cynet) — and Strategic Planning turns the reversible-password finding into a fix. How ↓

  6. Jul 2619:55 CEST
    06Credential & trust discovery

    The exchmentes admin & the forest trust

    Shell history exposes a full-AD service account (exchmentes / Papi******_44_) and a bidirectional inter-forest trust: MVH ↔ allamkincstar.gov.hu. Full admin — but only if the firewalled 10.10.x segment can be reached.

    login from 185.195.232.103trust: FOREST_TRANSITIVE7_HISTORY_TREASURES.png
    Yellow Cube

    A vaulted, rotating service credential (Imprivata) never reaches shell history; Varonis flags it the moment it authenticates across the forest boundary. How ↓

  7. Jul 2700:28–02:21 CEST
    07Forest mapping

    BloodHound & DCSync across forests

    NTDS secrets dumped, domain trusts graphed: MVH.LOCAL ↔ ALLAMKINCSTAR.GOV.HU ↔ child forest MAK, plus the NYUFIG / ONYF pension forests. The reachable path to Tier-0 is mapped.

    BloodHound collected 2026-07-27T00:28Zlogin 185.195.232.1639_CROSSING_FRONTIERS.png · 10_FSP.png
    Yellow Cube

    DCSync from a non-DC is one of the cleanest signals in Active Directory — Varonis or Cynet on every forest’s DCs, with Cymulate proving the alert actually fires. How ↓

  8. Jul 2714:33 CEST
    08Data access & storage scouting

    OIM database + mapping the storage estate

    Oracle Identity Manager schema browsed in DBeaver; corporate file shares enumerated (Terinfo 15.9 TB, Adat 15.9 TB, ATF 5 TB, shadowcopy). Small stores everywhere — the treasury data to be slowly downloaded, VMs to be encrypted.

    DBeaver query 2026-07-27 14:33:158_ORACLE_OIM_VAULT.png · 11_SCOUTING_STORAGES.png
    Yellow Cube

    Varonis is built for precisely this: least privilege across 36 TB of shares, and an alarm the moment something crawls them. How ↓

  9. Jul 2718:24–22:05 CEST
    09Defense evasion

    Confronting Symantec (SEP)

    SCCM secret-policy dump; Symantec blocks outbound beacons and named-pipe LSASS access. Workaround: RDP to the SEP box and stop smc.exe / SepMasterService, then dump LSASS — "lsass works :)".

    loot/2026-07-27_18-24-42_policiesnmap 22:05 CEST12_CONFRONTING_SYMANTEC.png
    Yellow Cube

    Symantec worked until it was switched off. Tamper and heartbeat-loss alerts (Cynet, WithSecure) escalated by the 24×7 SOC make that switch-off the loudest event of the night. How ↓

  10. Jul 2813:41–15:25 CEST
    10Virtualization takeover

    vCenter & the 229.1 TB datastores

    vCenter credentials finally found (administrator@vsphere.local); 116 VMs, 3 hosts, Primera/IBM datastores totalling 229.1 TB (du -sh /vmfs). The plan: encrypt VMs in place from ESXi. Slide ends "To be continued".

    FreeRDP 10.17.0.200du -sh /vmfs → 229.1T13_VCENTER_TAKEOVER.png
    Yellow Cube

    Isolate the management plane (Stormshield), vault the vSphere SSO administrator (Imprivata), and ship ESXi syslog somewhere someone is watching (Stellar Cyber). How ↓

  11. Jul 3019:36 CEST
    11Staging & upload

    Proof pack to Google Drive

    15 items uploaded to a Drive folder "MAGYAR" by account "Loic Matrier": 13 of the screenshots, CREDS.txt, RECON.txt and one video — roughly 70 MB total. Not bulk data.

    Drive activity 7:36 PM Jul 30google-drive-uploader.png
    Yellow Cube

    By this point the data has already left — the controls that mattered were two steps earlier. Outbound application policy (Stormshield) is the last net. How ↓

  12. Jul 3111:27 CEST
    12Public disclosure

    Leak post on spear[.]cx

    "The Magyar Conquest" thread goes live with the screenshot set and backup mirrors (pCloud, sync.com, MediaFire). Explicit note: "data is not for sale… no ransom is asked."

    spear[.]cx DLS · edited +46 minDLS.png
    Yellow Cube

    Group-IB Digital Risk Protection turns discovery from weeks into hours, and takes the mirrors down. How ↓

Could 229.1 TB actually have left the network?

To move all 229.1 TB, you'd need

Sustained rate, 24/7Over
≈ 7.5 Gbps68 h window
≈ 3.9 Gbps5.5-day intrusion
≈ 707 Mbps30 days

Time to move 229.1 TB at a sustained rate

Line rateDuration
100 Mbps≈ 212 days
1 Gbps≈ 21 days
10 Gbps (ideal)≈ 2.1 days

And the environment made even that impossible

Verdict

229.1 TB was never an exfiltration target. It is the size of the virtualisation estate the operator staged for in-place encryption from ESXi — the destructive half of a double-extortion play. The screenshots say it plainly: "VMs will be encrypted directly from ESXi… while the data from state treasury will be slowly downloaded."

Exfiltration was deliberately selective — OIM / treasury databases, credential material, and a curated proof set — not a wholesale 229 TB copy, which the time budget and the pipe both forbid. The public leak was a ~70 MB proof pack, explicitly "not for sale, no ransom." He didn't have time to take it all, and by his own plan he was never trying to.

Operator attribution & tradecraft (video evidence)

Beyond the 24 screenshots, the operator also left behind a screen-recording video. 125 extracted keyframes were reviewed frame-by-frame for anything that profiles the operator rather than the victim — desktop environment, tool versions, own hostnames, C2 infrastructure, and clock artifacts.

Confirmed on the operator's own desktop

  • Own hostname leaked: multiple terminal prompts read kali@stephlabs (zsh, recurring "corrupt history file /home/kali/.zsh_history"). The attack VM is titled second_kali, run in Oracle VM VirtualBox on a Linux Mint/Cinnamon desktop (Terminator, VS Code, Firefox pinned; a genmon tray widget).
  • C2 framework: a live sliver > console lists mTLS implants beaconing to attacker-controlled infrastructure, running as root/oracle on Linux/amd64 hosts inside the victim's Hyper-V/vSphere estate.
  • Payload naming: the dropped implant is staged from the operator's own /root/magyar.exe — "magyar" is Hungarian for "Hungarian," a deliberate nod to the victim's nationality, not a victim-side artifact.
  • Toolset on screen: NetExec, Evil-WinRM (v3.5 → v3.9), FreeRDP/xfreerdp, Nmap 7.94SVN, TigerVNC, Burp Suite Community Edition with a dedicated "PortSwigger - Chromium" profile, vSphere Client.
  • Habits: two Terminator search bars left pre-filled with sshd and encrypted — evidence of manual log/keyword hunting through captured output.
  • OPSEC: no VPN/Tor client chrome, password manager, personal wallpaper, bookmarks bar, or non-English notes appeared anywhere across the 125 keyframes — a disciplined, tool-only desktop apart from the hostname and C2 leak.

Indicators pulled from the video

TypeValue
Operator hostnamekali@stephlabs
Attack VMsecond_kali (VirtualBox)
C2 frameworkSliver (mTLS)
C2 listener IPs84.206.46.11 · 84.205.244.140 · 85.209.80.29
Payload/root/magyar.exe
Reused lateral-move credsexchmentes / Papi******_44_

Where do the Sliver beacons actually go?

Listener IPLocationNetwork
84.206.46.11Budapest, HUAS31581 NISZ (Hungary's national e-gov operator) — registered to MVH, the same forest whose trust into allamkincstar.gov.hu was the operator's path to Tier-0 (event 06)
84.205.244.140Athens, GRAS35506 Information Society S.A. — Greece's SYZEFXIS public-administration network (proxy18.syzefxis-hosting.gr)
85.209.80.29Tbilisi, GEAS209332 — Georgian High Council of Justice, Dept. of Common Courts

The other two sit in unrelated networks — no shared ASN, prefix, registrant, or upstream peer across any of the three (BGP neighbour sets checked directly, zero overlap), and no public reporting ties the three IPs together. All three resolve to foreign government / judicial / public-administration networks rather than bulletproof or attacker-owned VPS space, consistent with the beacons riding abused third-party infrastructure as redirectors rather than dedicated C2 boxes. The MVH coincidence is the one lead worth chasing directly — WHOIS alone can't say whether this listener sits inside the already-compromised MVH/NISZ estate or is just a coincidental neighbour in the same national allocation. Everything here identifies where the traffic surfaces, not who is behind it.

Independent corroboration: a separate leak of operator screenshots from a second ByteToBreach victim (Georgia's court system, teen.court.ge / hcoj.gov.ge) shows the identical pattern in the same address space — 85.209.82.28 exploited as the initial foothold, 85.209.83.139 used purely as an SSRF pivot to reach otherwise-unreachable internal segments. Both share AS209332 and the same registrant as the Georgian listener IP above. The same leak also captions the operator's actual rented VPS — 194.102.105.193, AlexHost SRL, Moldova — an ordinary commercial host, structurally nothing like the three government-network listener IPs. This doesn't confirm 85.209.80.29 itself was compromised, but it does show this operator's demonstrated habit of routing traffic through already-breached boxes inside victim government networks rather than his own infrastructure.

Reading the clocks correctly

Terminal scrollback visible in the video shows Nmap runs stamped 2026-07-29 01:12–02:37 CEST, run from an attacker-controlled Linux pivot (root@NLDW2-AW3) — genuine operational history, progressing forward in order. But the desktop clock in the same frames, on the outer recording host, sits steady at 17:29 → 17:38 for the whole 9-minute clip. That's not a live contradiction: it means the video is a later walkthrough replaying old terminal scrollback, recorded well after the operation, not a real-time capture of it. The CEST timestamps describe when the intrusion happened; 17:29–17:38 only describes when the walkthrough was filmed, on an unknown date and in an unknown timezone.

This refines, rather than contradicts, the BloodHound/PDT finding below: there are at least three distinct clocks in play across the evidence — the compromised estate (CEST), the attacker's own pivot host at operation time (CEST), and the analysis/recording desktop (unknown zone) — and they should not be cross-compared as if they were one.

Locale artifacts that belong to the victim, not the attacker

Hungarian date/month/weekday formatting, Hyper-V/vSphere object names (teszt, Gép5, achiv_gepek, virusirto1-3), and a vSphere login banner reading "Hol a tavasz?" ("Where is spring?") are all properties of the compromised Hungarian systems — a custom MOTD set by the treasury's own IT team, not attacker or vendor content. None of it should be read as attacker attribution.

Third-party attribution — KELA Cyber names the operator

Everything above is derived from the operator’s own leaked artifacts. It profiles a machine and a method, not a person. The one substantiated public attempt to put a name to ByteToBreach comes from KELA Cyber’s Intelligence Center, which profiled the actor in November 2025 and updated the assessment on 17 July 2026.

KELA’s assessment

KELA assesses that ByteToBreach is likely operated by Zakaria Mahdjoub, an individual based in Oran, Algeria — an assessment it supports with technical evidence including data recovered from infostealer-infected devices, browser cookies and associated digital artifacts.

The word “likely” is KELA’s own and is reproduced deliberately. This is a threat-intelligence assessment, not a legal finding: no charge, prosecution or conviction is known, and nothing in the evidence this report examines independently corroborates the identification. It is included because it is the most substantiated public attribution available, and because the reasoning behind it can be evaluated on its own terms.

How the identification was built

The chain is worth reading in full, because it is a textbook case of an operator undone by his own past rather than by his current tradecraft:

What KELA’s profile confirms about this intrusion

Source: KELA Cyber Intelligence Center, “ByteToBreach: A Deep Dive into a Persistent Data Leak Operator”, KELA Cyber — Threat Actor Spotlight. Published November 2025, updated 17 July 2026. www.kelacyber.com/blog/bytetobreach-a-deep-dive-into-a-persistent-data-leak-operator/ — retrieved 3 August 2026. KELA notes that the full actor profile holds further detail available only to its customers; everything quoted here is from the public post.

Password hygiene — what the credential dump actually exposes

The leaked CREDS.txt (4.6 MB, 65,885 lines) is not one list but three: a hand-picked block of infrastructure credentials, a plaintext Oracle Identity Manager vault export covering 9,032 accounts, and a complete NTDS.DIT dump of 16,200 principals with 40,467 Kerberos keys. Because 9,047 of those passwords are in the clear, the estate's real password hygiene can be measured directly rather than guessed at — and from that measurement we can put a number on how much of the hash-only remainder a single operator with a small GPU rig would recover.

1 · How much is already known, and how much falls next

The 10,073 domain user & service accounts in the NTDS dump

1,104 already recovered 11.0 % — measured, CPU only
≈7,960 fall within a week 79.0 % — projected, 1 TH/s rig
≈1,010 likely to resist 10.0 % — projected

What the 1,104 already-recovered accounts break down into

503 plaintext-confirmed NT hash matches a vault password
13 blank password NT hash 31d6cfe0…
588 cracked in this analysis CPU only, home-made 1.3 M list

1,104 of 10,073 accounts (11.0 %) fell in minutes of CPU time, from just 197 distinct passwords — no GPU, no public wordlist. That is the floor, not the ceiling; section 4 establishes the ceiling.

Raw credential inventory

Plaintext passwords in the dump9,0479,032 vault + 15 infrastructure
NTLM hash rows (NTDS.DIT)16,20216,200 unique principals
— user & service accounts10,073only 8,777 distinct hashes
— computer accounts6,129machine-generated, not at risk
Kerberos key rows40,467aes256 / aes128 / des-cbc-md5
Accounts with a blank password13NT hash 31d6cfe0…
Accounts still storing an LM hash45sub-second recovery

One nuance worth recording: 4,664 vault usernames also appear in the NTDS dump, yet only 503 of those hashes still match the vault password. Rotation is happening — roughly 89 % of the overlapping accounts had changed password between the vault snapshot and the NTDS dump. It bought nothing, because the generator template never changed (see section 4): a fresh vault export re-compromises the same population on day one.

The habits behind the numbers

2 · How the 9,032 vault passwords break down

CategoryCountShare
Machine-generated, 8-char Xx#xxxxx5,07656.2 %
Machine-generated, 10-char Xx#xxxxxxx2,64129.2 %
One shared service password MvhX*******m1238199.1 %
User-chosen, human-readable4685.2 %
User-chosen, ad-hoc random-ish260.3 %
Blank field2

Only 5.5 % of the vault was actually chosen by a human. Those 494 passwords are where every bad habit lives — and they are the tail that cracks first.

3 · Profile of the 468 human-chosen passwords

PropertyCount
Shape Word + digits (+ symbol)205
End in digits326
Contain a 4-digit year157
Contain no special character at all193
Exactly 8 characters (policy minimum)47
Satisfy all four character classes298
Contain Hungarian diacritics33

Median length 11, mean 11.9, shortest 8, longest 22. The complexity policy is being satisfied while contributing almost no entropy: 44 % of these collapse into one predictable template.

The bad habits, ranked by how much damage they do

Representative samples from the 468 human-readable passwords

Usernames deliberately omitted. These are the recurring shapes, not outliers — each group below is a template a wordlist plus a rule set reproduces mechanically. Counts (×n) are the number of domain accounts sharing that exact password.

Personal data minimised for publication: surnames reduced to an initial and birth dates truncated to the year (shown as …). Usernames are omitted throughout. The unredacted set stays in the evidence file and is not published.

Reset / default templates — the most reused passwords in the domain

A1B2c3d4×389ABcd1234_×107A1B2c3d4_×79111111×61abcd1234×59Start12345678×32ABcd_1234×32ABcd1234×23Start12345678.×21123456×20ABcd1234?×14Abcd1234×9abcd12345×7Mvh12345×7Alma01×6A1B2c3d4?×6QWer_1234×5Abcd-123×5asdfgh×5Jelszo.01×4qwertz×3Alma,123×3

The word "password" or "secret" itself

Jelszó123password123Jelszo002002IdmJelszo11.HMVHjelszo2Danijelszo11@Titok2017.secret2017Password-1Ezazenjelszavam_013"this is my password"

Pets, animals, cartoon characters — 77 of 468

Nyuszi1?bunnyMacsek66!kittyMalacka98*PigletMicimacko&06Winnie-the-PoohMikkamakka06Pumukli.30Felixnyuszi.12Bodzakutya12345elder-dogNorcamacska1999Oposszum234opossumpingviN1967penguinGalagonya33hawthornKokorcsin.01LunaLovegood95Magneto95.Spongya12345SpongeBobCsiga?4321snailMedve?54bearPele4Mokus_dormouse+squirrelAgroMokus0808.Ricsikutya1997…Accipiter1992Saxicola_rubicola_2

Food and drink

+3MákosTészta!poppy-seed pastaSpagetti78Krumplieshus16potato&meatMogyiSzotyi0224sunflower seedsBarackospite2apricot pieGofri618Gofri618waffleMákos202210Rebarbara@02rhubarbCoca1ColaCumpi11!!!Almafa2012apple tree

Places — 27 of 468

Tatabánya2800!town + postcodeKaposvar1983*/Szeged2023Miskolc732100Gödöllőpostcode + townIsaszeg2020!Kulsovat_1349.Podmaniczkyutca1975street nameNorvegiaBergen2003Manchester1998Rovinj1991!Damaszkusz.288452Oktogon21!Bekesmegye1987countySzlovenia18

Months, seasons, dates — 21 of 468

Szeptember2021November01Oktober,77December2021!Januar-2020Január02Februarban02*"in February"2022Augusztus.1991Szeptember…Tavasztündér:)9spring fairyÉTavasz_8Szerda0323/Wednesday

Brands, teams, pop culture

Chelseafootballclub95BrigiSlipknot10RockyBalboa-0017Tourdefrance1Showderklub2020!Jobaratok911"Friends" (TV)Lucifer96Windows.8888Opelastra1.600Hondacb6502Sencor.1977Datalogic.2020Tiger_1981Anthology13Cappy2005.

The employer's own name and systems — 16 of 468

Államkincstár69"State Treasury"Agrártámogatások2022"agricultural subsidies"Idmrendszer7600"IDM system"Dr§Kincstarnok01"treasurer"Mák@munka02MÁK + "work"Mvhpgy01!HmvH_MvH202209MvhX*******m123Menedzsment88Kincsem2022Mak.hu112345Idm1

Name plus date of birth — the single largest group, 225 of 468

Dani1993…Vargak-1981…B…Dita1966…Csutkasor1975…Ferenc.L…95…Marcell2017…Ági1990…Évike_1995Bettike1982B…katka2005R…Rebeka18Kriszta2019.Andi.1977Zsombor…LucaKata2018…Viktoria1983…

Phrases and sentiment — including most of the handful that survives cracking

Ezazenjelszavam_013"this is my password"Nemtudom2+"I don't know"00Gondoltam1T"I thought"Dolgozz02_"work!"liciDOLGOZIK21?1"Lici is working"SZEretleksasad123"I love you"Változás2023"change"Bizalom_1985"trust"Optimizmus1998"optimism"T@rtsKiAdrik@7!!"hold on, Adrik"Nándimese1"Nándi's tale"F***off1986@Bobi-Kacsa-Bruni12

Password equals username, or username plus one

xeloperatorweblogicK@l…@i1user accountK@l…@i2its _ADMIN accountVargak-1981…echoes its username

Read the groups as one sentence: a Hungarian dictionary, a list of given names, a gazetteer, the twelve months, and four digits of a year would regenerate the large majority of this set — which is exactly what the one-second wordlist-and-rules row in section 4 does. The passwords that resist are the ones that are simply long: Chelseafootballclub95, Podmaniczkyutca1975, Agrártámogatások2022, Ezazenjelszavam_013 — none of them clever, all of them 19 characters or more.

What a single operator with a small GPU rig actually gets

This is not an APT with a datacentre behind it. The evidence points to one operator on a VirtualBox Kali VM, so the honest question is what that attacker recovers. The answer is uncomfortable, for one structural reason: NTLM is unsalted and uniterated. Each candidate password is hashed once and compared against all 16,200 hashes simultaneously — cracking ten thousand accounts costs exactly what cracking one costs. A single RTX 4090 sustains roughly 252 GH/s against NTLM; four of them, a rig one person can buy and run at home, reach about 1 TH/s. Every figure below uses 1 TH/s.

4 · Time to recover the 9,030 vault passwords at ≈1 TH/s NTLM (4 × RTX 4090)

0.3 s
Mask attack on the 8-char generator template ?u?l?d?l?l?l?l?l — 3.2 × 10¹¹ candidates
5,07656.2 % cum.
≈1 s
Wordlist + rules — 10 M Hungarian / English / name list × 52 k rules, 5.2 × 10¹¹ candidates
+1,19169.4 % cum.
3.6 min
Mask attack on the 10-char generator template ?u?l?d?l?l?l?l?l?l?l — 2.2 × 10¹⁴ candidates
+2,64198.6 % cum.
1.8 h
Exhaustive 8-character brute force — full 95-character keyspace, 6.6 × 10¹⁵. Catches everything ≤ 8 chars regardless of content
+4799.1 % cum.
7.3 d
Exhaustive 9-character brute force — 6.3 × 10¹⁷. Still well inside one operator's patience
+5799.8 % cum.
1.9 y
Everything still standing — needs exhaustive 10-character (6.0 × 10¹⁹) or a targeted hybrid attack
180.2 % survive

98.6 % of the vault falls inside four minutes; 99.8 % inside eight days. Only 18 passwords out of 9,030 would still be standing — things like Ezazenjelszavam_013, Chelseafootballclub95, Agrártámogatások2022, Bobi-Kacsa-Bruni12, Podmaniczkyutca1975. Long and unusual beats short and complex, every single time. And even several of those fall to a combinator or hybrid attack, so 18 is the optimistic reading.

The two mask lines are the finding that matters most. The "random" 8- and 10-character vault passwords are not random: they are a fixed template — two letters, one digit, then five or seven lowercase letters. That template collapses the apparent 8-character search space from 6.6 × 10¹⁵ down to 3.2 × 10¹¹, a factor of 20,000. A cracker who recovers a handful of them by any other route sees the pattern immediately and masks the rest for free. The generator was evidently chosen so passwords could be read aloud over a phone; it cost the estate four orders of magnitude of entropy.

5 · Projecting onto the whole domain — 10,073 user & service accounts

Attack stepElapsedAccountsBasis
Plaintext already in hand, hash-confirmed0503measured
Home-made 1.3 M list, CPU onlyminutes1,104 (11.0 %)measured
Exhaustive ≤ 8 characters — on length alone, whatever the content1.8 h≈ 5,700 (57 %)vault length profile
Two generator masks + wordlist & 52 k rules< 5 min≈ 8,600 (85 %)projected
All of the above, plus exhaustive ≤ 9 characters≈ 8 d≈ 9,060 (90 %)projected
Residual — needs targeted or hybrid workmonths +≈ 1,010 (10 %)projected

The two "measured" rows are direct results. The rest projects the vault's measured length and template distribution onto the NTDS population — defensible because both populations come from the same password policy and the same generator, and deliberately more conservative than the vault's own 99.8 %, since the NTDS set also contains accounts the vault never managed. The headline holds either way: roughly nine in ten domain accounts inside a working week, on hardware that costs less than a used car. The 6,129 computer accounts are the exception — machine-generated 120-character secrets, the one part of the estate with genuinely sound password hygiene, and only because no human ever chose them.

Conclusion — password hygiene

This estate's password hygiene did not fail at the user; it failed at the policy layer. Users behaved exactly as the rules incentivised them to. Minimum length 8, four character classes, forced rotation — what that measurably produces is Word + birthyear + !: 205 of 468 human passwords in one template, 326 ending in digits, 157 carrying a year, median length 11. Every complexity box was ticked. None of it bought a single hour of resistance.

The rotation worked, and still changed nothing. 89 % of the overlapping accounts had rotated their password between the two snapshots, and the estate stayed fully exposed — because the generator template behind the new passwords was identical to the old one. Rotating a secret inside a predictable template is not rotation; it is re-drawing from the same 3.2 × 10¹¹ pool.

Concentration, not weakness, is what made this catastrophic. Three passwords gated the entire middleware tier. One password — MvhX*******m123 — gated the identity manager that held the other 9,032 in plaintext. One reset template, A1B2c3d4, sat on 389 domain accounts. The operator never needed to be good at cracking. He needed exactly one of a very small number of secrets, and the architecture offered him several routes to each.

Lessons learnt

Breaking the chain — what would have stopped each step

Each of the twelve steps above carries a yellow Yellow Cube strip with the short answer. This section is the long one: for every step, what would have prevented it, what would have detected it while it was happening, what would have stopped it mid-execution, and which configuration weaknesses our posture management would have flagged long before any of it began.

Prevent — the step could not happen Detect — it becomes visible Stop — it is broken mid-execution Harden — the misconfiguration we flag in time

How to read this — methodology

01 · WebLogic RCE foothold CVE-2017-10271 · nine years unpatched

An internet-facing ESB vhost running a 2017 deserialization vulnerability, exploited to drop a Python reverse shell to a raw IP address.

Prevent
Find the internet-facing host and the middleware CVE before an attacker does — external and authenticated vulnerability scanning, plus continuous external attack-surface discovery. WithSecure Elements, Group-IB ASM. NGFW intrusion prevention may block the deserialization payload, subject to signature coverage for a 2017 CVE and to TLS visibility on the vhost: Stormshield.
Detect
An oracle-owned Java process spawning python and opening an outbound socket is a textbook endpoint detection: Cynet, WithSecure. The reverse-shell session itself on the wire: Stellar Cyber. Someone awake to triage it at 22:14: Yellow Cube 24×7 SOC.
Stop
Automated host isolation and process termination: Cynet, WithSecure. Default-deny egress from the DMZ segment, so the shell has nowhere to call: Stormshield.
Harden
A nine-year-old patch gap is not an unknown — it is an unread finding. Continuous vulnerability and posture management turns it into a work order with a date on it: Cynet ESPM and WithSecure Elements flag the unpatched middleware, the internet-facing exposure and the missing host hardening, and keep flagging until it is closed. Applying the patch itself belongs to your platform team or MSSP partner; knowing it is nine years overdue, and being told so every day until it is fixed, is ours. Where the patch cycle genuinely cannot move, Stormshield IPS and DMZ segmentation are the compensating controls we design around it.
02 · MS17-010 on the entry subnet Windows Server 2003 · Sliver + SOCKS5

EternalBlue against a legacy host the operator himself called useless, kept purely for persistence, with a SOCKS5 pivot on top.

Prevent
East-west segmentation so SMB never reaches a host like this from anywhere that matters: Stormshield. Posture management flags the end-of-life operating system and the enabled SMBv1 dialect as standing findings long before anyone exploits them: Cynet ESPM, WithSecure Elements. And worth stating plainly, because it is usually got wrong: MS17-010 did ship for Server 2003 as an out-of-band patch in May 2017 — “unsupported, therefore unpatchable” is factually incorrect here.
Detect
This is where the portfolio does something almost nobody else does: Cynet still supports Windows Server 2003. That is a deliberate vendor decision, and in an estate like this one it is worth a great deal — legacy hosts are precisely where operators start, exactly because everyone else’s agent stops at Server 2012. A modern, SOC-backed EDR on a 2003 box turns the attacker’s favourite blind spot into monitored ground: the EternalBlue exploitation, the Sliver implant and the SOCKS5 pivot all become visible on the host itself. Alongside it a network sensor sees both halves independently — the SMBv1 exploit attempt, then the beacon’s periodicity and the tunnel’s shape: Stellar Cyber, Group-IB. And decoy hosts and shares catch a lateral-mover who cannot tell them from the real thing: Cynet deception. (Cynet’s published support matrix lists Windows Server 2003 from Service Pack 2, noting that some protection capabilities are partially limited on it — detection and response, which is what matters on a host like this, are present: help.cynet.com/en/articles/47-supported-operating-systems.)
Stop
Host isolation on the 2003 box itself, which is only possible because there is an agent on it: Cynet. Quarantine the source host or the whole segment at the firewall: Stormshield. SOC-driven containment: Yellow Cube 24×7 SOC, Group-IB IR.
Harden
SMBv1 cannot be disabled on Server 2003 — it is the only dialect the host speaks — so this machine will always carry residual risk until it is retired. Posture management gives you what you need to retire it: the inventory, the risk score and the evidence to fund the migration. The difference this makes is timing. Instead of an unmonitored legacy host discovered by an attacker, you get a monitored, segmented, agent-covered host on a decommissioning plan — defended while it waits.
03 · Forgotten JDWP debug port clean RCE as oracle

A Java Debug Wire Protocol port left listening on a production WebLogic host, giving a second and cleaner way in than the exploit did.

Prevent
Ingress port allowlisting, so a debug transport is unreachable even when someone leaves it enabled: Stormshield. External and internal port discovery, so it shows up on an inventory before it shows up in an intrusion: Group-IB ASM, WithSecure.
Detect
The JDWP-Handshake exchange is distinctive on the wire, and what the oracle account does next is distinctive on the host: Stellar Cyber, Cynet, WithSecure.
Stop
Host isolation: Cynet, WithSecure. Egress deny, as in step 01: Stormshield.
Harden
JDWP authenticates nobody — that is the specification, not a bug — so there is no patch to wait for, and that is exactly why catching it as a misconfiguration is the control that matters. A listening debug transport is precisely the class of finding posture management exists to surface: Cynet ESPM and WithSecure Elements flag it on the host, Group-IB ASM flags it from the outside, and both keep flagging it until it is closed. Putting a build gate in front of the next one is a Strategic Planning deliverable.
04 · Hitting the segmentation wall the defence that worked

Egress throttled to ICMP, SELinux in the way, neighbouring subnets walled off. The operator wrote it down himself: "no outbound, except pings and basic commands." This is the single strongest finding in the entire chain — the controls did their job. Nobody was reading their output.

Prevent
Already working. Keep deny-by-default and make deny-logging mandatory rather than optional: Stormshield.
Detect
Centralise the firewall and SELinux deny events and alert on the pattern rather than the individual event — repeated blocked egress from one host, a walk across adjacent subnets. This needs breadth of third-party log-source support, which is exactly what Stellar Cyber is built for — firewall, host and appliance telemetry landing in one place alongside the endpoint picture.
Stop
A human behind the alert, at 02:00, every night: Yellow Cube 24×7 SOC, WithSecure MDR, Group-IB MXDR. Continuous proof that the alert actually fires before you need it: Cymulate. And rehearsal of this exact failure mode — control fired, nobody reacted: CYBER RANGES plus Yellow Cube HackLab.
05 · Oracle Identity Self-Service thousands of accounts · reversible passwords

The identity portal reached on port 14000: thousands of government accounts, modifiable, with passwords stored so they can be read back in cleartext.

Prevent
Nothing in an internet-facing ESB segment should be able to reach :14000 at all: Stormshield. Multi-factor in front of the portal and vaulted, checked-out identities for its administrators: Imprivata — with the integration scope validated rather than assumed.
Detect
Decoy identities planted inside the identity store, whose use is malicious by construction and therefore needs no threshold tuning: Cynet. An abnormal privileged session on the administrative path: Varonis, Stellar Cyber.
Harden
This is the highest-leverage finding in the whole engagement. Reversible, plaintext-recoverable password storage is a configuration decision, and it is why a single export handed over 9,032 identities with zero cracking effort (see the password-hygiene section above). Posture management surfaces weak identity-store and self-service configuration as a standing finding rather than a surprise: Cynet ESPM, WithSecure Elements. Varonis maps who can reach the store and with what rights. And the decision itself — turn off reversible encryption, kill self-service retrieval, segment the portal — is scoped, evidenced and driven to closure by a Strategic Planning audit. This is the finding that engagement exists to produce.
06 · Service account & forest trust credential in shell history

A full-AD service account sitting in a shell history file, and a bidirectional FOREST_TRANSITIVE trust from MVH into allamkincstar.gov.hu.

Prevent
A privileged secret that is vaulted, rotated and checked out on demand never exists in a script or a history file to be found: Imprivata PAM. Phishing-resistant multi-factor on every path that account could use: Imprivata, Stormshield for VPN and firewall administration.
Detect
A service account logging on interactively, from a commercial hosting IP, across a forest boundary — three anomalies stacked in one event: Varonis is the strongest AD-native option here, supported by Cynet and Stellar Cyber.
Stop
Disable and rotate the account, block the source, isolate the host: Cynet, WithSecure, Stellar Cyber.
Harden
This trust is the entire reason the intrusion reached the Treasury at all, so it deserves to be visible rather than assumed. Varonis maps Active Directory permission relationships and cross-forest exposure, which turns “we have a trust” into a scored list of the paths it actually opens; posture management flags the trust configuration alongside it. Applying selective authentication, SID filtering or quarantine is then a design change delivered with your MSSP partner — scoped by the audit that surfaced it, not improvised during an incident.
07 · BloodHound & DCSync across forests NTDS.DIT dumped

Domain trusts graphed and NTDS secrets replicated out across four forests, mapping the reachable path to Tier-0.

Detect
DRSUAPI replication requested by something that is not a domain controller is one of the highest-precision detections in all of Active Directory security: Varonis, Cynet, WithSecure, Stellar Cyber. Two conditions decide whether it works here: collectors on the domain controllers of every forest — including the child MAK forest and the pension forests — and an allowlist for legitimate replication partners and directory-sync tooling. The realistic failure mode in an estate this shape is not false positives, it is a forest nobody instrumented. Honeytoken accounts seeded into AD close the gap from the other side: once a decoy credential appears in a stolen NTDS dump, any later use of it is unambiguous. Cynet.
Stop
Honestly: not stoppable mid-execution. NTDS extraction completes in seconds. What is real is fast containment of the source host and an emergency double krbtgt rotation: Yellow Cube 24×7 SOC, Group-IB IR. And proving the detection exists before the night it matters: Cymulate.
Harden
Varonis surfaces excessive directory rights — including DS-Replication-Get-Changes held by principals that are not domain controllers — as a posture finding before anyone abuses them, which is by far the cheapest moment to remove them. Enforcing tiering so that a DCSync-capable identity is never reachable from a web-tier shell is the design half, delivered with your MSSP partner. And one point of tradecraft that saves real money: bulk LDAP enumeration of the BloodHound kind is genuinely hard to separate from inventory and IAM tooling, so we put the weight on the DCSync signal and the honeytoken rather than chasing it. Knowing which signal to trust is the difference between a SOC and an alert queue.
08 · OIM database & storage scouting 36 TB of shares enumerated

The identity-manager schema browsed in a database client, and the corporate file estate walked: 15.9 TB, 15.9 TB, 5 TB, plus shadow copies.

Prevent
Least-privilege share permissions, stale and open-access remediation, and sensitive-data discovery so the blast radius is known before someone else measures it. Varonis is the single best portfolio fit for any step in this chain, supported by Teramind on the endpoint side.
Detect
Mass share enumeration, crawl patterns, shadow-copy access, and abnormal access by an identity that has no business doing it: Varonis, Teramind, Stellar Cyber. Decoy files sitting inside the real shares: Cynet.
Stop
Automated permission revoke, account disable or share quarantine triggered by the abnormal-access alert rather than by a ticket: Varonis, Cynet.
Harden
The reason this step worked is that nobody knew what was in those shares, who could read them, or that something had just walked all of them — a solvable, licensable condition, and exactly what Varonis is for. On the database side, posture management flags the host’s configuration and exposure, and Oracle’s own auditing — which should have been recording schema access and evidently was not — is a configuration we validate in the audit rather than assume. Turning it on costs nothing, and it would have made step 08 noisy.
09 · Confronting Symantec agent stopped by hand, then LSASS dumped

The pivot of the whole intrusion — and the step where the commercial argument is strongest, precisely because the incumbent product was working. Symantec blocked the outbound beacons and blocked named-pipe access to LSASS. It kept working right up to the moment somebody switched it off: RDP to the security-tooling host, stop two services, dump LSASS. The operator's own note reads "lsass works :)".

Prevent
No interactive local-administrator RDP to the host that runs your security tooling. Brokered, multi-factored, just-in-time and recorded instead: Imprivata PAM for the vaulting and brokering, Teramind for privileged-session recording.
Detect
The honest control of record for this step is not blocking — it is noticing. Agent heartbeat loss and security-service-stop tamper events, correlated and escalated within minutes: Cynet, WithSecure, Stellar Cyber as the log consumer, escalated by the Yellow Cube 24×7 SOC. Symantec was already producing blocks that night; the gap was that no one acted on them.
Stop
Automatic isolation triggered by tamper or heartbeat loss, so switching the agent off is the containment trigger: Cynet, WithSecure. Proof that the tamper → alert → isolate chain works end to end: Cymulate. Stated precisely, because the distinction matters: tamper protection raises the cost of disabling an agent and emits a high-fidelity tamper event — it does not make removal impossible for an attacker who already holds local administrator.
Harden
This is what posture management is for, and this step is the case for it. LSASS left unprotected, Credential Guard off, RunAsPPL not set, interactive administration still required on a security-tooling host, legacy authentication and over-permissive client policy left enabled on the management server — every one of those is a setting, and every one of them is exactly what Cynet’s ESPM and WithSecure Elements’ posture management flag continuously. Crucially, they flag them in time: as a scored finding on a dashboard weeks before an operator turns them into a credential dump, not as a forensic conclusion afterwards. The attacker did not defeat a control at this step. He walked through a configuration nobody was checking — and checking it is a licence and a process, both of which we deliver.
10 · vCenter & the 229.1 TB datastores plan: encrypt in place from ESXi

vSphere SSO administrator credentials found, 116 VMs and 229.1 TB of datastores enumerated, and a stated plan to encrypt the estate in place.

Prevent
An isolated management network reachable only through a hardened jump host — the single highest-value change for this step: Stormshield. Vault, multi-factor and rotate the vSphere SSO administrator, and break the six-character, organisation-name credential family it belongs to: Imprivata. Find the file holding those credentials before the attacker does: Varonis, Teramind.
Detect
vCenter and ESXi syslog shipped into a platform someone watches — SSH enabled on a host, a new local account, mass VM power, snapshot or datastore operations. This is a standard, well-supported log source: Stellar Cyber.
Stop
Management-VLAN isolation to cut the session: Stormshield. SOC containment and an incident-response retainer already in place, not negotiated during the incident: Yellow Cube 24×7 SOC, Group-IB IR.
Harden
A hypervisor is defended at its access path, not with a third-party agent inside it — that is VMware’s own architecture, and it is why the three controls above are the correct answer rather than a compromise: isolate the management plane, vault the credentials that reach it, and take the telemetry it already emits. Posture management flags the management-plane exposure and the credential reuse that led here. One precision we hold to, because it is the easiest thing to get wrong in a document like this: cloud detection and response covers IaaS and SaaS, so on-premise vSphere is scoped to segmentation, privileged access and log telemetry. Naming the right control for the right platform is the whole job. Recovery from in-place encryption is treated separately below.
11 · Proof pack to Google Drive 70 MB · personal account

Thirteen screenshots, the credential dump, the recon output and one video — roughly 70 MB — uploaded to a personal cloud account.

Prevent
Outbound URL and application policy on the egress path: Stormshield. Endpoint-side upload control alongside it: Teramind. Separating a corporate tenant from a personal account on the same domain is a proxy-layer configuration rather than a licence, and it is worth designing properly in the audit — because blocking the domain wholesale breaks legitimate business use, and that trade-off should be a decision rather than an accident.
Detect
Endpoint data-loss controls on browser upload, clipboard and archive creation over credential-file content: Teramind, Varonis — conditional on the staging host being managed. The evidence in this case points at the operator's own virtual machine, in which case the decisive controls are the network and data-layer ones above rather than anything on his endpoint. Note also that 70 MB is far below any volumetric threshold: the signal here is content and destination, never size.
Harden
The honest conclusion for this step is also the useful one: by the time data reaches an upload dialog, it has already left. Which is precisely why the investment belongs two steps earlier — Varonis on the data and Imprivata on the credentials decide the outcome of an exfiltration long before anything reaches a browser. Perimeter upload blocking is the last net, not the plan, and a report that told you otherwise would be selling you the wrong thing.
12 · Public disclosure leak thread + cloud mirrors

The leak thread goes live with the screenshot set and mirrors on three consumer cloud services, with an explicit note that no ransom is being asked.

Detect
Leak-site, underground-forum and mirror monitoring with actor attribution attached: Group-IB Digital Risk Protection — the portfolio’s digital-risk capability, and the same source this report already relies on for the ByteToBreach actor profile, which is about as concrete as coverage evidence gets. Frame it accurately, though: this is a time-to-know control. Detection lands after publication, typically hours to days, and pre-publication warning only materialises if the actor teased the victim beforehand — common, but never guaranteed.
Stop
Split the takedown claim honestly. The actor's own leak site is not realistically takedown-able. The consumer-cloud mirrors and the Drive folder from step 11 are, through abuse channels — and that is the concrete, deliverable value: Group-IB plus an incident-response retainer for the coordinated response.
Harden
By the time a leak post exists there is nothing left to prevent, and saying so plainly is part of the job — the work at this point is NIS2 incident notification, legal counsel and communications, and it should be rehearsed long before it is needed. What remains genuinely controllable is the two rows above: how fast you know, and how fast the mirrors come down. “Data is not for sale, no ransom is asked” removes the negotiation, but changes nothing about the notification clock.

Coverage at a glance

StepControl layers defeatedNIS2Portfolio answer
01 WebLogic RCEVuln mgmt · Posture · NGFW · EDR · MDRrequiredCovered — detect, contain, and flag the patch gap in time
02 EternalBluePosture · Segmentation · EDR · NDR · DeceptionimpliedCovered — including EDR on Server 2003
03 JDWPNGFW · Posture · NDRrequiredCovered — posture flags the misconfiguration
04 Blocked egress unwatchedSIEM · MDR · BAS · Cyber rangerequiredCovered — and the best opportunity in the chain
05 Reversible identity vaultMFA · PAM · ITDR · DeceptionrequiredCovered — posture finding plus audit ownership
06 Credential in history + trustPAM · MFA · ITDR · PosturerequiredCovered — trust exposure mapped and monitored
07 DCSync across forestsITDR · SIEM · BAS · DeceptionrequiredCovered — high-fidelity detection, rights flagged early
08 36 TB of shares walkedData governance · Posture · UEBAaboveCovered — Varonis owns the data layer
09 Security agent switched offPosture · PAM · EDR · XDR · MDR · BASrequiredCovered — tamper alert plus 24×7 response
10 vCenter & 229.1 TBSegmentation · PAM · SIEM · BackuprequiredCovered at the access path — see the backup note
11 Upload to personal cloudNGFW · Data governanceimpliedCovered — egress policy plus endpoint control
12 Public disclosureDigital risk protection · IRrequiredCovered — time-to-know and mirror takedown

Four NIS2-required layers were defeated outright in this intrusion: privileged access management, identity threat detection, managed detection and response, and backup. For a public-administration essential entity, those four are not optional maturity — they are the floor.

The five places this chain actually breaks

Twelve equally-weighted recommendations are not a recommendation. Ranked by how much of the intrusion each one removes:

The configuration and design findings — and who closes them

Most of what this operator exploited was a setting, not a missing product. That is good news: settings are findable. Every item below is something posture management surfaces continuously, or a Strategic Planning audit scopes and evidences — and then your MSSP partner closes.

StepConfiguration or design findingSurfaced by → closed by
01Nine years of unapplied middleware patches on an internet-facing hostCynet ESPM / WithSecure → partner patch cycle
02End-of-life Server 2003 host on a routable segment, SMBv1 enabledPosture inventory → lifecycle plan (Cynet covers it meanwhile)
03JDWP debug transport listening in productionCynet ESPM / Group-IB ASM → release gate
05Reversible, plaintext-recoverable password storage in the identity managerPosture + Strategic Planning audit → platform change
06Bidirectional forest trust with no selective authentication or SID filteringVaronis → AD design change with partner
07Directory replication rights held by non-domain-controller principalsVaronis posture → rights cleanup
08Oracle native auditing not recording schema accessPosture + audit → enable native auditing
09LSASS unprotected — Credential Guard off, RunAsPPL not setCynet ESPM / WithSecure → GPO change
09Over-permissive management-server client policy and legacy service accountPosture finding → SCCM redesign with partner
10Immutable, offline, tested VM backupYour backup vendor → see the note below
11Personal-versus-corporate cloud tenant separationProxy design in the audit → partner implementation
12Disclosure is not preventable — notification readiness isRehearsed NIS2 notification process

On backup — the last resort for step 10, and where it sits

Step 10 was a plan to encrypt 229.1 TB of virtual machines in place. Against in-place encryption there is exactly one control that answers, and it is immutable, offline, tested backup. It belongs in this report as the last resort it is — the thing that decides whether an incident is a bad week or an existential one.

And restoring 229.1 TB is far from trivial. The same physics that made bulk exfiltration infeasible earlier in this report cuts the other way on recovery:

Sustained restore rateTime to restore 229.1 TB
500 MB/s (typical dedupe appliance, single stream)≈ 5.3 days
1.5 GB/s (well-tuned, parallel streams)≈ 42 hours
10 Gbps (ideal, line-rate)≈ 2.1 days

And every one of those figures assumes the backups exist, that they are immutable, that they were not encrypted alongside the estate they protect, and that a restore at this scale has actually been rehearsed rather than merely configured. A backup job that has never been restored is a belief, not a control.

Yellow Cube does not offer a backup solution, and that is a positioning choice rather than an oversight. Backup and business continuity is a mature, extremely well-served market where a specialist cyber-defence distributor adds little that the incumbents do not already do better. The portfolio principle is one specialist vendor per domain, and only in domains where there is genuine value to add. This is a domain to bring your existing vendor to — the recommendation here is that the control is tested, not that it is bought from us.

Where to start

This intrusion did not succeed because the defences were absent. Egress filtering held. SELinux held. Symantec blocked the beacons and blocked LSASS. The operator wrote his own frustration down in his own screenshots. Every one of those controls did what it was bought to do — and then reported into a room with nobody in it, for five and a half days.

So the first move is not a product, it is a shift. Put a 24×7 detection-and-response capability behind the controls that already exist, then close the credential and identity architecture gaps behind it. Cymulate to prove continuously that the detections fire rather than assuming it; CYBER RANGES and the Yellow Cube HackLab to rehearse the specific failure this report documents — a control fired, nobody reacted; and a Strategic Planning audit against the 27-layer Security Stack Matrix to find the remaining gaps before someone else maps them for you.

Deployment and hardening are delivered by your local MSSP partner. What Yellow Cube brings is the portfolio, the 24×7 SOC behind it, the incident-response retainer for the night it matters, and the enablement to make all three work.

Yellow Cube Cyberdefense

Digital forensics & incident response · offensive security · XDR assurance

Prepared by Akos Bodis · akos.bodis@yellowcube.eu · +36 20 932 1240

yellowcube.eu