Egy magyar etikus hacker talált a nemzetközi sztenderdek szerint 9.8-as erősségű sérülékenységet a számos multinacionális cég által futtatott Pandora FMS nevű monitorozó szoftverben. A gyártó javította a hibát, a hírt a nemzetközi szaksajtó is felkapta. Az etikus hacker kisebb-nagyobb sérülékenységeket láncoltan kihasználva jutott be a Pandora szerverébe.
Egy magyar etikus hacker kritikus, a nemzetközi sztenderdnek számító CVSS módszertan szerint 1-től 10-es skálán, 9.8 súlyosságúra értékelt sérülékenységet publikált a Pandora FMS nevű monitorozó rendszerben. Az említett hacker, Matek Kamilló, a KPMG CyberLab csapatának senior etikus hackere.
A sérülékenység besorolását egy nemzetközi szervezet (MITRE) végzi, aminek fő feladata egy sérülékenységi adatbázis (NVD) karbantartása, a feltárt sérülékenységek elemzése és publikálása. Ez az adatbázis mindenki számára hozzáférhető, így a biztonsági szakemberek – de akár laikusok is – ellenőrizni tudják, hogy az általuk használt szoftverek mennyire biztonságosak. A szakemberek nagyon sok hibát bejelentenek ezen a felületen, így a nemzetközileg elterjedt informatikai rendszerek biztonságossága átláthatóvá válik, erősödik a minőségi verseny, amivel minden felhasználó jól jár.
Az átláthatóság érdekében a MITRE feladatához tartozik a hibák súlyosságának besorolása és ennek publikálása is, ami egy 1-10-es skálán történik. A sérülékenység súlyosságának megállapításához a legfontosabb szempont, hogy a sérülékenységet kihasználva a támadó milyen mértékben tudja befolyásolni a rendszer működését, a tárolt adatokat és az elérhetőséget.
A Pandora FMS egy nemzetközi szinten is jegyzett monitorozó szoftver, amit számos multinacionális vállalat is használ, de több kormányzati rendszeren is futtatják szerte a világban.
Egy nagy szervezet rengeteg számítógéppel és szolgáltatással rendelkezik, ezek üzemeltetése és felügyelete hatalmas feladat, ami csak valamilyen monitorozó rendszerrel lehetséges. A monitorozó rendszereket és azok funkcióit úgy kell elképzelni, mint egy atomerőmű vezérlőközpontját. Egy központi felület valós időben mutatja az adott szervezet rendszereinek, szolgáltatásainak és szoftvereinek állapotát, riasztást ad a rendkívüli eseményekről. Ez lehet hardware meghibásodás, szoftveres probléma vagy akár biztonsági incidens is, a lényeg, hogy az üzemeltető személyzet értesül róla, és lefutnak az automatikus védelmi intézkedések. Ha ez nem elég, akkor az informatikai személyzet alkalmazza az adott helyzetre előre definiált lépéssorozatot, megkezdi a probléma javítását és az okok felderítését.
A monitorozó rendszerek természetes módon hozzáférnek a felügyelt rendszerekhez és rengeteg érzékeny információt tartalmazhatnak, például belépési adatokat, hálózati információkat, biztonsági beállításokat. Egy hacker számára ezek az információk kulcsfontosságúak lehetnek, és sok esetben a monitorozó rendszer tartalma maga a „kulcs az egész szervezet rendszereihez”.
Ilyen rendszer a Pandora FMS is, amelyen a magyar hacker több, kisebb-nagyobb sérülékenység együttes felhasználásával, úgynevezett hibalánc alkalmazásával ütött rést.
Az alaphiba egy Cross Site Scripting, röviden XSS volt. Ennek lényege, hogy a rendszer bizonyos esetekben nem ellenőrzi megfelelően a felhasználótól érkező beviteli adatokat és megbízható szűrés nélkül elmenti őket az adatbázisba. Ilyenkor előfordulhat, hogy egy felhasználó nem egy másiknak szóló üzenetet helyez el egy chat-ben, hanem egy programkódot, amit a másik felhasználó böngészője gond nélkül lefuttat.
Képzeljünk el egy rosszul védett vendégkönyvet, amibe valaki a kiszolgálás értékelése helyett kártékony kódot helyez el. A többi vendég, és a rendszer üzemeltetője rendszeresen megnyitják az oldalt, és a gépük máris futtatja a kódot. Ez történt a Pandora FMS esetében is. A hacker egy alapszintű hozzáféréssel a „visual console” definiálásához használt beviteli mezőjében helyezte el a JavaScript nyelven írt kártékony kódot. Fontos, hogy ez az egyetlen lépés, amit maga a támadó hajt végre, minden más automatikusan történik.
A Pandora esetében a kódot egy a Visual Console event felületén helyezte el a hacker, és már csak várnia kellett, hogy ezt a felületet webes admin jogosultsággal rendelkező felhasználó megnyissa, ami a „visual console” esetében gyakran megtörténik. A megnyitással a támadó által elhelyezett kód figyelmeztetés nélkül letöltődött és lefutott, mégpedig az admin felhasználó nevében és az admin felhasználó böngészőjében. Ez a támadás szépsége: a támadó jó eséllyel rejtve marad, hiszen kívülről nézve egy arra jogosult személy végzett műveleteket a rendszerben.
Az XSS igazi erőssége a következő lépésben mutatkozik meg. A támadó kódja most már webes adminisztrátori funkciókhoz is hozzáfér, nem csak felhasználói funkciókhoz. Amit egy admin felhasználó képes a böngészőjével elvégezni, azt a JavaScript kód is képes megtenni. Ha az adminisztrátori fájlfeltöltő funkció hibát és sérülékenységet tartalmaz – itt kezdődik a hibák láncba szervezése – akkor a JavaScript kód kihasználhatja ezeket a hibákat, sérülékenységeket is. Jelen esetben feltöltött és lefuttatott egy PHP nyelven írt újabb támadó kódot. Ez a kód már a kiszolgáló infrastruktúrán, a webszerveren fut, és végső lépésként parancssori hozzáférést biztosít a támadónak.
A parancssori hozzáféréssel a támadó tetszőleges műveletet hajthat végre a kiszolgáló infrastruktúrán, hozzáfér az adatbázishoz, a kapcsolati adatokhoz és a szerveren található érzékeny információkhoz. A hozzáférés birtokában a támadó műveleteket hajthat végre a rendszerben, módosíthatja és manipulálhatja a felügyelt rendszereket, védelmi intézkedéseket.
Az etikus hacker a forráskódot saját maga által készített eszközökkel vizsgálva fedezte fel a különböző sérülékenységeket. Ezeket összekötve és együtt kihasználva szerzett egyre magasabb hozzáférést a környezetben. A sérülékenységeket etikus hacker lévén bejelentette a szoftver gyártójának és a MITRE-nek is. Ezzel egy időben elküldte az analizáláshoz és javításhoz szükséges technikai információkat a gyártónak, egy példa támadó kódot (Proof Of Concept), valamint egy demonstrációs videót is. A gyártó a sérülékenységeket megvizsgálta és kijavította. A javítások publikálása után, a hacker nyilvánosságra hozta a sérülékenységeket a saját honlapján (https://k4m1ll0.com), a MITRE pedig publikálta és megvizsgálta a bejelentést, amit 9.8-as súlyosságúnak, azaz kritikus besorolású sérülékenységnek minősített.
A legtöbb szoftveren sajnálatos módon egyáltalán nem végeznek biztonsági forráskód vizsgálatokat. Ha végeznek is, a forráskód vizsgálatát csak automata eszközökkel végzik el, mert az viszonylag gyors és olcsó. Ezek az eszközök azonban – bár számos sérülékenységet és hibát feltárnak – nem képesek pótolni az emberi hozzáértést. Olyan ez, mint a helyesírás ellenőrző, vagy a fordítóprogramok: a rosszul leírt szavakat kiszúrják, a lefordított szavakat több-kevesebb sikerrel egymás mellé rakják, de ma még így sem születnek nyelvtanilag hibátlan, stilisztikailag vagy akár tartalmilag kifogásolhatatlan szövegek.
A Pandora FMS szoftvere nyílt forráskódú és több alkalommal egymástól függetlenül végeztek rajta forráskód elemzést, ennek ellenére egyes feltárt biztonsági hiányosságok hosszú évek óta megtalálhatók voltak a rendszerben, és ilyenek összekötése tette lehetővé a magyar etikus hacker számára is a hozzáférés megszerzését.
Matek Kamilló
Matek 36 éves, az ELTE-n végzett programtervező informatikusként. Később elvégezte az Etikus Hacker képzést (KCEH), majd autodidakta módon tovább képezte magát. Igy magáénak tudhatja a nemzetközileg elismert OSWP, OSCP, OSWE tanúsítványokat is. Van, aki matchboxokat gyűjt vagy sorozatokat néz, ő szabadidejében is rendszereket vizsgál és támadó kódokat készít. Az elmúlt pár évben ezzel együtt 11 db, a MITRE által elfogadott, közepes, magas, vagy kritikus besorolású sérülékenységet tárt fel. Kamilló 2020-ban csatlakozott a KPMG CyberLab csapatához, ahol sérülékenységvizsgálatokat, penetrációs teszteket, forráskód elemzéseket, pishing kampányokat, illetve ezekkel kapcsolatos tevékenységeket végez.