Megint egy nagyon durva Word sérülékenység

word-vuln.jpg

Nem telhet el hónap úgy, hogy valami égbekiáltó dolog ne jelenne meg a Word-el kapcsolatban, és ez igaz lesz októberre is.

A Cymulate mutatott be egy olyan sérülékenységet, amelyet ugyan jelentett a Microsoftnak, de egyelőre a gyártó semmilyen javítást nem adott ki.

Miről van szó?

A Word (2016-tól visszamenőlegesen) lehetővé teszi, hogy külső videó (pl. YouTube) kerüljön a dokumentumba beágyazásra. Ugyan nem tudom erre mi szükség van egy szövegszerkesztőben, de az biztos, hogy a jelek szerint a funkció igen csak hordoz kockázatot magában.

A történet arról szól, hogy a külső videók scriptjének tárolását a Word egy EmbededHTML paraméterben tárolja el. A paraméter tartalmával magában a Wordben nem nagyon lehet trükközni, azonban a már elmentett dokumentumot kicsomagolva, a document.xml fájlban ennek a paraméternek az értéke átírható.

embeded1.png

Mivel az EmbededHTML paraméterben található tartalmat a Word az Explorer-el renderelteti, ezért gyakorlatilag, ami HTML és JavaScript segítségével lekódolható, az a beágyazott videóra kattintva le fog futni.

embeded2.png

A saját kódunk egy olyan JavaScript jelen esetben, amelyben BLOB-ként egy szöveg van eltárolva, amelyet futáskor a script kitárol egy TXT fájlba.

embeded3.png

Nincs más dolgunk, mint hogy kicsomagoljuk a .docx állományt (hiszen valójában egy zip tömörített mappa), majd a document.xml állományban kicseréljük az eredeti iframe-alapú beágyazott HTML kódot a saját kódunkra, majd újra összecsomagolva az állomány készen is van a trükkös .docx fájl.

Komoly probléma

Az teszi roppant súlyossá a problémát, hogy míg a korábbi makró vagy „macro-less” kódok esetén (pl. DDE) a Word megjelenít egy biztonsági figyelmeztetést arról, hogy külső állomány vagy tartalom indulna el, jelen esetben semmiféle riasztás nem történik.

Az EmbededHTML-be beleírt kód anélkül fog lefutni, hogy erről a Word bármiféle jelzést adna a felhasználó felé.

Mihez használható fel ez a módszer?

A demó videóban két felhasználást is mutatunk.

Az egyik természetesen egy klasszikus phishing – miért ne? A beágyazott videóra kattintva a phishing landing oldala jelenik meg (nyilván itt most azért ez egy kicsit elnagyolt lesz :)), mivel sem figyelmeztetés, sem semmilyen értesítés nem történik, a felhasználó sajnos nemigen fog gyanút, hiszen egy jól formázott, akár bankos tartalmú dokumentum esetében mi kelthetne gyanút? (ráadásul még a tanúsítvánnyal vagy a webcímmel sem kell foglalkozni)

A második videóban már egy letöltést mutatunk, a videóra kattintva nem a YouTube fog megjelenni, hanem az EmbededHTML paraméterbe beleírt JavaScript, amely magában tartalmazza a letöltendő fájlt, tehát még Internet forgalom sem történik, a JavaScript-ben blobként eltárolt fájl kitárolódik a gépre (vagy akár mentés nélkül is futtatható).

A demóban erre egy TXT állományt használunk, de lehetőség van a JavaScript BLOB változójába akár Base64 kódolt fájlt is elhelyezni, amelyet aztán a kitárolás után függvényhívással (pl. Base64.decode) vissza lehet alakítani futtatható állományra.

It is a feaure!

A Cymulate ugyan már három hónapja lejelentette a sérülékenységet a Microsoftnak, de a gyártó nemigen foglalkozott a problémával. Egyelőre tehát nincs terv arra, hogyan lehet a sérülékenységet javítani, a Microsoft szerint ugyanis: "properly interpreting HTML as designed.

embeded4.png

A víruskergetők megint csak nagyon szerényen muzsikálnak (VirusTotal 1/57 - nem túl biztató), szóval amíg majd képesek lesznek esetleg észlelni az ilyen tevékenységet, workaround jellegű műszaki megoldást jelenthet (szofisztikáltabb email és web védelmi megoldások esetén) hogy a beérkező .docx állományokat a tartalomkontroll meg tudja vizsgálni, és minden olyan dokumentumot blokkolhatunk, amelyben megtalálható az EmbededHTML string.

Bővel lesz false positive találat, de sajnos más lehetőség a védekezésre nincs. Azaz... A felhasználói biztonságtudatosság növelése megint segítségünkre lehet.

Értesíteni kell a felhasználókat arról, hogy megjelent egy ilyen sérülékenység, és lehetőleg ne kattintsanak a Word fájlokban található beágyazott videókra.

(A Cymulate eredeti videóját itt lehet megnézni, ők elég durvába tolják, mert konkrétan egy telepítőt nyitnak meg a beágyazott videóból, ráadásul úgy, hogy a videó is lejátszható marad!)