The Adventures of the Elusive Malware, Diel IV: DDE en Word Document Fields

The Adventures of the Elusive Malware, Diel IV: DDE en Word Document Fields

Dit artikel is diel fan 'e Fileless Malware-searje. Alle oare dielen fan 'e searje:

Yn dit artikel soe ik dûke yn in noch komplekser multi-stage fileless oanfal senario mei pinning op it systeem. Mar doe kaam ik oer in ongelooflijk ienfâldige oanfal sûnder koade - gjin Word- of Excel-makro's nedich! En dit bewiist folle effektiver myn oarspronklike hypoteze dy't dizze rige artikels leit: it brekken fan 'e bûtenkant fan elke organisaasje is hielendal gjin drege taak.

De earste oanfal dy't ik sil beskriuwe eksploitearret in kwetsberens fan Microsoft Word dy't basearre is op ferâldere dynamyske gegevens útwikseling protokol (DDE). Se wie al fêst. De twadde eksploitearret in mear algemiene kwetsberens yn Microsoft COM en objektferfiermooglikheden.

Werom nei de takomst mei DDE

Immen oars ûnthâlde DDE? Wierskynlik net folle. It wie ien fan de earsten kommunikaasjeprotokollen tusken prosessen wêrtroch applikaasjes en apparaten gegevens oerdrage kinne.

Ik bin der sels in bytsje bekend mei, om't ik eartiids telekomapparatuer kontrolearre en testte. Op dat stuit liet DDE bygelyks callcenter-operators de beller-ID oermeitsje nei in CRM-applikaasje, dy't úteinlik in klantkaart iepene. Om dit te dwaan, moasten jo in RS-232-kabel ferbine tusken jo tillefoan en jo kompjûter. Dat wienen nochris tiden!

As it docht bliken, is Microsoft Word noch stipet DDE.

Wat dizze oanfal effektyf makket sûnder koade is dat jo tagong kinne ta it DDE-protokol direkt fan automatyske fjilden yn in Word-dokumint (hoeden ôf foar SensePost foar ûndersyk en publikaasjes oer it).

Fjild koades is in oare âlde MS Word-funksje wêrmei jo dynamyske tekst en in bytsje programmearring kinne tafoegje oan jo dokumint. It meast foar de hân lizzende foarbyld is it sidenûmerfjild, dat kin wurde ynfoege yn 'e foettekst mei de wearde {PAGE *MERGEFORMAT}. Hjirmei kinne sidenûmers automatysk oanmakke wurde.

The Adventures of the Elusive Malware, Diel IV: DDE en Word Document Fields
Hint: Jo kinne it Fjild menu item fine ûnder Ynfoegje.

Ik wit noch dat doe't ik dizze funksje foar it earst ûntduts yn Word, ik wie fernuvere. En oant de patch it útskeakele, stipe Word noch de opsje DDE-fjilden. It idee wie dat DDE Word tastean soe om direkt mei de applikaasje te kommunisearjen, sadat it dan de útfier fan it programma yn in dokumint trochjaan koe. It wie op dat stuit in heul jonge technology - stipe foar gegevensútwikseling mei eksterne applikaasjes. It waard letter ûntwikkele yn COM technology, dêr't wy ek sille sjen hjirûnder.

Uteinlik realisearre de hackers dat dizze DDE-applikaasje in kommando-shell wêze koe, dy't fansels PowerShell lansearre, en fanôf dêr koene de hackers dwaan wat se woene.
It skermôfbylding hjirûnder lit sjen hoe't ik dizze stealth-technyk brûkte: in lyts PowerShell-skript (hjirnei oantsjutten as PS) fan it DDE-fjild laadt in oar PS-skript, dat de twadde faze fan 'e oanfal lanseart.

The Adventures of the Elusive Malware, Diel IV: DDE en Word Document Fields
Mei tank oan Windows foar de pop-up warskôging dat it ynboude DDEAUTO-fjild stikem besiket de shell te begjinnen

De foarkommende metoade foar it eksploitearjen fan de kwetsberens is om in fariant te brûken mei it DDEAUTO-fjild, dat it skript automatysk útfiert by iepening Word dokumint.
Litte wy tinke oer wat wy hjirmei kinne dwaan.

As begjinnende hacker kinne jo bygelyks in phishing-e-post stjoere, pretend dat jo binne fan 'e Federal Tax Service, en it DDEAUTO-fjild ynbêde mei it PS-skript foar de earste etappe (in dropper, yn essinsje). En jo hoege net iens in echte kodearring te dwaan fan makro's, ensfh., lykas ik yn foarige artikel.
It slachtoffer iepenet jo dokumint, it ynbêde skript wurdt aktivearre, en de hacker einiget yn 'e kompjûter. Yn myn gefal drukt it PS-skript op ôfstân gewoan in berjocht ôf, mar it kin like maklik de PS Empire-kliïnt starte, dy't tagong op ôfstân sil leverje.
En foardat it slachtoffer tiid hat om wat te sizzen, sille de hackers de rykste teenagers fan it doarp blike te wêzen.

