iPon Hírek

Kritikus besorolású biztonsági rés a WinRAR-ban

Dátum | 2015. 10. 01.
Szerző | J.o.k.e.r
Csoport | ADATTÁROLÁS

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ó.
Új hozzászólás írásához előbb jelentkezz be!

Eddigi hozzászólások

27. mullerdavi...
2015.10.01. 08:44
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://rarlab.com/vuln_sfx_html.htm http://seclists.org/bugtraq/2015/Sep/139 .
 
Válasz írásához előbb jelentkezz be!
26. Terror
2015.10.01. 09:10
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.
 
Válasz írásához előbb jelentkezz be!
25. Zedas
2015.10.01. 09:41
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.
 
Válasz írásához előbb jelentkezz be!
24. mullerdavi... Zedas
2015.10.01. 09:54
Minden évben van egy pár biztonsági hír aminél megy a felhajtás, de a valósághoz köze nincs. Tavaly az USB sebezhetősége volt felkapott. Sajnos iPonon is sikerül mindig lehozni ezeket a klikkvadász híreket.
 
Válasz írásához előbb jelentkezz be!
23. Resike Terro...
2015.10.01. 10:46
Azért mert a felhasználó megbízik az SFX telepítőben mert rengeteg program használja annak.
 
Válasz írásához előbb jelentkezz be!
22. Resike Zedas
2015.10.01. 10:53
Azért van egy kis különbség egy exe lefuttatása meg az között egy elterjedt program automatikus non-opcionálisan kérdés nélkül lefuttat bármilyen nyers kódot a header fájljából.

Pár hónapja utaltam hogy mennyi esetleges biztonsági rés leledzik a WinRAR-ban akkor senki sem méltatta ezt.
 
Válasz írásához előbb jelentkezz be!
21. mullerdavi... Resik...
2015.10.01. 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.
 
Válasz írásához előbb jelentkezz be!
20. mullerdavi... Resik...
2015.10.01. 10:58
Kifejtenéd ezt a header fájlos dolgot? Mert itt marhára opcionális, ha elindítod az exet, akkor futtat mást is. Ha nem indítod, nem futtat. Vagy a többi esetleges bitonsági résről dobsz egy linket?
 
Válasz írásához előbb jelentkezz be!
19. Resike mulle...
2015.10.01. 15:00
Itt nem az történik, hogy az SFX arhívum kitömörít egy másik exe fájlt és automatikusan lefuttatja azt. Hanem te megadhatsz egy website-ot ami a telepítő ablakában meg fog jelenni (pl. changelog) indítás után ez a weboldal be fog töltődni és minden rajta található futtatható kód (javascript/php) is le fog futni. (A videóban pl. letölt egy másik fájl és automatikusan el is indítja.) És itt a bibi, ugyanis az a kód az SFX arhívum jogaival rendelkezik amit a felhasználó még futtatás előtt UAC permitelt.
 
Válasz írásához előbb jelentkezz be!
18. mullerdavi... Resik...
2015.10.01. 16:14
Igen, és ez miért olyan nagy szám? tudsz te is írni ilyen exe-t (Ha simán letöltesz TCPn egy bájtsort, majd adsz futtatási jogot neki, rájumpolsz, az is lefut az exe jogaival, mivel fizikailag még mindig ugyan az) . Vagy csak simán meghívni egy másikat ami egy samba sharen csücsül. Az is lefut. Szerinted a vcredist hogy települ a többi telepítőnél extra uac prompt nélkül. Teljesen mindegy honnan jön a fájl. Az az SFX arhívum egy szimpla exe fájl. Most kb arról szól a hír, hogy jajj, léteznek káros programok a világban.
 
Válasz írásához előbb jelentkezz be!
17. Resike mulle...
2015.10.01. 21:56
Nem tudom hogy te hogy vagy vele, de egy exe sem csinálhatna semmit a felhasználó megkérdezés nélkül ami nem szerepel az EULA-ban, és itt pont ez történik a WinRAR közrejátszásával. Ami ezt megcsinálja az már jogi alapon malware-nek számít.
 
