KRITIKUS BESOROLÁSÚ BIZTONSÁGI RÉS A WINRAR-BAN

Az 5.21-es kiadás önkitömörítő (SFX) állománya felhasználható kártékony kódok távolról történő futtatására, valamint akár adatlopásra is.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
2015. okt. 1. 8:01
Kritikus besorolású biztonsági rés a WinRAR-ban

Egy biztonságtechnikával foglalkozó kutató, Mohammed Reza Espargham meglehetősen komoly biztonsági résre bukkant a WinRAR 5.21-es kiadásában, ami nagy veszélyt jelenthet arra a nagyjából 500 millió felhasználóra, akik aktívan használják a népszerű szoftver önkicsomagoló állományait.

A hiba forrása a WinRAR önkicsomagoló fájljainak működésében gyökeredzik, a felhasználókra pedig meglehetősen nagy veszélyt jelent, hiszen a biztonsági rést kihasználni kívánó támadó egy ügyes trükkel távolról futtathat különböző kódokat a célszemély számítógépén, de akár különböző adatokra is szert tehet – sőt, gyakorlatilag bármi egyebet is megtehet, amire amúgy a bejelentkezett felhasználónak is lehetősége van.

Ilyen egyszerű kiaknázni a bugban rejlő lehetőségeket:

A biztonsági rés az önkicsomagoló állomány "Szöveg és Ikon" funkciójának működéséből ered: az említett menü szövegmezőjébe könnyedén beilleszthető a kártékony kód, ami az önkicsomagolást végző SFX állományra kattintva le is fut – és ehhez még arra sincs szükség, hogy valóban elvégezze a rendszer az állomány kitömörítését, ahogy az a fenti videóból is kiderült.

A támadáshoz csak egy biztonságosnak tűnő önkicsomagoló állományra van szükség, ami akár üres is lehet, a lényeg, hogy futtassák. Ekkor a háttérben lefut a kártékony kód, ami nagyon sok kellemetlenséget tud okozni. Sokat elmond az a tény, hogy CVSS mércével 9.2 pontos, azaz kritikus súlyosságú hibáról van szó.

Hírlevél feliratkozás
A feliratkozással elfogadom a Felhasználási feltételeket és az Adatvédelmi nyilatkozatot.

27 hozzászólás

A komment írásához előbb jelentkezz be!
mullerdavid
mullerdavid
2015. okt. 2. 17:05
#6

Kezdem sorjában. Nézzük mi az exploit:

  1.  Run perl code : perl poc.pl <- ez lesz a webszerver...
  2. Right Click on any file and select "add to archive..." <- csinálunk egy arhívot

  3. Select "Create SFX archive" <- ami önkicsomagoló lesz

  4. Go to the Advanced Menu and select "SFX options..." <- haladó beállítások

  5. Go to the "Text and icon" Menu <- melyik fül

  6. Copy this perl output (HTML) and past on "Text to display in SFX window" <- szöveges metadata, ami lehet html is, ez lesz a "biztonsági hiba", ha tavoli oldalra redirectelünk

  7. Click OK -- OK <- Ok

  8. Your SFX file Created <- kész az SFX fajl

  9. Just open sfx file <- nyissuk meg

  10. Your Link Download/Execute on your target <- lefut az SFX fajl

  11. Successful reproduce of the code execution vulnerability! <- letölti a távoli oldalt, lefut

Akkor most felhívnám a figyelmet, annak ellenére, hogy ezt SFX fájlnak hívjuk, ez egy mezei EXE fájl, tartalmazza a kicsomagoló rutint és az arhívumot, hogy olyan gépen is ki tudjuk csomagolni, ahol nincs feltelepítve kicsomagoló program, vagy telepítő létrehozásahoz, mely szkriptelhető.

A hiba akkor "használható" ki, ha lefuttatja valaki az EXE/SFX fájlt. Ami valljuk be, nem megbízható forrásnál sandbox/virtuális gép nélkül butaság. Mindjárt kitérek a létező SFX fájlokra is.

Ha ezt a fájlt a WinRARból nyitjuk meg, ami lehetséges, és mindenkinek ajánlom ha önkicsomagoló fájllal találkozik, akkor nem futnak le a szkriptek, nem indul el semmi az ég adta világon.

Még ki is írja oldalt: ";A következő megjegyzés SFX script parancsokat tartalmaz <tényleges szkript>". A fájlok kicsomagolása is lehetséges a szkript futtatása nélkül a programon belül...

Visszatérve a teljesen normális SFX fájlokra. Ha ebben utólag módosítani szeretnéd a stringet, az nem olyan egyszerű, mert az titkosítva/maszkolva van. De ha módosítod is, akkor le kell cserélned az exe fájl egy darabját valami másra.

Ezután az ellenőrző összeg változik, amivel lehet validálni a letöltött fájlt (szintén ajánlott!).

Amiről én eddig beszéltem, hogy ha módosítani szeretnéd azt a nyamvadt EXE fájlt, nincs szükséged winrarra sem. Fogod, beleírsz a gépikód részbe és készen vagy. Akár folytathatod is az eredeti programot ha végeztél, senkinek se fog feltűnni. Ugyan úgy működni fog a fájl egy részének módosításával, ellenben nem csak a WinRARal készített fájlokkal működik.

Ennél érthetőbben/részletesen nem tudom leírni. Ha ezek után se értitek...

mullerdavid
mullerdavid
2015. okt. 4. 20:54

Látom eljutottál oda ahol az érveid a másik sértegetéséből állnak. GG. Abban igazad van hogy totál hülye vagyok hogy megpróbálom elmagyarázni egy olyan tudatlannak a dolgokat mint te vagy.És érdekes mód ők is arról beszélnek amiről én...

