Megint egy nagyon durva Word sérülékenység
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ó.
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.
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.
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.”
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!)