Válasz írásához előbb jelentkezz be!
16. mullerdavi... Resik...
2015.10.01. 23:05
Köszi, ezzel eldőlt hogy tök fölöslegesen tépem a számat. Nem tudom mire gondolsz a WinRAR közrejátszásával és az EULAval, de szerintem az összes szoftverben benne van a szokásos "As is", "No warranty", "Own risk" rész. WinRARnál is: 5. pont. Ennyi erővel az összes compilert tiltsuk be. Vagy szkriptnyelvet. Ahhoz is engedélyt kérjen a program hogy engedélyt kérjen az engedély kérés megjelenítésének engedélyezéséhez. Se jogilag (ami országonként változik), se működésileg nem vagy tisztában a dolgokkal. Érvnek meg megint rossz. (olyan hogy "Malware" a magyar BTKban tudtommal nincs, 386 vonatkozik ide legfeljebb. Ezt a WinRAR egyáltalán nem sérti).
 
Válasz írásához előbb jelentkezz be!
15. thedevelop...
2015.10.02. 08:29
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....
 
Válasz írásához előbb jelentkezz be!
14. Terror thede...
2015.10.02. 08:58
Ha már a letöltésvezérlő eleve buherált, ahogy írod, miért van szükség a letöltött file átírására a kód futtatására, miért nem futtatja ezt le a letöltésvezérlő plugin? És ez áll az összes származtatott példára. Nincs értelme.

A másik: RAR-ban van egy olyan funkció, hogy archive lock. Innentől fogva nem lehet módosítani a file-t, csak ha kicseréled, de akkor megint adódik a kérdés, miért írnád a kódot kommentbe.

És nem, nem ugyanolyan, mint az mp3 tag, mert az SFX eleve egy futtatható állomány, az MP3 meg nem az.
 
Válasz írásához előbb jelentkezz be!
13. mullerdavi... Terro...
2015.10.02. 09:29
nem értik, fölösleges
 
Válasz írásához előbb jelentkezz be!
12. thedevelop... mulle...
2015.10.02. 13:17
Ti sem értitek és szerintem is felesleges.

Terror:
1: azért van rá szükség, mert egy megbízhatónak hitt fertőzött rar-t a felhasználó potenciálisan terjeszteni fog.
A kártevők készítőinek pedig ez az egyik célja, hogy terjedjen a kódjuk.
Pl.: torrent oldalakon közzétett repacked játék telepítők, amik tipikusan sfx-et használnak. Kétlem, hogy különösebben magyaráznom kellene.

2: a "van olyan funkció" és aközött, hogy minden önkicsomagoló .rar fájl zárolt, van egy kis különbség, remélem érzed, hogy egy opcionális dologról beszélünk.

És végül, a példa bizony tökéletes, hiszen:
- önkicsomagoló rar esetén arra számít a felhasználó, hogy a tartalmát magától kicsomagolja majd. Ezért indítja el. Arra már nem számít senki, hogy az ártatlan licence dokumentum lefut a háttérben és azt csinál, amit akar...

- .mp3 esetén zenelejátszásra számítasz, nem pedig kódvégrehajtásra.

- .wmf esetén arra számít a felhasználó, hogy megjelenik a kép (nem arra, hogy kódot fog futtatni ugyebár)

- .ttf esetén egy TrueType fontra számít a felhasználó, nem arra, hogy kód futhasson a háttérben emelt felhasználó jogosultságokkal.

stb..
Bakker nem olyan nehéz ez.
 
Válasz írásához előbb jelentkezz be!
11. Resike mulle...
2015.10.02. 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.
 
