2026. aug. 13-i előadásunk — 30 percben végigvesszük ezt a rekonstrukciót: mely védelmi kontrollok működtek, miért nem lett a riasztásokból reagálás, és hol lehetett volna megszakítani a támadási láncot.
Felvétel megtekintése → Diasor megtekintése →Támadó: ByteToBreach · Célpont: Magyar Államkincstár
A kincstári incidens anatómiája — és miért nem hagyta el a hálózatot 229,1 TB
A Magyar Államkincstárba az mvh erdők közötti (inter-forest) bizalmi kapcsolaton át történt behatolás időrendi rekonstrukciója — a támadó által közzétett 24 képernyőkép és a rajtuk látható időbélyegek alapján. A jelentés azt is megvizsgálja, hogy mennyi időt venne igénybe 229 terabájt adat továbbítása.
Vezetői összefoglaló
2026. július 25. és 31. között egyetlen operátor tört be a Magyar Államkincstárba a Vidékfejlesztési Hivatallal (MVH) fennálló kétirányú, erdők közötti bizalmi kapcsolaton keresztül, tartományi rendszergazdai jogosultságot szerezve négy Active Directory erdőben, és teljes kontrollt a virtualizációs környezet felett — 116 virtuális gép és 229,1 TB adattár.
A védelmi eszközök jórészt jelen voltak és jórészt működtek. A DMZ kimenő szűrése elvágta az operátor reverse shelljeit, a Symantec pedig blokkolta a beaconjeit és a hitelesítő adatokhoz való hozzáférését — egészen addig, míg kézzel le nem állította a Symantecet. Nem a kontrollok mondtak csődöt, hanem a reagálás: a riasztásaikra öt és fél napon át senki nem reagált.
Tömeges adatkivitel nem történt. 229,1 TB mozgatása a behatolás időablakában fizikailag kivitelezhetetlen volt — tartós ~7,5 Gbps kellett volna hozzá —, és nem is ez volt a terv. A nyilvános szivárogtatás egy ~70 MB-os bizonyítékcsomag volt, azzal a kifejezett megjegyzéssel, hogy váltságdíjat nem kérnek. A tartós kárt a hitelesítő adatok kiszivárgása okozza, nem az ellopott adatok mennyisége: 9 047 jelszó már nyílt szövegben van, és további több ezer jelszó egy héten belül feltörhető GPU-val.
Az első lépés egy képesség, nem egy termék: 24×7 észlelési és reagálási szolgáltatás a meglévő védelmi eszközökhöz, majd a jelszókezelés és az identitásarchitektúra hiányosságainak megszüntetése. A javítás lépései A lánc megszakítása szakaszban található.
Támadási lánc
Minden lépésen ott van egy sárga Yellow Cube sáv a rövid válasszal arra, hogy „mi állítja ezt meg?”. A teljes kifejtés — megelőzés, észlelés, megszakítás és biztonsági megerősítés — a jelentés végén, A lánc megszakítása szakaszban található. A lépésszámok a támadási láncot követik; ahol több művelet július 26-án ugyanabba a néhány órába esik, a sorrend a támadó párhuzamos munkameneteinek munkafolyamatát tükrözi, nem szigorú óra szerinti rendet. Minden kártya meg van jelölve az elsődleges MITRE ATT&CK technikájával.
-
júl. 25.22:14–22:22 CEST
WebLogic RCE — a kezdeti hozzáférés
A támadó a CVE-2017-10271 deszerializációs sérülékenységet kihasználva Python-alapú reverse shellt indít az ESB virtuális kiszolgálóján. Nem éles kiszolgáló — de bejárat a Vidékfejlesztési Hivatal (MVH) hálózatába.
CVE-2017-10271reverse shell → 91.229.23.961_FOOTHOLD.pngYellow CubeAlapból tiltó kimenő szabály a DMZ-ben (Stormshield) elvágja a reverse shellt; a WithSecure sebezhetőség-kezelés és a Group-IB ASM külső támadásifelület-felmérés egy kilenc éve nyitott, internet felé kitett WebLogic CVE-t hoz felszínre — még más előtt. Hogyan ↓
-
júl. 25→26.éjszaka folyamán
MS17-010 a belépési alhálózaton
EternalBlue egy régi Win2003 gép ellen a 10.254.5.x-en, Sliver C2 SOCKS5 pivottal. „Haszontalan gép, de perzisztenciát ad” — a védett hálózatok más szegmenseken vannak.
MS17-010Sliver C22_PERSISTENCE.pngYellow CubeA Cynet az egyik kevés modern EDR, amely ma is fedi a Windows Server 2003-at — SOC által támogatott észlelés azon a gépen, amit mások elhagytak; a Stormshield szegmentálja, a Stellar Cyber látja a beacont. Hogyan ↓
-
júl. 26.14:28 CEST
Elfelejtett JDWP debug port
Egy nyitva hagyott Java Debug Wire Protocol port egy WebLogic gépen egy második, tisztább RCE-t ad az oracle felhasználóként.
JDWP RCEmunkamenet @ 2026-07-26 14:28:20 +02003_FORGOTTEN_JDWP.pngYellow CubePortszűkítés (Stormshield) és külső támadásifelület-felmérés (Group-IB ASM) bezárja azt a debug portot, amely senkit sem hitelesít. Hogyan ↓
-
júl. 26.napközben
Nekiütközve a szegmentációnak
A kimenő forgalom pingekre és alap parancsokra korlátozva (valószínűleg SELinux + egress-szűrés); a WebLogic-sebezhetőségek jelen vannak, de korlátozottak. A szomszédos alhálózatok már falakba ütköznek.
nincs kimenő forgalom az ICMP-n kívül4_POKING_WEBLOGIC.pngYellow CubeA tiltások már működtek — csak senki nem olvasta őket. A Stellar Cyber központosítja a tiltási eseményeket, a Yellow Cube 24×7 SOC pedig embert állít mögéjük. Hogyan ↓
-
júl. 26.11:46 CEST
Oracle Identity Self-Service
Hozzáférés a Magyar Államkincstár identitásportáljához — több ezer kormányzati fiók, módosíthatóan, visszafejthető jelszavakkal. A tartományközi kapcsolat mértéke kezd kirajzolódni.
OIM 10.254.21.121:140005_BIG_IDENTITY_MESS.pngYellow CubeSzegmentált portál (Stormshield), biztonságos jelszótárban kezelt rendszergazdai hitelesítő adatok (Imprivata), csali fiókok (Cynet) — a visszafejthető jelszótárolás problémájára pedig egy stratégiai tervezési audit határozza meg a javítás lépéseit. Hogyan ↓
-
júl. 26.19:55 CEST
Az exchmentes admin és az erdők közötti bizalom
A shell-előzmények felfednek egy teljes AD-jogú szolgáltatásfiókot (exchmentes / Papi******_44_) és egy kétirányú, erdők közötti bizalmi kapcsolatot: MVH ↔ allamkincstar.gov.hu. Teljes admin — de csak ha elérhető a tűzfallal védett 10.10.x szegmens.
bejelentkezés innen: 185.195.232.103bizalom: FOREST_TRANSITIVE7_HISTORY_TREASURES.pngYellow CubeSzéfben tárolt, automatikusan rotált szolgáltatásjelszó (Imprivata) soha nem kerül shell history-ba; a Varonis azonnal jelez, amint erdőhatáron át hitelesít. Hogyan ↓
-
júl. 27.00:28–02:21 CEST
BloodHound és DCSync az erdőkön át
NTDS-titkok kinyerve, tartományi bizalmak feltérképezve: MVH.LOCAL ↔ ALLAMKINCSTAR.GOV.HU ↔ MAK gyermek-erdő, plusz a NYUFIG / ONYF nyugdíj-erdők. A Tier-0-ig vezető elérhető útvonal feltérképezve.
BloodHound-gyűjtés 2026-07-27T00:28Zbejelentkezés 185.195.232.1639_CROSSING_FRONTIERS.png · 10_FSP.pngYellow CubeA nem tartományvezérlőről futó DCSync az AD egyik legtisztább jelzése — Varonis vagy Cynet minden erdő DC-jén, a Cymulate pedig igazolja, hogy a riasztás elsül. Hogyan ↓
-
júl. 27.14:33 CEST
OIM-adatbázis + a tárolókörnyezet feltérképezése
Az Oracle Identity Manager sémája DBeaverben böngészve; vállalati fájlmegosztások felderítve (Terinfo 15,9 TB, Adat 15,9 TB, ATF 5 TB, shadowcopy). Mindenhol kis tárolók — a kincstári adatokat lassan letöltik, a VM-eket titkosítják.
DBeaver-lekérdezés 2026-07-27 14:33:158_ORACLE_OIM_VAULT.png · 11_SCOUTING_STORAGES.pngYellow CubeA Varonis pontosan ezért készült: legkisebb jogosultság 36 TB megosztáson, és riasztás abban a pillanatban, amint valaki végigpásztázza őket. Hogyan ↓
-
júl. 27.18:24–22:05 CEST
Szembeszállás a Symanteccel (SEP)
SCCM titkos-házirend kinyerése; a Symantec blokkolja a kimenő beaconöket és a named-pipe LSASS-hozzáférést. Megkerülés: RDP a SEP-gépre, az smc.exe / SepMasterService leállítása, majd LSASS-dump — „lsass works :)”.
loot/2026-07-27_18-24-42_policiesnmap 22:05 CEST12_CONFRONTING_SYMANTEC.pngYellow CubeA Symantec működött — amíg le nem állították. A manipulációt vagy az ügynök kiesését jelző riasztás (Cynet, WithSecure) a 24×7 SOC-kal az éjszaka leghangosabb eseményévé teszi ezt. Hogyan ↓
-
júl. 28.13:41–15:25 CEST
vCenter és a 229,1 TB-os datastore-ok
A vCenter hitelesítő adatai végre megvannak (administrator@vsphere.local); 116 VM, 3 host, Primera/IBM datastore-ok összesen 229,1 TB (du -sh /vmfs). A terv: a VM-ek helyben titkosítása ESXi-ből. A dia így zárul: „To be continued”.
FreeRDP 10.17.0.200du -sh /vmfs → 229.1T13_VCENTER_TAKEOVER.pngYellow CubeZárja el a menedzsment-hálózatot (Stormshield), tárolja biztonságos jelszótárban a vSphere SSO rendszergazdai fiók hitelesítő adatait (Imprivata), és küldje az ESXi syslogot oda, ahol valaki figyeli (Stellar Cyber). Hogyan ↓
-
júl. 30.19:36 CEST
Bizonyíték-csomag a Google Drive-ra
16 elem feltöltve egy „MAGYAR” Drive-mappába a „Loic Matrier” fiókkal: a képernyőképek közül 13, a CREDS.txt, a RECON.txt és egy videó — összesen nagyjából 70 MB. Nem tömeges adatkivitel.
Drive-tevékenység 2026. júl. 30. 19:36google-drive-uploader.pngYellow CubeEz a feltöltés a támadó saját gépéről ment, nem kincstári hostról — így semmilyen hálózaton belüli kontroll nem éri el. Itt a Group-IB Digital Risk Protection válaszol: figyeli az alvilági piactereket, és jelez abban a pillanatban, amint az ellopott hitelesítő adatok eladásra kerülnek — a 9 047 már nyílt szövegben lévő, és az a több ezer gyenge hash, amit egy kis GPU-kkal felszerelt gép napok alatt feltör. Hogyan ↓
-
júl. 31.11:27 CEST
Szivárogtatás a spear[.]cx-en
A „The Magyar Conquest” topik élesben, a képernyőkép-készlettel és tartalék tükrökkel (pCloud, sync.com, MediaFire). Kifejezett megjegyzés: „az adat nem eladó… nem kérünk váltságdíjat.”
spear[.]cx DLS · szerkesztve +46 percDLS.pngYellow CubeA Group-IB Digital Risk Protection hetekről órákra rövidíti a felderítést, és leszedi a tükörpéldányokat. Hogyan ↓
Valóban elhagyhatta a hálózatot 229,1 TB? ↑ tartalom
A teljes 229,1 TB mozgatásához kellene
| Tartós sebesség, 0–24 | Ennyi idő alatt |
|---|---|
| ≈ 7,5 Gbps | 68 órás ablak |
| ≈ 3,9 Gbps | 5,5 napos behatolás |
| ≈ 707 Mbps | 30 nap |
229,1 TB mozgatási ideje tartós sebességen
| Vonali sebesség | Időtartam |
|---|---|
| 100 Mbps | ≈ 212 nap |
| 1 Gbps | ≈ 21 nap |
| 10 Gbps (ideális) | ≈ 2,1 nap |
És a környezet ezt is lehetetlenné tette
- A kimenő forgalom szűrve volt. A támadó saját jegyzete: „nincs kimenő forgalom a pingeken és alap parancsokon kívül.” A Symantec ráadásul blokkolta a kimenő beaconöket.
- Minden Tor / Proton VPN / Mullvad-on át ment. Az anonimizáló csatornák néhány tíz Mbps-re fogják a valós átvitelt — nem a több Gbps-re, amit egy teljes dump igényel.
- A célpontok fogyasztói felhők voltak. Google Drive, pCloud, sync.com, MediaFire. Már a Google Drive is ~750 GB/nap/fiók feltöltési korláttal jár → 229 TB ≈ 305 fiók-nap, és egyik sem képes 229 TB tárolására.
229,1 TB soha nem volt exfiltrációs célpont. Ez annak a virtualizációs környezetnek a mérete, amelyet a támadó helyben, ESXi-ből történő titkosításra készített elő — egy kettős zsarolás (double-extortion) pusztító fele. A képernyőképek egyértelműen kimondják: „a VM-eket közvetlenül ESXi-ből titkosítjuk… miközben az államkincstári adatokat lassan letöltjük.”
Az exfiltráció szándékosan szelektív volt — OIM / kincstári adatbázisok, hitelesítő anyagok és egy összeválogatott bizonyíték-készlet — nem a teljes 229 TB lemásolása, amit sem az időkeret, sem a hálózati sáv nem enged. A nyilvános szivárgás egy ~70 MB-os bizonyíték-csomag volt, kifejezetten „nem eladó, nincs váltságdíj”. Nem volt ideje mindent elvinni — és saját terve szerint sosem ezt akarta.
A támadó azonosítása és eszközkészlete (videobizonyíték) ↑ tartalom
A 24 képernyőkép mellett a támadó egy képernyőfelvételt is hátrahagyott. A videóból kinyert 125 kulcskockát képkockánként átnéztük olyan nyomok után kutatva, amelyek nem az áldozatot, hanem magát az operátort jellemzik — asztali környezet, eszközverziók, saját hosztnevek, C2-infrastruktúra és óra-artefaktumok.
Megerősítve a támadó saját asztalán
- Saját hosztnév szivárgott ki: több terminálprompt is kali@stephlabs-t mutat (zsh, ismétlődő „corrupt history file /home/kali/.zsh_history” hibával). A támadó VM neve second_kali, Oracle VM VirtualBoxban fut egy Linux Mint/Cinnamon asztalon (Terminator, VS Code, Firefox kitűzve; genmon tálca-widget).
- C2-keretrendszer: egy élő sliver > konzol mTLS-implantokat listáz, amelyek a támadó által kontrollált infrastruktúra felé kommunikálnak, root/oracle jogosultsággal futva Linux/amd64 gépeken az áldozat Hyper-V/vSphere-környezetében.
- Payload-elnevezés: a kihelyezett implant a támadó saját /root/magyar.exe fájlból származik — a „magyar” szó tudatos utalás az áldozat nemzetiségére, nem áldozat-oldali artefaktum.
- Képernyőn látott eszközök: NetExec, Evil-WinRM (v3.5 → v3.9), FreeRDP/xfreerdp, Nmap 7.94SVN, TigerVNC, Burp Suite Community Edition egy dedikált „PortSwigger - Chromium” profillal, vSphere Client.
- Szokások: két Terminator keresősáv előre kitöltve sshd és encrypted szavakkal — kézi log-/kulcsszókeresésre utal a rögzített kimenetben.
- OPSEC: a 125 kulcskocka semelyikén nem jelent meg VPN/Tor-kliens, jelszókezelő, személyes háttérkép, könyvjelzősáv vagy nem angol nyelvű megjegyzés — a hosztnév- és C2-szivárgástól eltekintve fegyelmezett, kizárólag munkához használt asztali környezet.
A videóból kinyert indikátorok
| Típus | Érték |
|---|---|
| Operátor hosztnév | kali@stephlabs |
| Támadó VM | second_kali (VirtualBox) |
| C2-keretrendszer | Sliver (mTLS) |
| C2 listener IP-k | 84.206.46.11 · 84.205.244.140 · 85.209.80.29 |
| Payload | /root/magyar.exe |
| Újrahasznált hitelesítő adat | exchmentes / Papi******_44_ |
Hova mutatnak valójában a Sliver-jelzések?
| Listener IP | Helyszín | Hálózat |
|---|---|---|
| 84.206.46.11 | Budapest, HU | AS31581 NISZ (Magyarország nemzeti e-kormányzati szolgáltatója) — az MVH nevére regisztrált blokk, ugyanaz az erdő, amelynek az allamkincstar.gov.hu-ba mutató bizalmi kapcsolata a Tier-0-hoz vezető utat adta (06-os esemény) |
| 84.205.244.140 | Athén, GR | AS35506 Information Society S.A. — Görögország SYZEFXIS közigazgatási hálózata (proxy18.syzefxis-hosting.gr) |
| 85.209.80.29 | Tbiliszi, GE | AS209332 — a Grúz Igazságszolgáltatási Legfelsőbb Tanács, Rendes Bíróságok Osztálya |
A másik két cím egymással kapcsolatban nem álló hálózatban van — nincs közös ASN, prefix, regisztráns vagy upstream szomszéd egyik pár között sem (mindhárom ASN BGP-szomszédlistáját közvetlenül ellenőriztük, nulla átfedéssel), és nyilvános forrás sem köti össze a három címet. Mindhárom külföldi kormányzati / igazságszolgáltatási / közigazgatási hálózatra mutat, nem bulletproof vagy támadó-tulajdonú VPS-térbe — ez összhangban áll azzal, hogy a jelzések visszaélésszerűen használt harmadik fél infrastruktúráján futnak redirectorként, nem dedikált C2-gépeken. Az MVH-egybeesés az egyetlen nyom, amit érdemes közvetlenül továbbvizsgálni — önmagában a WHOIS nem mondja meg, hogy ez a listener a már kompromittált MVH/NISZ-környezeten belül ül-e, vagy csak véletlen szomszéd ugyanabban a nemzeti IP-kiosztásban. Minden itt leírt csak azt mutatja meg, hova ér ki a forgalom — nem azt, ki áll mögötte.
Független megerősítés: a ByteToBreach egy második áldozatától (a grúz bírósági rendszertől, teen.court.ge / hcoj.gov.ge) származó, külön kiszivárgott operátori képernyőképek ugyanezt a mintát mutatják ugyanabban a címtartományban — a 85.209.82.28-at kezdeti belépési pontként használta ki, a 85.209.83.139-et pedig kizárólag SSRF-pivotként, hogy elérjen egyébként kívülről elérhetetlen belső szegmenseket. Mindkettő ugyanahhoz az AS209332-höz és ugyanahhoz a regisztránshoz tartozik, mint a fenti grúz listener IP. Ugyanez a szivárgás mutatja az operátor tényleges, bérelt VPS-ét is — 194.102.105.193, AlexHost SRL, Moldova — egy hétköznapi kereskedelmi hosztot, ami szerkezetileg semmiben nem hasonlít a három kormányzati hálózati listener IP-re. Ez nem igazolja, hogy a 85.209.80.29 maga kompromittálva lett, de megmutatja az operátor bevett szokását: a forgalmat szívesebben vezeti át már feltört, áldozati kormányzati hálózatokon belüli gépeken, mint a saját infrastruktúráján.
Az órák helyes értelmezése
A videóban látható terminál-előzmények szerint az Nmap-futások időbélyege 2026-07-29 01:12–02:37 CEST, egy támadó által kontrollált linuxos pivotgépről (root@NLDW2-AW3) — ez valódi, időrendben előrehaladó műveleti előzmény. Ugyanezeken a képkockákon azonban a felvevő gép asztali órája a teljes 9 perces klip alatt stabilan 17:29 → 17:38 között áll. Ez nem ellentmondás: azt jelenti, hogy a videó egy később rögzített utólagos bemutató, amely a régi terminál-előzményeket lejátssza — nem a művelet valós idejű felvétele. A CEST-időbélyegek azt mutatják, mikor történt a behatolás; a 17:29–17:38 csak azt, mikor készült az utólagos bemutató felvétele, ismeretlen dátumon és időzónában.
Ez pontosítja, nem cáfolja a lenti BloodHound/PDT-megállapítást: legalább három különálló óra van jelen a bizonyítékokban — a kompromittált környezet (CEST), a támadó pivotgépe a művelet idején (CEST), és az elemző/felvevő asztal (ismeretlen zóna) —, és ezeket nem szabad egymással közvetlenül összevetni, mintha egy óra lenne.
Lokalizációs nyomok, amelyek az áldozathoz, nem a támadóhoz tartoznak
A magyar dátum-/hónap-/hétnapformátumok, a Hyper-V/vSphere objektumnevek (teszt, Gép5, achiv_gepek, virusirto1-3), és egy vSphere bejelentkezési banner, amely azt írja: „Hol a tavasz?”, mind a kompromittált magyar rendszerek sajátjai — a kincstár saját IT-csapata által beállított egyedi üzenet, nem támadói vagy gyártói tartalom. Semelyik nem tekinthető támadói attribúciónak.
Külső attribúció — a KELA Cyber megnevezi az operátort
A fentiek mind a támadó saját kiszivárgott anyagaiból származnak: egy gépet és egy módszert profiloznak, nem egy embert. Az egyetlen megalapozott nyilvános kísérlet arra, hogy nevet adjanak a ByteToBreach-nek, a KELA Cyber Intelligence Centertől származik, amely 2025 novemberében profilozta a szereplőt, és 2026. július 17-én frissítette az értékelést.
A KELA értékelése szerint a ByteToBreach-et valószínűleg Zakaria Mahdjoub, egy algériai, oráni lakos üzemelteti — ezt technikai bizonyítékokkal támasztja alá, köztük infostealerrel fertőzött eszközökről visszanyert adatokkal, böngészősütikkel és kapcsolódó digitális nyomokkal.
A „valószínűleg” a KELA saját megfogalmazása, és szándékosan így adjuk vissza. Ez fenyegetés-felderítési értékelés, nem jogi megállapítás: vádemelésről, eljárásról vagy ítéletről nincs tudomásunk, és ebben a jelentésben vizsgált bizonyítékok közül semmi nem támasztja alá önállóan az azonosítást. Azért szerepel itt, mert ez a legjobban alátámasztott elérhető nyilvános attribúció, és mert az érvelése a maga keretein belül értékelhető.
Hogyan épült fel az azonosítás
A gondolatmenetet érdemes teljes egészében elolvasni, mert tankönyvi eset arról, ahogyan egy operátort nem a jelenlegi eszközhasználata, hanem a saját múltja buktat le:
- Egy újrahasznosított Session ID kötötte össze a két online identitást. A ByteToBreach ProtonMail-, Tuta- és Gmail-címeken, Telegramon (@ByteToBreach, korábban CvHNWwEG és inesslopez), Signalon és Sessionön kommunikált. A Session ID volt a fordulópont: a KELA ezzel kötötte a ByteToBreach online identitását egy másik, korábbi, 2025 júniusában aktív DarkForums-fiókhoz — amely szingapúri cégek adatbázisait szivárogtatta, majd elhallgatott, miután egy másik felhasználó 500 euró átverésével vádolta meg.
- Ez a második felhasználónév algériai infostealer-naplókban bukkant fel. A KELA adattavában keresve két infostealerrel fertőzött gépen jelent meg, mindkettő Algériában, ProtonMail-, Instagram- és TransferWise-belépésként. Az egyiket 2022 szeptemberében fertőzte meg a Raccoon, a másikat 2024 februárjában a StealC — évekkel azelőtt, hogy a ByteToBreach online identitás létezett volna.
- Két konkrét azonosító zárta be a kört. Egyik fertőzött gépen sem volt hekkerfórum-aktivitás, tehát a kapcsolat nem viselkedési hasonlóságon nyugszik, hanem két nyomon: a korábbi inesslopez Telegram-felhasználónév megjelenik az ellopott böngészőadatokban, és egy ugyanott szereplő telefonszám közvetlenül a ma is működő @ByteToBreach Telegram-fiókhoz kötődik.
- Miért állja meg a helyét az érvelés. Három, egymástól független forrástípus fut össze: egy kriptográfiai üzenetküldő-azonosító, amely két fórumidentitást kapcsol össze; kereskedelmi kártevő naplói egy adott ország magángépeiről, ugyanazokkal a belépési adatokkal több, egymással össze nem függő szolgáltatáson; és két közvetlen azonosító, amely ezeket a naplókat a ma is aktív fiókhoz kötik. Egyenként mindegyik gyenge; együtt nem. A döntő pont pedig időrendi: az infostealer-fertőzések akár három évvel megelőzik a bűnözői online identitást. Az operátort hétköznapi felhasználóként kompromittálták, jóval azelőtt, hogy bármi oka lett volna az attribúcióra gondolni — és épp ez a történelmi maradvány leplezte le.
Mit igazol a KELA profilja erről a behatolásról
- A hangoztatott motiváció egyezik. A KELA rögzíti, hogy a ByteToBreach rendszeresen azt állította, előbb megkeresi az áldozatokat, hogy „nem a kormányok, hanem ártatlan emberek az áldozatok”, és hogy a szervezeteknek vállalniuk kell a felelősséget a klienseik adataiért. Ez ugyanaz a beállítódás, mint ennek a szivárogtatásnak a kifejezett megjegyzése, hogy az adat nem eladó és váltságdíjat nem kérnek — szokatlan és következetes ujjlenyomat mindkettőben.
- Az eszközhasználat egyezik. A KELA leírása: ismert sebezhetőségek kihasználása vállalati és felhős infrastruktúrán, opportunista brute force és félrekonfigurálás, valamint megszerzett jelszavak újrahasznosítása — majd munkavállalói adatok, adatbázisok és mentések kiszivattyúzása eladásra vagy bizonyítékként való közzétételre. A fenti idővonal 01–08. lépése pontosan ez a leírás, végrehajtva. Repertoárjának egy eleme itt hiányzik: a kezdeti belépéshez nem volt szüksége adathalászatra vagy infostealer-naplókra, mert azt egy javítatlan, internet felé nyitott hoszt megadta neki — az újrahasznosított jelszavakat pedig a környezeten belül találta.
- Az áldozati profil egyezik. Légitársaságok, bankok, egyetemek, egészségügy és állami szervek Ukrajnában, Kazahsztánban, Cipruson, Lengyelországban, Chilében, Üzbegisztánban és az Egyesült Államokban, több, az érintett szervezetek által utóbb elismert incidenssel. Egy nemzeti kincstár pontosan illik a mintába.
- A hash-törést kiszervezi, 100 dollár per hash áron. Apró részlet, valódi súllyal: a KELA rögzíti, hogy a szereplő fizetett hash-törési szolgáltatást keresett. Olvassa ezt az alábbi jelszóbiztonsági szakasz mellé, ahol a tartomány 11 %-a perceken belül elesett egy saját szólistával, CPU-n. Ebben a környezetben senkinek nem kellett volna fizetnie.
- A 2026 júliusi román eset rímel erre. Két héttel a kincstári szivárogtatás előtt ugyanez a szereplő Románia földhivatalánál (ANCPI) állított behatolást, és olyan Active Directory-adatokat publikált, amelyek Windows XP-t, Windows 7-et és Windows Server 2003-at mutatnak éles üzemben, 69 csoportházirend-objektumot — köztük „DISABLE WINDOWS FIREWALL” és „MIGRARE - ADD ADMINS” nevűeket — és kockázatos AD-jogosultsági viszonyokat. A legacy Windows és az engedékeny címtár nem ennek az operátornak a véletlene; ez a célpontválasztási kritériuma.
Forrás: KELA Cyber Intelligence Center, „ByteToBreach: A Deep Dive into a Persistent Data Leak Operator”, KELA Cyber — Threat Actor Spotlight. Megjelent 2025 novemberében, frissítve 2026. július 17-én. www.kelacyber.com/blog/bytetobreach-a-deep-dive-into-a-persistent-data-leak-operator/ — letöltve 2026. augusztus 3-án. A KELA jelzi, hogy a teljes szereplőprofil további, csak az előfizetői számára elérhető részleteket tartalmaz; az itt idézett minden adat a nyilvános bejegyzésből származik.
Jelszóbiztonság — mit fed fel valójában a kinyert hitelesítő adatok ↑ tartalom
A kiszivárgott CREDS.txt (4,6 MB, 65 885 sor) nem egy lista, hanem három: egy kézzel összeválogatott infrastruktúrához tartozó hitelesítőadat-blokk, egy nyílt szöveges Oracle Identity Manager jelszótárexport 9 032 fiókkal, és egy teljes NTDS.DIT dump 16 200 fiókkal, 40 467 Kerberos-kulccsal. Mivel ezek közül 9 047 jelszó nyílt szövegként áll rendelkezésre, a szervezet valódi jelszóbiztonsága nem becsülhető, hanem közvetlenül mérhető — és ebből a mérésből számszerűsíthető, hogy a csak hash-ként meglévő maradékból mennyit szerezne meg egy egyedül dolgozó támadó egy néhány GPU-ból álló gépen.
1 · Mennyit tudunk már, és mennyi esik el ezután
A 10 073 tartományi felhasználói és szolgáltatásfiók az NTDS dumpban
Miből áll össze a már megfejtett 1 104 fiók
10 073 fiókból 1 104 (11,0 %) néhány perc CPU-idő alatt esett el, mindössze 197 különböző jelszóból — GPU és publikus szólista nélkül. Ez az alsó korlát, nem a felső; a felső korlátot a 4. szakasz állapítja meg.
Nyers hitelesítőadat-leltár
| Nyílt szöveges jelszó a dumpban | 9 047 | 9 032 jelszótár + 15 infrastruktúra |
| NTLM hash sorok (NTDS.DIT) | 16 202 | 16 200 egyedi fiók |
| — felhasználói és szolgáltatásfiók | 10 073 | de csak 8 777 különböző hash |
| — számítógépfiók | 6 129 | gépi generálású, nincs veszélyben |
| Kerberos-kulcs sorok | 40 467 | aes256 / aes128 / des-cbc-md5 |
| Üres jelszavú fiók | 13 | NT hash 31d6cfe0… |
| Még LM hasht is tároló fiók | 45 | másodperc alatti visszafejtés |
Egy fontos részlet: 4 664 jelszótárban szereplő felhasználónév az NTDS dumpban is szerepel, de ezek közül már csak 503 hash egyezik a jelszótárban tárolt jelszóval. A rotáció tehát működik — az átfedő fiókok kb. 89 %-a jelszót váltott a jelszótár-pillanatkép és az NTDS dump között. Csak éppen semmit sem hozott, mert a generátor sablonja nem változott (lásd 4. szakasz): egy friss jelszótárexport az első napon ugyanezt a populációt kompromittálja újra.
A számok mögötti szokások ↑ tartalom
2 · Hogyan oszlik meg a 9 032 vault-jelszó
| Kategória | Db | Arány |
|---|---|---|
| Gépi generálású, 8 karakter Xx#xxxxx | 5 076 | 56,2 % |
| Gépi generálású, 10 karakter Xx#xxxxxxx | 2 641 | 29,2 % |
| Egyetlen közös szolgáltatásjelszó MvhX*******m123 | 819 | 9,1 % |
| Felhasználó által választott, olvasható | 468 | 5,2 % |
| Felhasználó által választott, ad hoc random | 26 | 0,3 % |
| Üres mező | 2 | — |
A jelszótár mindössze 5,5 %-át választotta valóban ember. Ebben a 494 jelszóban lakik az összes rossz szokás — és ez az a alcsoport, amely elsőként törik meg.
3 · A 468 ember által választott jelszó profilja
| Tulajdonság | Db |
|---|---|
| Szó + számok (+ jel) alak | 205 |
| Számjegyre végződik | 326 |
| Négyjegyű évszámot tartalmaz | 157 |
| Egyáltalán nincs benne speciális karakter | 193 |
| Pontosan 8 karakter (a szabályzat minimuma) | 47 |
| Mind a négy karakterosztályt használja | 298 |
| Magyar ékezetet tartalmaz | 33 |
Medián hossz 11, átlag 11,9, legrövidebb 8, leghosszabb 22. A komplexitási szabályzat teljesül, miközben szinte semmilyen entrópiát nem ad: ezek 44 %-a egyetlen kiszámítható sablonba omlik össze.
A rossz szokások, a károkozás mértéke szerint
- Az ügyfélszolgálat által beállított ideiglenes jelszavak, amelyeket soha nem cserélnek le. A Magyar Államkincstár tartományában a legelterjedtebb jelszó az A1B2c3d4, 389 fiókon. Utána: ABcd1234_ (107), A1B2c3d4_ (79), 111111 (61), abcd1234 (59), Start12345678 (32), ABcd_1234 (32), 123456 (20). Nagyságrendileg 1 300 fiók osztozik legalább egy másik fiókkal ugyanazon a jelszón.
- Egyetlen jelszó 819 vault-soron. Az MvhX*******m123 az Oracle OIM rendszeradminisztrátori jelszava — magának a fióknak a neve, rövid számsorral a végén, itt részlegesen maszkolva. 819-szer szerepel a jelszótárban, újra a kézi blokkban, és újra az {AES} WebLogic blobokban. Bármelyik visszafejtése OIM-adminisztrátori jogot ad — az OIM-admin pedig mind a 9 032 vault-jelszót, nyílt szövegben.
- Kiemelt jogosultságú fiókok ideiglenes alapjelszóval. A 77 _ADMIN / _SMADMIN fiókból kilenc gyenge: három különböző SMADMIN osztozik az ABcd_1234-en; a KUL39104_ADMIN szó szerint a saját felhasználói jelszavát használja; a KUL40582_ADMIN jelszava K@l…@i2, míg a párja, a felhasználói fiók K@l…@i1. A jogosultsági szintekhez külön fiókok tartoznak, de a jelszavak nem különülnek el.
- A jelszó megegyezik a felhasználónévvel. XELOPERATOR:xeloperator és weblogic:weblogic.
- A szervezet saját nevéből képzett infrastruktúra-titkok. Mvh****n@ (vCenter SSO-adminisztrátor), Mvh****0gic, Mvh1**, MvhX*******m123. Mind a 22 {AES} WebLogic blob mindössze három különböző értékre fejt vissza, így egyetlen ellopott SerializedSystemIni.dat nyitotta a teljes middleware-környezetet.
- Név plusz születési dátum mint személyes standard. A 468 emberi jelszóból 225 egy név vagy becenév, utána születési dátum vagy évszám — Dani1993…, Vargak-1981…, B…Dita1966…. Nyilvános adat nyilvános adathoz fűzve.
- Tematikus szótárak, amelyeket minden szólista tartalmaz. 77 kedvenc, állat és mesefigura (Nyuszi1?, Micimacko&06, Pumukli.30), 27 magyar helynév (Tatabánya2800!, Kaposvar1983*/), 21 hónap- vagy évszaknév (Szeptember2021, November01), 16 a munkáltató nevével, és 7 magával a „jelszó" szóval (Jelszó123, Jelszo002002, Titok2017.).
- Még tárolt legacy gyengeségek. 45 fiók továbbra is tárol LM hasht — másodperc alatti visszafejtés, függetlenül attól, mi a jelszó. 13 fióknak valóban üres a jelszava. És az AES mellett des-cbc-md5 Kerberos-kulcsok is jelen vannak, tehát ezeken a fiókoknál a DES etype-ok még engedélyezettek.
Reprezentatív minták a 468 olvasható jelszóból
A felhasználóneveket szándékosan elhagytuk. Ezek visszatérő alakzatok, nem kivételek — az alábbi csoportok mindegyike olyan sablon, amelyet egy szólista és egy szabálykészlet gépiesen újraelőállít. A darabszámok (×n) azt jelzik, hány tartományi fiók használja pontosan ugyanazt a jelszót.
A személyes adatokat a közzétételhez minimalizáltuk: a családnevek kezdőbetűre rövidítve, a születési dátumok évre csonkítva (… jelöli). Felhasználónevet sehol nem közlünk. A csonkítás nélküli halmaz a bizonyítékfájlban marad, azt nem publikáljuk.
Reset- és alapértelmezett sablonok — a tartomány legtöbbször újrahasznosított jelszavai
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
Maga a „jelszó" vagy „titok" szó
Jelszó123Jelszo002002IdmJelszo11.HMVHjelszo2Danijelszo11@Titok2017.Password-1Ezazenjelszavam_013
Kedvencek, állatok, mesefigurák — 468-ból 77
Nyuszi1?Macsek66!Malacka98*Micimacko&06Mikkamakka06Pumukli.30Felixnyuszi.12Bodzakutya12345Norcamacska1999Oposszum234pingviN1967Galagonya33Kokorcsin.01LunaLovegood95Magneto95.Spongya12345Csiga?4321Medve?54Pele4Mokus_AgroMokus0808.Ricsikutya1997…Accipiter1992Saxicola_rubicola_2
Ételek és italok
+3MákosTészta!Spagetti78Krumplieshus16MogyiSzotyi0224Barackospite2Gofri618Gofri618Mákos202210Rebarbara@02Coca1ColaCumpi11!!!Almafa2012
Helynevek — 468-ból 27
Tatabánya2800!város + postakódKaposvar1983*/Szeged2023Miskolc732100Gödöllőpostakód + városIsaszeg2020!Kulsovat_1349.Podmaniczkyutca1975utcanévNorvegiaBergen2003Manchester1998Rovinj1991!Damaszkusz.288452Oktogon21!Bekesmegye1987megyeSzlovenia18
Hónapok, évszakok, dátumok — 468-ból 21
Szeptember2021November01Oktober,77December2021!Januar-2020Január02Februarban02*2022Augusztus.1991Szeptember…Tavasztündér:)9ÉTavasz_8Szerda0323/
Márkák, csapatok, popkultúra
Chelseafootballclub95BrigiSlipknot10RockyBalboa-0017Tourdefrance1Showderklub2020!Jobaratok911tv-sorozatLucifer96Windows.8888Opelastra1.600Hondacb6502Sencor.1977Datalogic.2020Tiger_1981Anthology13Cappy2005.
A munkáltató saját neve és rendszerei — 468-ból 16
Államkincstár69Agrártámogatások2022Idmrendszer7600Dr§Kincstarnok01Mák@munka02MÁK + „munka"Mvhpgy01!HmvH_MvH202209MvhX*******m123Menedzsment88Kincsem2022Mak.hu112345Idm1
Név plusz születési dátum — a legnagyobb csoport, 468-ból 225
Dani1993…Vargak-1981…B…Dita1966…Csutkasor1975…Ferenc.L…95…Marcell2017…Ági1990…Évike_1995Bettike1982B…katka2005R…Rebeka18Kriszta2019.Andi.1977Zsombor…LucaKata2018…Viktoria1983…
Kifejezések és érzelmek — köztük a törést túlélő néhány jelszó többsége
Ezazenjelszavam_013„ez az én jelszavam"Nemtudom2+00Gondoltam1TDolgozz02_liciDOLGOZIK21?1SZEretleksasad123Változás2023Bizalom_1985Optimizmus1998T@rtsKiAdrik@7!!Nándimese1F***off1986@Bobi-Kacsa-Bruni12
A jelszó megegyezik a felhasználónévvel, vagy az plusz egy
xeloperatorweblogicK@l…@i1felhasználói fiókK@l…@i2ugyanaz _ADMIN fiókjaVargak-1981…a felhasználónevét ismétli
A csoportok együtt egyetlen mondatot adnak ki: egy magyar szótár, egy utónévlista, egy helynévtár, a tizenkét hónap és egy évszám négy jegye ennek a halmaznak a túlnyomó többségét újraelőállítaná — pontosan ezt teszi a 4. szakasz egymásodperces szólista-és-szabály sora. Azok a jelszavak állnak ellen, amelyek egyszerűen hosszúak: Chelseafootballclub95, Podmaniczkyutca1975, Agrártámogatások2022, Ezazenjelszavam_013 — egyik sem ötletes, mindegyik legalább 19 karakteres.
Mit szerez meg valójában egy magányos támadó egy néhány GPU-ból álló gépen ↑ tartalom
Itt nem egy adatközponttal felszerelt APT-csoportról van szó. A bizonyítékok egyetlen operátorra utalnak, egy VirtualBoxban futó Kali VM-mel — a reális kérdés tehát az, hogy ő mit szerez meg. A válasz kényelmetlen, egyetlen szerkezeti ok miatt: az NTLM nem sózott és nem iterált. Minden jelszójelöltet egyszer kell hashelni, és az eredmény egyszerre hasonlítható mind a 16 200 hashhez — tízezer fiók törése pontosan annyiba kerül, mint egyetlené. Egy RTX 4090 kb. 252 GH/s-t tart NTLM-en; négy darab, vagyis egy otthon is megvehető és üzemeltethető rig, kb. 1 TH/s-t. Az alábbi számok mind 1 TH/s-sel készültek.
4 · A 9 030 vault-jelszó visszafejtési ideje ≈1 TH/s NTLM mellett (4 × RTX 4090)
A jelszótár 98,6 %-a négy perc alatt elesik; 99,8 %-a nyolc napon belül. 9 030 jelszóból mindössze 18 maradna állva — olyanok, mint az Ezazenjelszavam_013, Chelseafootballclub95, Agrártámogatások2022, Bobi-Kacsa-Bruni12, Podmaniczkyutca1975. A hosszú és váratlan minden esetben legyőzi a rövidet és komplexet. És közülük is több elesik egy kombinátoros vagy hibrid támadásban, tehát a 18 az optimista olvasat.
A két maszkos sor a legfontosabb megállapítás. A „véletlen" 8 és 10 karakteres jelszótárból származó jelszavak nem véletlenek: fix sablont követnek — két betű, egy számjegy, majd öt vagy hét kisbetű. Ez a sablon a látszólagos 8 karakteres keresési teret 6,6 × 10¹⁵-ről 3,2 × 10¹¹-re zsugorítja, azaz 20 000-szeres könnyítést ad. Aki bármilyen más úton visszafejt néhányat, azonnal meglátja a mintát, és a többit már célzott maszkkal, minimális ráfordítással feltörheti. A generátort láthatóan azért választották így, hogy a jelszó telefonon felolvasható legyen; ez négy nagyságrend entrópiába került.
5 · Kivetítés a teljes tartományra — 10 073 felhasználói és szolgáltatásfiók
| Támadási lépés | Eltelt idő | Fiók | Alap |
|---|---|---|---|
| Már nyílt szövegben, hash-egyezéssel igazolva | 0 | 503 | mért |
| Saját 1,3 M-os lista, csak CPU-val | percek | 1 104 (11,0 %) | mért |
| Teljes nyomtatható ASCII-kulcstér ≤ 8 karakterig | 1,8 óra | ≈ 5 700 (57 %) | vault-hosszprofil; csak ASCII-modell |
| Két generátormaszk + szólista és 52 e szabály | < 5 perc | ≈ 8 600 (85 %) | becsült |
| A fentiek együtt, plusz teljes nyomtatható ASCII-kulcstér ≤ 9 karakterig | ≈ 8 nap | ≈ 9 060 (90 %) | becsült |
| Maradék — célzott vagy hibrid munkát igényel | hónapok + | ≈ 1 010 (10 %) | becsült |
A két „mért" sor közvetlen eredmény. A többi a jelszótár mért hossz- és sablonprofilját vetíti ki az NTDS-populációra — ez védhető, mert mindkét populáció ugyanabból a jelszószabályzatból és ugyanabból a generátorból származik, és szándékosan konzervatívabb a jelszótár saját 99,8 %-ánál, hiszen az NTDS-halmaz olyan fiókokat is tartalmaz, amelyeket a jelszótár soha nem kezelt. A fő állítás mindkét olvasatban áll: nagyságrendileg tíz tartományi fiókból kilenc egy munkahéten belül, egy használt autónál olcsóbb hardveren. A 6 129 számítógépfiók a kivétel — gépi generálású, 120 karakteres titkok; ez a környezet egyetlen valóban rendben lévő jelszóbiztonsági területe, épp azért, mert ezeket soha nem ember választotta.
Ennek a környezetnek a jelszóbiztonsága nem a felhasználónál bukott meg, hanem a szabályzat szintjén. A felhasználók pontosan úgy viselkedtek, ahogyan a szabályok terelték őket. Minimum 8 karakter, négy karakterosztály, kényszerített rotáció — ez mérhetően a Szó + születési év + ! alakot termeli: 468 emberi jelszóból 205 egyetlen sablonban, 326 számjegyre végződik, 157-ben évszám, medián hossz 11. Minden formai összetettségi követelmény teljesült, de ez még egyórányi védelmet sem nyújtott a jelszótöréssel szemben.
A rotáció működött, és mégsem változtatott semmin. Az átfedő fiókok 89 %-a jelszót cserélt a két pillanatkép között, a környezet mégis teljesen kitett maradt — mert az új jelszavak mögötti generátorsablon azonos volt a régivel. Egy kiszámítható sablonon belül cserélni a titkot nem rotáció, hanem újrahúzás ugyanabból a 3,2 × 10¹¹-es készletből.
A katasztrófát nem a gyengeség, hanem a koncentráció okozta. Három jelszó őrizte a teljes middleware-réteget. Egyetlen jelszó — az MvhX*******m123 — őrizte azt az identitáskezelőt, amely a másik 9 032-t nyílt szövegben tartotta. Egyetlen jelszó-visszaállítási sablon, az A1B2c3d4, 389 tartományi fióknál volt használatban. Az operátornak nem kellett jónak lennie a jelszótörésben: pontosan egy titokra volt szüksége egy nagyon rövid listáról, és az architektúra mindegyikhez több utat is felkínált.
Tanulságok
- Az a jelszótár, amely nyílt szöveget ad vissza, egyetlen totális hibapont. Egyetlen OIM-export 9 032 identitást kompromittált, nulla törési munkával. A visszafejthető tárolás csak ritka, izolált kivétel lehet, és minden onnan származó exportot teljes környezeti breachként kell kezelni.
- A hossz lényegesen többet számít az összetettségnél. Sózatlan NTLM ellen a modell szerinti sebességgel minden legfeljebb 8 karakteres, nyomtatható ASCII-jelszó két órán belül, minden legfeljebb 9 karakteres pedig körülbelül nyolc napon belül elesik. A Unicode-jelszavakhoz külön jelölthalmaz kell, de a célzott maszkok és nyelvspecifikus szólisták a rövid, kiszámítható választásokat továbbra is kiteszik. Váltás 14 karakteres minimumra, a kényszerített komplexitási szabályok elhagyása, és minden új jelszó ellenőrzése a korábban kiszivárgott jelszavak adatbázisában. Az itt megmaradt néhány jelszó kizárólag a hosszának és kiszámíthatatlanságának köszönhetően maradt meg.
- Jelszógenerátornak soha ne legyen látható sablonja. Az Xx#xxxxx minta négy nagyságrend entrópiát dobott el azért, hogy a jelszó felolvasható legyen. Generáljunk a teljes karakterkészletből, nagyobb hosszon, és a felolvashatóság terhét vigye egy jelszókezelő az entrópia-büdzsé helyett.
- Szüntessük meg a reset-sablont. Kerüljön egyéni tiltólistára az A1B2c3d4*, ABcd*1234*, Start12345678*, abcd1234*, QWer_1234, Jelszo*, Mvh*, Kincstar* és a teljes szervezetnév-család. Minden helpdesk-reset legyen egyszer használatos, véletlen, és következő bejelentkezéskor kötelezően cserélendő.
- A jogosultsági szintek elkülönítéséhez külön hitelesítő adatok is kellenek. Egy külön _ADMIN identitás semmit nem ér, ha a jelszava szó szerint a felhasználó jelszava, vagy az plusz egy. A kiemelt jogosultságú fiókok hitelesítő adatait olyan rendszerben kell kezelni, amely ellenőrzi a kiadásukat és automatikusan cseréli őket. A jelszavakat ne emberek válasszák meg vagy lássák.
- A rotáció ütemterv, nem védelmi intézkedés. A naptár szerinti lejáratot váltsa fel esemény-alapú rotáció — kompromittálódásnál, szerepkörváltásnál, ha a jelszó szerepel egy kiszivárgott jelszóadatbázisban —, a megtakarított energiát pedig adathalászatnak ellenálló MFA-ra kell fordítani, mert az bontja meg valóban azt az ellopott hitelesítő adatok újrafelhasználására épülő támadási láncot, amelyet ebben a behatolásban láttunk.
- Vonjuk ki a legacy kriptográfiát, ami mindezt olcsóvá teszi. NoLMHash beállítása és a 45 tárolt LM hash törlése, a des-cbc-md5 Kerberos etype-ok letiltása, a 13 üres jelszavú fiók azonnali kezelése, és az NTLM teljes kivezetésének megtervezése — épp a sózatlan, nem iterált felépítése az oka, hogy egyetlen asztali GPU-kkal felszerelt gép tízezer fiókot támadhat egyetlen fiók áráért.
- Tekintsük az egész készletet elveszettnek. A teljes NTDS.DIT és a teljes jelszótár birtokában ebben a környezetben egyetlen hitelesítő adat sem tekinthető biztonságosnak. Mind a 16 200 fiók jelszócserét igényel, a számítógépfiókokkal együtt, minden kompromittált tartományban kétszeres krbtgt-rotációval.
A krbtgt kulcs és a Golden Ticket — miért él túl ez a betörés minden jelszócserét ↑ tartalom
A 07. lépésbeli DCSync nem csupán a felhasználói jelszóhasheket másolta ki. Egy tartomány teljes NTDS.DIT-replikációja átadhatja az adott tartomány krbtgt fiókjának kulcsát is — azt a titkot, amellyel a tartomány Kerberos Key Distribution Centerei aláírják a jegyeket —, és ez a kulcs a Golden Ticket fő hozzávalója. Tehát igen: minden olyan tartományban, amelynek krbtgt kulcsa bekerült a replikált adatokba, az operátornak megvolt minden a jegyhamisításhoz.
Mit ad a támadó kezébe a krbtgt kulcs
- Saját kezűleg gyártott Ticket-Granting Ticket a kompromittált tartományban. Az adott tartomány krbtgt kulcsával az operátor tetszőleges, az adott tartományban elfogadott identitást, SID-et és csoporttagságot hordozó TGT-t hamisíthat jelszótörés nélkül. A tartomány- vagy erdőhatáron átnyúló hozzáférés továbbra is a trust konfigurációjától és a SID filtering beállításától függ. ATT&CK T1558.001.
- Perzisztencia, amit a kézenfekvő javítás nem érint. A kompromittált felhasználói jelszavak visszaállítása — még minden Domain Admin jelszaváé is — semmit sem tesz egy Golden Tickettel, mert azt a krbtgt írja alá, nem a megszemélyesített fiók. Az ellopott kulcs érvénytelenítéséhez az adott tartomány krbtgt jelszavát kétszer kell rotálni, a két jelszócsere között legalább a konfigurált maximális Kerberos-jegyélettartamot kivárva — ez az alapértelmezett szabályzat mellett 10 óra.
- Kompromittált tartományonként egy kulcs — nem erdőnként. Az Active Directory minden tartományban külön krbtgt fiókot tart fenn. Ezért a bizonyítékok alapján pontosan meg kell állapítani, mely tartományok címtáradatai replikálódtak: minden megszerzett krbtgt kulcs a saját tartományában teszi lehetővé a jegyhamisítást, a trust konfigurációja pedig meghatározza, meddig ér tovább ez a hozzáférés.
Pontosan ezért szól a jelszóbiztonsági szakasz hitelesítőadat-tanulsága úgy, hogy „az egész készletet tekintse elveszettnek”. Ha az NTDS-dump és a krbtgt kulcsok egyszer kint vannak, semmilyen szelektív felhasználóijelszó-visszaállítás nem állítja helyre a címtárba vetett bizalmat — minden kompromittált tartományban kétszeres krbtgt-rotáció kell, a két jelszócsere között előírt jegyélettartamnyi várakozással. Bármely tartomány, amelynek ellopott kulcsa érvényes marad, továbbra is visszautat biztosít.
Elkapható? — a Yellow Cube válasza
A Golden Ticket használata szándékosan csendes: egy szolgáltatásnak bemutatott hamisított TGT közönséges Kerberosnak tűnik, így a jelek közvetettek — szokatlan élettartamú jegyek, RC4-titkosítás ott, ahol a környezet már AES-re állt át, vagy előzetes hitelesítés nélküli szolgáltatásjegy-kérés. A viselkedésalapú identitásészlelés felszínre hozza ezeket: Varonis, Cynet, Stellar Cyber. Egy elhelyezett honeytoken-fiók egyértelművé teszi — egy olyan identitás bármely használata, amelynek soha nem szabadna hitelesítenie, rendeltetéséből adódóan rosszindulatú: Cynet. A Cymulate pedig bizonyítja, hogy a riasztás működésbe lép, mielőtt szükség lenne rá.
De az észlelés itt a második vonal. Az igazi kontroll az elszigetelés és a rotáció — a 07. lépésben megnevezett vészhelyzeti kétszeres krbtgt-rotáció, minden kompromittált tartományban, a két jelszócsere között előírt várakozással végrehajtva, a Yellow Cube 24×7 SOC és egy Group-IB IR készenléti szerződés keretében nyújtott támogatásával — mert amíg ez nincs kész, a címtárat továbbra is elfoglaltként kell kezelni.
A lánc megszakítása — mi állította volna meg az egyes lépéseket ↑ tartalom
A fenti tizenkét lépés mindegyikén ott van a sárga Yellow Cube sáv a rövid válasszal. Ez a szakasz a hosszú válasz: lépésenként, mi akadályozta volna meg, mi tette volna láthatóvá menet közben, mi szakította volna meg végrehajtás közben, és mely konfigurációs gyengeségeket jelezte volna a biztonsági konfigurációkezelésünk jóval azelőtt, hogy bármi elkezdődött volna.
Hogyan olvassa — módszertan
- A termék-hozzárendelések a Yellow Cube saját Security Stack Matrixából származnak — 27 kontrollréteg 9 szekcióban, mindegyiken NIS2-jelöléssel, publikált gyártó–réteg lefedettségi térképpel. Az alábbiakban semmi sem azért került be, hogy kitöltsön egy sort.
- A leírások konkrét védelmi képességekre vonatkoznak. Minden alábbi sor megnevezi a konkrét képességet, amely a munkát végzi, és a terméket, amely biztosítja — mert a konkrét képességtől függ, hogy a védelem hatékony-e. A privilegizált munkamenet rögzítése és a jelszó biztonságos jelszótárban kezelése két különböző feladat; a végponti és a felhős biztonsági konfigurációkezelés két különböző hatókör. Ettől válik a termékek és a védelmi feladatok összerendelése a gyakorlatban is használhatóvá.
- A portfólió tizenhat gyártója közül tizenkettő helyet kap itt; négy nem. Ebben a láncban nincs DDoS, nincs e-mail-vektor és nincs mobileszköz, ezért az ezeket a területeket lefedő gyártók kimaradnak. Csak azokat a kontrollokat megnevezni, amelyek valóban változtattak volna a kimeneten — ez a gyakorlat lényege.
- Végfelhasználói biztonságtudatossági képzés sem szerepel. Ebben a behatolásban nincs adathalászat, nincs makró és nincs felhasználói hiba: nem javított middleware, nyitva hagyott debug port, nyílt szöveges jelszavak és lapos erdőbizalom van. Az egyetlen jogos képzési érv itt a védőkre mutat, nem a munkatársakra — lásd a 04. lépést.
- A konfigurációs kockázatok kezelése önálló védelmi feladat. Amit ez az operátor használt, jórészt nem hiányzó termék volt, hanem egy beállítás. Védelem nélkül hagyott LSASS, még engedélyezett SMBv1, elérhető hibakeresési szolgáltatás, túl engedékeny címtárjogok, nyílt szöveget visszaadó identitástár. A Cynet ESPM-je és a WithSecure Elements biztonsági konfigurációkezelése pontosan ezeket hozza felszínre, folyamatosan — dokumentált kockázatként egy áttekintő felületen, nem felfedezésként valaki más képernyőképein. Minden alábbi Megerősítés sor olyan dolog, amit időben jelzünk.
- Szolgáltatási határ. A Yellow Cube a 24×7 SOC/MDR-t, az incidenskezelési készenléti szolgáltatásokat, a HackLabot és a képzéseket, valamint a stratégiai tervezési auditokat szállítja. A gyakorlati bevezetést, a rendszerek biztonsági megerősítését és üzemeltetést a helyi MSSP-partner végzi. Ahol az alábbi javítás architekturális, ott a felelős ennek megfelelően van megnevezve.
01 · WebLogic RCE kezdeti hozzáféréssel CVE-2017-10271 · kilenc éve javítatlan
Egy internet felé nyitott ESB vhost 2017-es deszerializációs hibával, kihasználva egy Python-alapú reverse shell indítására, közvetlen IP-címre.
02 · MS17-010 a belépő alhálózaton Windows Server 2003 · Sliver + SOCKS5
EternalBlue egy olyan legacy gép ellen, amelyet a támadó maga nevezett használhatatlannak, és kizárólag perzisztenciáért tartott meg, tetején SOCKS5 pivottal.
03 · Elfeledett JDWP debug port tiszta RCE oracle-ként
Egy Java Debug Wire Protocol port éles WebLogic gépen hallgatózva — második, az exploitnál is tisztább bejárat.
04 · A szegmentációs falnál a védelem, ami működött
Kimenő forgalom ICMP-re szorítva, SELinux az útban, a szomszédos alhálózatok elzárva. A támadó maga írta le: „nincs kimenő, csak pingek és alapvető parancsok." Ez a teljes lánc legerősebb megállapítása — a kontrollok elvégezték a munkájukat. Csak nem olvasta senki a kimenetüket.
05 · Oracle Identity Self-Service több ezer fiók · visszafejthető jelszavak
Az identitásportál a 14000-es porton: több ezer állami fiók, módosíthatóan, olyan jelszótárolással, amelyből nyílt szövegben visszaolvasható.
06 · Szolgáltatásfiók és erdőbizalom jelszó a shell historyban
Egy teljes AD-jogosultságú szolgáltatásfiók egy shell history fájlban, és egy kétirányú FOREST_TRANSITIVE bizalmi kapcsolat az MVH-tól az allamkincstar.gov.hu felé.
07 · BloodHound és DCSync erdőkön át Az NTDS.DIT adatai kinyerve
Bizalmi kapcsolatok gráfba szedve, az NTDS-titkok négy erdőn át kireplikálva, a Tier-0-ig vezető elérhető útvonal feltérképezve.
08 · OIM-adatbázis és tárolók felderítése 36 TB megosztás bejárva
Az identitáskezelő sémája adatbázis-kliensben böngészve, a vállalati fájlvagyon bejárva: 15,9 TB, 15,9 TB, 5 TB, plusz árnyékkötetek.
09 · Szembeszállás a Symanteckel ügynök kézzel leállítva, majd az LSASS memóriája kinyerve
Az egész behatolás fordulópontja — és az a lépés, ahol az üzleti érv a legerősebb, épp azért, mert a meglévő termék működött. A Symantec blokkolta a kimenő beaconokat, és blokkolta a named pipe-on át az LSASS elérését. Egészen addig működött, amíg valaki le nem állította: RDP a biztonsági eszközt futtató gépre, két szolgáltatás leállítása, LSASS dump. A támadó saját jegyzete így szól: „lsass works :)".
10 · vCenter és a 229,1 TB terv: helyben titkosítás ESXi-ről
A vSphere SSO adminisztrátori jelszó megkerült, 116 VM és 229,1 TB datastore felmérve, és kimondott terv a környezet helyben történő titkosítására.
11 · Bizonyítékcsomag a Google Drive-ra 70 MB · a támadó saját gépéről
Tizenhárom képernyőkép, a kinyert hitelesítő adatok, a recon kimenet és egy videó — összesen kb. 70 MB — feltöltve egy személyes felhőfiókba, „Loic Matrier” néven. A bizonyítékok egyértelműen a támadó saját virtuális gépére mutatnak, nem kincstári végpontra — az adat már kint volt, mire böngészőbe került, így nincs olyan hálózaton belüli feltöltés, amit tűzfal, proxy vagy végponti ügynök elkaphatna. Ezt kimondani a lépés lényege: egy jelentés, amely ide védelmi terméket tenne, rossz dolgot adna el önnek.
12 · Nyilvános közzététel szivárogtató bejegyzés + felhős tükrök
A bejegyzés élesben, a képernyőkép-csomaggal és három fogyasztói felhőszolgáltatáson tükrözve, azzal a kifejezett megjegyzéssel, hogy váltságdíjat nem kérnek.
Lefedettség egy pillantásra
| Lépés | Legyőzött kontrollrétegek | NIS2 | A portfólió válasza |
|---|---|---|---|
| 01 WebLogic RCE | Sebezhetőség-kezelés · Konfigurációbiztonság · NGFW · EDR · MDR | kötelező | Lefedve — észlelés, elszigetelés, és a patch-rés időben jelezve |
| 02 EternalBlue | Konfigurációbiztonság · Szegmentáció · EDR · NDR · Deception | implicit | Lefedve — EDR-rel a Server 2003-on is |
| 03 JDWP | NGFW · Konfigurációbiztonság · NDR | kötelező | Lefedve — a konfigurációkezelés jelzi a félrekonfigurálást |
| 04 Figyelmen kívül hagyott tiltások | SIEM · MDR · BAS · Cyber range | kötelező | Lefedve — a lánc legjobb lehetősége |
| 05 Visszafejthető identitástár | MFA · PAM · ITDR · Deception | kötelező | Lefedve — konfigurációs kockázat és audit-felelősség |
| 06 Jelszó a historyban + bizalom | PAM · MFA · ITDR · Konfigurációbiztonság | kötelező | Lefedve — a bizalmi kitettség feltérképezve és figyelve |
| 07 DCSync erdőkön át | ITDR · SIEM · BAS · Deception | kötelező | Lefedve — magas megbízhatóságú észlelés, jogok időben jelezve |
| 08 36 TB megosztás bejárva | Adatkezelés · Konfigurációbiztonság · UEBA | felette | Lefedve — a Varonis birtokolja az adatréteget |
| 09 Biztonsági ügynök leállítva | Konfigurációbiztonság · PAM · EDR · XDR · MDR · BAS | kötelező | Lefedve — manipulációs riasztás és 24×7 válasz |
| 10 vCenter és 229,1 TB | Szegmentáció · PAM · SIEM · Backup | kötelező | A hozzáférési útvonalon lefedve — lásd a mentési megjegyzést |
| 11 Feltöltés személyes felhőbe | Hitelesítőadat-kitettség figyelése · DRP · IR | implicit | A célpont peremén kívül — kitettségfigyelés, hitelesítőadat-rotáció és a tükrök leszedésének koordinálása |
| 12 Nyilvános közzététel | Digital risk protection · IR | kötelező | Lefedve — tudomásszerzési idő és tükrök leszedése |
Négy NIS2 szempontból kötelező réteg dőlt el teljesen ebben a behatolásban: a privilegizált hozzáférés-kezelés, az identitásalapú fenyegetésészlelés, a menedzselt észlelés és reagálás, valamint a mentés. Egy közigazgatási, alapvető szolgáltatást nyújtó szervezetnél ez a négy nem opcionális érettség — ez a padló.
Az öt pont, ahol ez a lánc valóban megszakad
Tizenkét egyenlő súlyú javaslat nem javaslat. Sorrendben aszerint, hogy melyik mennyit vesz ki a behatolásból:
- A védelmi eszközök jeleztek, de senki nem foglalkozott a riasztásokkal. A 04. és a 09. lépés ugyanaz a hiba kétszer: a kimenő szűrés blokkolta a támadót, a Symantec blokkolta a beaconjait és az LSASS-elérését, de egyikük riasztásaira sem reagált senki. Egy 24×7 SOC/MDR képesség itt a legnagyobb hatású elérhető változtatás — a már megvásárolt kontrollokat valódi reagálássá alakítja, és ez az egyetlen javaslat, amely ezt a behatolást öt és fél napból órákra rövidítette volna.
- Statikus privilegizált jelszavak, mindenhol. Szolgáltatásfiók jelszava shell historyban (06), adminisztrátori jelszó újrahasznosítva a middleware rétegen (09, 10), és 9 032 jelszó úgy tárolva, hogy visszaolvasható (05). Az első kettőre a privilegizált hozzáférés-kezelés a válasz; a harmadik léptékéhez lásd a jelszóbiztonsági szakaszt.
- Az erdőkön átnyúló DCSync láthatatlan volt. A 07. lépés a teljes lánc legtisztább észlelési lehetősége, és észrevétlen maradt — legvalószínűbben azért, mert nem működött megfelelő megfigyelés a bizalmi háló minden erdőjének tartományvezérlőin. Identitásalapú fenyegetésészlelés teljes DC-lefedettséggel, validálva, nem feltételezve.
- Lapos belső hálózat, kitett menedzsment-réteggel. A 02. és a 10. lépés. A szegmentáció nem akadályozta volna meg a kezdeti bejutást, de bezárta volna egy olyan alhálózatba, amelyet a támadó maga nevezett használhatatlannak — ahelyett, hogy elérje a 116 éles VM-et tartó hipervizort.
- 36 TB fájlmegosztás mindenféle adatkezelés nélkül. A 08. lépés. Senki nem tudta, mi van azokban a megosztásokban, ki olvashatja őket, és hogy valaki épp most járta végig mindet. Ez feltárható, javítható állapot — és ez dönti el, mennyire súlyos egy incidens, ha valaki már bent van.
A konfigurációs és tervezési megállapítások — és aki lezárja őket
Amit ez az operátor kihasznált, jórészt beállítás volt, nem hiányzó termék. Ez jó hír: a beállítások megtalálhatók. Minden alábbi pont olyan, amit a biztonsági konfigurációkezelés folyamatosan felszínre hoz, vagy amit egy stratégiai tervezési audit behatárol és bizonyít — majd az MSSP-partnere lezár.
| Lépés | Konfigurációs vagy tervezési megállapítás | Felszínre hozza → lezárja |
|---|---|---|
| 01 | Kilenc év fel nem telepített middleware-javítás egy internet felé nyitott hoszton | Cynet ESPM / WithSecure → partneri patch-ciklus |
| 02 | Életciklus végi Server 2003 routolható szegmensen, engedélyezett SMBv1-tel | Konfigurációbiztonság-leltár → életciklus-terv (közben a Cynet fedi) |
| 03 | Éles környezetben hallgatózó JDWP debug transport | Cynet ESPM / Group-IB ASM → release-kapu |
| 05 | Visszafejthető, nyílt szövegben visszanyerhető jelszótárolás az identitáskezelőben | Konfigurációbiztonság + stratégiai tervezési audit → platformváltozás |
| 06 | Kétirányú erdőbizalom szelektív hitelesítés és SID-szűrés nélkül | Varonis → AD-tervezési változtatás a partnerrel |
| 07 | Replikációs jogok nem tartományvezérlő fiókoknál | Varonis konfigurációelemzés → jogosultság-tisztítás |
| 08 | Az Oracle saját auditja nem rögzíti a sémahozzáférést | Konfigurációbiztonság + audit → natív audit bekapcsolása |
| 09 | Védelem nélküli LSASS — kikapcsolt Credential Guard, beállítatlan RunAsPPL | Cynet ESPM / WithSecure → GPO-változtatás |
| 09 | Túl engedékeny kliensházirend és legacy szolgáltatásfiók a menedzsmentkiszolgálón | Konfigurációbiztonság-megállapítás → SCCM-újratervezés a partnerrel |
| 10 | Módosíthatatlan, offline, tesztelt VM-mentés | A saját mentési gyártója → lásd az alábbi megjegyzést |
| 11 | 16 202 hitelesítő adat kitéve — ma nyílt szöveg, a gyenge hash-ek egy héten belül | Group-IB DRP piactér-figyelés → rotálás, mintha nyilvánosak lennének |
| 12 | A közzététel itt már nem előzhető meg, de a bejelentésre előre fel lehet készülni | Begyakorolt NIS2-bejelentési folyamat |
A mentésről — a 10. lépés utolsó mentsvára, és hogy hol a helye
A 10. lépés 229,1 TB virtuális gép helyben történő titkosításának terve volt. A helyben titkosítás ellen pontosan egy kontroll válaszol, és az a módosíthatatlan, offline, tesztelt mentés. Ennek a jelentésben az utolsó mentsvár helye jár — az, ami eldönti, hogy egy incidens rossz hét vagy létkérdés.
És 229,1 TB visszaállítása messze nem triviális. Ugyanaz a fizika, amely a nagy tételű exfiltrációt kivihetetlenné tette a jelentés korábbi részében, a helyreállításnál visszafelé vág:
| Tartott visszaállítási sebesség | 229,1 TB visszaállítási ideje |
|---|---|
| 500 MB/s (jellemző dedup appliance, egy szál) | ≈ 5,3 nap |
| 1,5 GB/s (jól hangolt, párhuzamos szálak) | ≈ 42 óra |
| 10 Gbps (ideális, vonali sebesség) | ≈ 2,1 nap |
És mindegyik szám azt feltételezi, hogy a mentések léteznek, módosíthatatlanok, nem titkosították őket az általuk védett környezettel együtt, és hogy egy ilyen léptékű visszaállítást valóban begyakoroltak — nem csak beállítottak. Egy mentési feladat, amelyből még soha nem állítottak vissza, nem kontroll, hanem hit.
A Yellow Cube nem kínál mentési megoldást, és ez pozicionálási döntés, nem hiányosság. A mentés és az üzletmenet-folytonosság kiforrott, kiválóan kiszolgált piac, ahol egy szakosodott kiberdefenzív disztribútor kevés olyat tud hozzáadni, amit a meglévő szereplők ne tudnának jobban. A portfólió alapelve: területenként egy specialista gyártó, és csak olyan területen, ahol valódi értéket lehet hozzátenni. Ez az a terület, ahová a saját meglévő gyártóját érdemes hoznia — a javaslat itt az, hogy a kontroll legyen tesztelt, nem az, hogy tőlünk vásárolja.
Ez a behatolás nem azért járt sikerrel, mert nem volt védelem. A kimenő szűrés tartott. A SELinux tartott. A Symantec blokkolta a beaconokat és blokkolta az LSASS-t. A támadó a saját képernyőképein írta le a saját frusztrációját. Mindegyik kontroll azt tette, amiért megvásárolták — a jelzéseikre azonban öt és fél napig senki nem reagált.
Az első lépés tehát nem termék, hanem szemléletváltás. Állítson 24×7 észlelési és reagálási képességet a már meglévő kontrollok mögé, majd zárja be a mögötte lévő jelszó- és identitásarchitektúra-réseket. Cymulate, hogy folyamatosan bizonyítsa: a detekciók elsülnek — ne feltételezze; CYBER RANGES és a Yellow Cube HackLab, hogy pontosan azt a hibát gyakorolják be, amit ez a jelentés dokumentál — a kontroll elsült, senki nem reagált; és egy stratégiai tervezési audit a 27 rétegű Security Stack Matrix mentén, hogy a maradék réseket ön találja meg előbb, mint más.
A bevezetést és a rendszerek biztonsági megerősítését a helyi MSSP-partnere végzi. A Yellow Cube biztosítja a következőket: a portfólió, a mögötte álló 24×7 SOC, az incidenskezelési készenléti szerződés arra az éjszakára, amikor számít, és a képzés és műszaki támogatás, amely mindhárom hatékony használatához szükséges.
Yellow Cube Cyberdefense
Digitális forenzika és incidenskezelés · offenzív biztonság · XDR-valídáció
Készítette: Akos Bodis · akos.bodis@yellowcube.eu · +36 20 932 1240