The Adventures of the Elusive Malware, Diel IV: DDE en Word Document Fields
De shell waard lansearre sûnder it minste bytsje kodearring. Sels in bern kin dit dwaan!

DDE en fjilden

Microsoft hat letter DDE yn Word útskeakele, mar net foardat it bedriuw ferklearre dat de funksje gewoan misbrûkt waard. Har ûnwilligens om wat te feroarjen is begryplik. Yn myn ûnderfining haw ik sels in foarbyld sjoen wêrby't it bywurkjen fan fjilden by it iepenjen fan in dokumint ynskeakele wie, mar Word-makro's waarden útskeakele troch IT (mar in notifikaasje sjen litte). Trouwens, jo kinne de oerienkommende ynstellings fine yn 'e seksje Word ynstellings.

Sels as it bywurkjen fan fjilden ynskeakele is, stelt Microsoft Word de brûker ek op 'e hichte as in fjild tagong freget ta wiske gegevens, lykas it gefal is mei DDE hjirboppe. Microsoft warskôget jo echt.

Mar wierskynlik sille brûkers dizze warskôging noch negearje en de fjildenupdate yn Word aktivearje. Dit is ien fan 'e seldsume kânsen om Microsoft te tankjen foar it útskeakeljen fan de gefaarlike DDE-funksje.

Hoe lestich is it hjoed om in unpatched Windows-systeem te finen?

Foar dizze testen brûkte ik AWS Workspaces om tagong te krijen ta in firtuele buroblêd. Op dizze manier krige ik in unpatched MS Office firtuele masine dy't my it DDEAUTO-fjild koe ynfoegje. Ik haw gjin twifel dat jo op in fergelykbere manier oare bedriuwen kinne fine dy't de nedige feiligenspatches noch net hawwe ynstalleare.

Mystearje fan objekten

Sels as jo dizze patch hawwe ynstalleare, binne d'r oare befeiligingsgaten yn MS Office wêrmei hackers iets dwaan kinne dat heul gelyk is oan wat wy dien hawwe mei Word. Yn it folgjende senario sille wy leare brûke Excel as aas foar in phishing-oanfal sûnder in koade te skriuwen.

Om dit senario te begripen, litte wy it Microsoft Component Object Model ûnthâlde, of koart COM (Component Object Model).

COM bestiet sûnt de jierren 1990, en wurdt definiearre as in "taalneutraal, foarwerp-rjochte komponint model" basearre op RPC remote proseduere calls. Foar in algemien begryp fan COM-terminology, lês dizze post op StackOverflow.

Yn prinsipe kinne jo tinke oan in COM-applikaasje as in Excel- of Word-útfierber, as in oar binêre bestân dat rint.

It docht bliken dat in COM-applikaasje ek rinne kin senario - JavaScript of VBScript. Technysk hjit it skriptlet. Jo hawwe miskien de .sct-útwreiding foar triemmen yn Windows sjoen - dit is de offisjele tafoeging foar skriptlets. Yn essinsje binne se skriptkoade ferpakt yn in XML-wrapper:

<?XML version="1.0"?>

<scriptlet>
<registration
description="test"
progid="test"
version="1.00"
classid="{BBBB4444-0000-0000-0000-0000FAADACDC}"
remotable="true">
</registration>
<script language="JScript">
<![CDATA[

var r = new ActiveXObject("WScript.Shell").Run("cmd /k powershell -c Write-Host You have been scripted!");

]]>
</script>
</scriptlet>

Hackers en pentesters hawwe ûntdutsen dat d'r aparte nutsbedriuwen en applikaasjes binne yn Windows dy't COM-objekten akseptearje en, sadwaande, ek scriptlets.

Ik kin in skriptlet trochjaan oan in Windows-hulpprogramma skreaun yn VBS bekend as pubprn. It leit yn 'e djipten fan C: Windowssystem32Printing_Admin_Scripts. Trouwens, d'r binne oare Windows-hulpprogramma's dy't objekten as parameters akseptearje. Litte wy earst nei dit foarbyld sjen.

The Adventures of the Elusive Malware, Diel IV: DDE en Word Document Fields
It is frij natuerlik dat de shell sels kin wurde lansearre fanút in printskript. Gean Microsoft!

As test haw ik in ienfâldich skriptlet op ôfstân makke dat in shell lanseart en in grappich berjocht printsje, "Jo binne krekt skreaun!" Yn essinsje instantiates pubprn in scriptlet-objekt, wêrtroch VBScript-koade in wrapper kin útfiere. Dizze metoade jout in dúdlik foardiel foar hackers dy't wolle sneak yn en ferbergje op jo systeem.

Yn 'e folgjende post sil ik útlizze hoe't COM-scriptlets kinne wurde eksploitearre troch hackers mei Excel-spreadsheets.

Foar jo húswurk, sjoch ris Dizze fideo fan Derbycon 2016, dy't krekt ferklearret hoe't hackers scriptlets brûkten. En ek lêze dit artikel oer skriptlets en in soarte fan bynamme.

Boarne: www.habr.com

Add a comment