Válasz írásához előbb jelentkezz be!
10. Terror thede...
2015.10.02. 13:33
Igen, rögtön azzal kezdtem, hogy ha önkicsomagoló installer, akkor felrakhat ötven malware-t is ezzel az erővel, nem kell kommentből végrehajtania semmit. Sőt, az olyan installerek, amiket most példának felhoztál, sokszor futtatnak még le egy deflate kódot is médiafile-okra, abba meg a delikvens szintén azt rak, amit akar. Ezer és egy lehetősége van a rosszindulatú kódot lefuttatni a RAR komment funkciója nélkül is.
 
Válasz írásához előbb jelentkezz be!
9. thedevelop... Terro...
2015.10.02. 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..
 
Válasz írásához előbb jelentkezz be!
8. mullerdavi...
2015.10.02. 17:02
Bugos a szerkesztés a fórumban?
 
Válasz írásához előbb jelentkezz be!
7. mullerdavi...
2015.10.02. 17:05
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...
 
Válasz írásához előbb jelentkezz be!
6. Resike mulle...
2015.10.02. 18:10
Egy kurva nagy különbség van az SFX meg a mezei exe között, amit te nem akarsz észrevenni. Mégpedig az hogy az SFX elindítása csak futtatásra kész állapotba tölti be a programkódot szálkezelőbe majd vár a felhasználó megerősítésére, míg az exe egyből le is fut.

Ezzel a exploittal viszont SFXből futtatásra kész állapotból fut le a beillesztett kód, láthatatlanul.
 
Válasz írásához előbb jelentkezz be!
5. mullerdavi... Resik...
2015.10.02. 19:33
AZ SFX EGYE EXE FÁJL!!! EXE kiterjesztéssel, szokásos headerrel, szokásos inicializálással. Lövésed nincs hogyan épül fel egy exe, mik azok szálak valójában, hogy működik a gépi kód.
Te vagy az aki nem képes ezt felfogni.
Milyen megerősítésről beszélsz? Ha elindítasz egy binárist, az a megerősítésed az OSnek hogy szeretnéd futtatni...
Szerintem te a fáradtságot se vetted hogy belenézz a problémába, én már miattatok ott tartottam hogy disassemblerrel megnéztem mit csinál egy generált SFX.
 
Válasz írásához előbb jelentkezz be!
2015.10.03. 01:25
Azt akarta mondani hogy attól hogy az sfx-et elindítod még nem fogja a fájlokat egyből kicsomagolni mert vár egy OK-t, de a htmlben lévő scriptet azonnal futtatja.

Mellesleg az egész vita teljesen felesleges:
A biztonsági rés az oleaut32.dll-ben volt (nem az sfx jeleníti meg a html-t, hanem a gyári windowsos cucc), ezt 2014 novemberében javították ([LINK]). Namost ha valaki egy éve nem telepített biztonsági frissítéseket annak nem a mókolt sfx lesz a legnagyobb veszélyforrás.

Azmeg nemkicsit gáz hogy egy "biztonsági szakember" minden hivatkozás nélkül lemásolja másvalaki munkáját 95%-ban. Még egy base64-et is rátol hogy azért ne látszódjon ránézésre hogy lopta.
[LINK]: eredeti 09-25
[LINK]: második, 09-26
 
Válasz írásához előbb jelentkezz be!
3. mullerdavi... bp123
2015.10.03. 12:10
Nem azt akarta mondani, mert annak köze nincs az utóbbi üzeneteimhez. Ha elindítasz egy kártékony exe fájlt, az se kér megerősítést...
Az egész sebezhetőség gáz, az meg hogy másolja valaki, csak dob rajta.
 
Válasz írásához előbb jelentkezz be!
2. Resike mulle...
2015.10.04. 11:19
Látom teljesen felesleges vitázni itt, mert te totál hülye vagy.
 
Válasz írásához előbb jelentkezz be!
1. mullerdavi... Resik...
2015.10.04. 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.
http://www.rarlab.com/vuln_sfx_html2.htm
Van folytatás is a winrar részéről akit viszont ez érdekel még.
És érdekes mód ők is arról beszélnek amiről én...
 
Válasz írásához előbb jelentkezz be!