mullerdavid
mullerdavid
2015. okt. 2. 17:02
#5

Bugos a szerkesztés a fórumban?

thedeveloper
thedeveloper
2015. okt. 2. 8:29
#4

Elég értetlenek vagytok.

Egy megbízható forrásból származó telepítő utólag módosítva kártékony kódot futtathat a felhasználó tudta nélkül.

A módosítást egy letöltésvezérlő böngésző plugin is elvégezheti.

Pl.:

  1. ghisler.com -ről letöltöd a TC telepítőjét

  2. A letöltést egy letöltésvezérlő plugin végzi

  3. A letöltést követően a plugin módosítja a letöltött fájlt.

  4. Feltelepíted a Total Commander-t, mivel eredetileg is ezt szeretted volna.

  5. Közben lefut egy HTML kód a háttérben, amiről sem te, sem pedig a forrás (ghisler.com) nem tudott.

Ezért hívják biztonsági résnek, mivel a felhasználó egy megbízható programnak ad engedélyt a futásra, de közben egy kártékony kód is le fog futni.

A böngésző plugin csak egy példa volt. Nyilván millió-féleképpen manipulálható letöltést követően egy sfx fájl, főleg, ha csak az ártatlannak tűnő description mezőt módosítja valami.

Egyébként ez olyan, mintha az mp3 ID3v2 tag lyrics (azaz dalszöveg) mezőjében szereplő szöveges adatnak egy zenelejátszó program vezérlési jogot adna....

thedeveloper
thedeveloper
2015. okt. 2. 14:01

Nem látom a példáidban a biztonsági rést.

Ha valaki úgy hozza létre az állományt (=szánt szándékkal), akkor ez a várt viselkedés az .sfx részéről, hiszen sikeresen végrehajtotta a készítője utasításait.

De megismétlem, hátha sikerül megérteni:

Az, hogy a számítógép utasításokat hajt végre, még nem bűncselekmény és nem kártékony dolog, hiszen erre tervezték. Remélem ez még oké.

Itt arról van szó, hogy például közzéteszel egy önkicsomagoló rar-t a weblapodon. Erről a fájlról azt állítod a felhasználóidnak, hogy megbízható és nem tartalmaz vírust. Ezt akár egy online vírusirtó is megerősíti egy szép emlémával a download page-en.

Letöltés közben, vagy azt követően valamikor valami belenyúl és egyszerűen kicseréli benne a text mező értékét. De jobbat mondok: egy megfertőzött/preparált/nem megbízható forrásból származó WinRAR, vagy gyakorlatilag bármilyen csomagoló program a gépen innentől kezdve minden vele készített sfx állomány text mezőjébe beilleszt egy html kódot.

A sérülékenység tehát egy harmadik fél által készített programban van és mindenki potenciális áldozat, aki használja azt.

Mondok még jobbat:

Egy megbízhatónak tekintett sfx állomány letöltésekor nincs szükség fertőzött letöltésvezérlőre ahhoz, hogy belenyúljon a rar-ba.

Elég hozzá egy proxy, vagy elég az, ha a weboldalt, ahol a fájl közzé van téve, feltörték.

Letöltés előtt simán módosítja a fájlt.

Mire a gépedre ér, már benne van a html kód is.

És ezek csak az én naív ötelteim.

Ki tudja, hogy milyen fantáziát látnak a sérülékenységben azok, akik ezzel foglalkoznak..

Zedas
Zedas
2015. okt. 1. 9:41
#3

Atyaég, mekkora bug! Egy EXE-t elindítasz a gépeden, és megfertőződhetsz, OMG!!!

Amúgy emlékeim szerint van az SFX-ben autorun is, szóval azt raksz bele, és azt futtatsz, amit csak akarsz.

Resike
Resike
2015. okt. 2. 13:24

Te nem vagy képes felfogni, hogy vagy egy sztring mező a amit a WinRAR minden esetben lefuttat a felhasználó tudtán kívül, akkor is még ha ki sem csomagoltad a fájlt, akkor is ha csak belenézel a fájlba. Hogyha ez neked teljesen okés akkor gratulálok. De pont ezért tiltották be az unsigned minialkalmazásokat is a Windows-ban, Windows 10-ből meg teljesen kivették.

Terror
Terror
2015. okt. 1. 9:10
#2

Bennem is felmerült a kérdés, hogy ha valaki kódot akar lefuttatni SFX állományból, akkor miért tenné azt kommentből, amikor egyenesen elküldheti a malware-t vagy éppen egyenesen becsomagolhatja azt.

mullerdavid
mullerdavid
2015. okt. 1. 10:54

És ez szerinted miben különbözik attól, ha valaki ír egy telepítőt amiben a malware van az SFXen belül becsomagolva. Mert van benne sima futtatási opció is. Vagy ha egy meglévő telepítő binárisát fertőzi meg és azt adja oda. Vagy ha ír egy ugyan úgy kinéző (ikon/ui/stb) programot.

Mindegyik exe, mindegyik az átlagfelhasználónak egyforma. Az hogy hogyan készítetted el, még nem lesz egy 9.2es biztonsági hiba, pláne nem érint winrar felhasználókat, csak akik a winrar által (szándélosan kártevőként) készített exe fájlt megnyitják.

mullerdavid
mullerdavid
2015. okt. 1. 8:44
#1

Reggel van még nekem, de ennyi erővel bármely bináris fájlba is belenyúlhatok. Ott is azt futtatok amit akarok. Ha valaki nem bízik meg a forrásban, de lefuttat 1 exe fájlt, annak teljesen mindegy. Az is kritikus biztonsági rés!?

Van válasz is a winrartól: http://seclists.org/bugtraq/2015/Sep/139 .

Vissza az oldal tetejére