az utóbbi időben, Kaspersky felfedezett egy új kihasználást, amely kihasználta egy ismeretlen hibát a Chrome-ban, amelyet a Google megerősített nulla napos sebezhetőség a böngészőben, és hogy már a következő néven van katalogizálva CVE-2019-13720.
Ez a sebezhetőség támadással kihasználható a hasonló injekcióval támadása "Öntözőlyuk". Ez a fajta támadás olyan ragadozóra utal, amely ahelyett, hogy zsákmányt keresne, inkább egy olyan helyen vár, ahol biztos, hogy eljön (ebben az esetben egy ivóvízben).
mint a támadást egy koreai információs portálon fedezték fel, amelybe rosszindulatú JavaScript-kódot illesztettek be a főoldalra, amely viszont egy profilalkotási parancsfájlt tölt be egy távoli webhelyről.
A weboldal indexében egy kis JavaScript-kódot helyeztek el amely egy távoli szkriptet töltött be innen code.jquery.cdn.becorona
Ezután a szkript betölt egy másik szkriptet. Ez a szkript ellenőrzi, hogy az áldozat rendszere megfertőződhet-e, összehasonlítva a böngésző felhasználói ügynökével, amelynek a Windows 64 bites verzióján kell futnia, és nem WOW64 folyamatnak.
is próbálja meg megszerezni a böngésző nevét és verzióját. A biztonsági rés megpróbálja kihasználni a hibát a Google Chrome böngészőben, és a szkript ellenőrzi, hogy a verzió nagyobb-e vagy egyenlő-e a 65-tel (a Chrome jelenlegi verziója 78).
A Chrome verzió ellenőrzi a profilalkotási szkriptet. Ha a böngésző verziója érvényes, a parancsfájl elkezdi végrehajtani az AJAX kérések sorozatát a támadó által ellenőrzött szerveren, ahol az útvonal neve a szkriptnek átadott argumentumra mutat.
Az első kérelem szükséges a későbbi felhasználáshoz szükséges fontos információkért. Ez az információ tartalmaz több hex kódolt karaktersorozatot, amelyek megmondják a parancsfájlnak, hogy a tényleges kihasználási kód hány darabját töltse le a szerverről, valamint egy URL-t a képfájlhoz, amely tartalmaz kulcsot a végső feltöltéshez és egy RC4 kulcsot a darabok visszafejtéséhez. a kihasználás kódja.
A kód nagy része különféle osztályokat használ, amelyek egy bizonyos sebezhető böngésző-összetevőhöz kapcsolódnak. Mivel ezt a hibát az írás idején még nem javították, a Kaspersky úgy döntött, hogy nem tartalmazza a konkrét sérülékeny összetevő részleteit.
Van néhány nagy tábla számokkal, amelyek egy shell kód blokkot és egy beágyazott PE képet ábrázolnak.
A kihasználás versenyszituációs hibát használt két szál között a megfelelő időzítés hiánya miatt közöttük. Ez a támadó számára egy nagyon veszélyes használat utáni kiadás (UaF) feltételt eredményez, mert kódfuttatási forgatókönyvekhez vezethet, ami pontosan ebben az esetben történik.
A kihasználás először azt próbálja elérni, hogy az UaF elveszítse a fontos információkat 64 bites cím (mint egy mutató). Ez több dolgot eredményez:
- ha egy címet sikeresen közölnek, az azt jelenti, hogy a kihasználás megfelelően működik
- egy feltárt címet használnak annak kiderítésére, hogy hol található a kupac / verem, és amely felülírja a címtérformátum-véletlenszerűsítés (ASLR) technikát
- néhány további hasznos tipp a további kiaknázáshoz az irány közelébe nézve elhelyezhető.
Ezt követően rekurzív függvény segítségével megpróbál nagy objektumcsoportot létrehozni. Ez egy determinisztikus kupac elrendezés létrehozására szolgál, ami fontos a sikeres kiaknázáshoz.
Ugyanakkor egy kupac-permetezési technikával próbálkozik, amelynek célja ugyanazon mutató újrafelhasználása, amelyet korábban az UaF részében adtak ki.
Ezt a trükköt meg lehet keverni, hogy a támadó két különböző objektumot működtethessen (JavaScript szempontjából), annak ellenére, hogy valójában ugyanazon a memóriaterületen vannak.
A Google kiadott egy Chrome-frissítést amely kijavítja a hibát a Windows, a macOS és a Linux rendszeren, és a felhasználókat arra ösztönzik, hogy frissítsék a Chrome 78.0.3904.87 verzióra.