The Adventures of the Elusive Malware, Part IV: DDE at Word Document Fields

The Adventures of the Elusive Malware, Part IV: DDE at Word Document Fields

Ang artikulong ito ay bahagi ng serye ng Fileless Malware. Lahat ng iba pang bahagi ng serye:

Sa artikulong ito, sumisid ako sa isang mas kumplikadong multi-stage fileless attack scenario na may pag-pin sa system. Ngunit pagkatapos ay nakatagpo ako ng isang hindi kapani-paniwalang simple, walang code na pag-atakeβ€”walang Word o Excel na macro na kinakailangan! At ito ay nagpapatunay ng higit na epektibo sa aking orihinal na hypothesis na pinagbabatayan nitong serye ng mga artikulo: ang pagsira sa panlabas na perimeter ng anumang organisasyon ay hindi isang mahirap na gawain.

Ang unang pag-atake na ilalarawan ko ay nagsasamantala sa isang kahinaan ng Microsoft Word na batay sa lipas na sa panahon dynamic na data exchange protocol (DDE). Siya noon nakapirming. Ang pangalawa ay nagsasamantala sa isang mas pangkalahatang kahinaan sa Microsoft COM at mga kakayahan sa paglipat ng bagay.

Bumalik sa hinaharap kasama ang DDE

May nakakaalala pa ba sa DDE? Malamang hindi marami. Isa ito sa mga nauna inter-process na mga protocol ng komunikasyon na nagpapahintulot sa mga application at device na maglipat ng data.

Medyo pamilyar ako dito dahil sinusuri at sinusuri ko ang kagamitan sa telecom. Noong panahong iyon, pinapayagan ng DDE, halimbawa, ang mga operator ng call center na ilipat ang caller ID sa isang CRM application, na sa huli ay nagbukas ng isang customer card. Upang gawin ito, kailangan mong ikonekta ang isang RS-232 cable sa pagitan ng iyong telepono at ng iyong computer. Yung mga araw na yun!

Tulad ng lumalabas, ang Microsoft Word ay pa rin sumusuporta DDE.

Ang dahilan kung bakit epektibo ang pag-atake na ito nang walang code ay maaari mong ma-access ang DDE protocol Direktang mula sa mga awtomatikong field sa isang dokumento ng Word (sumbrero sa SensePost para sa pananaliksik at mga publikasyon tungkol doon).

Mga code ng field ay isa pang sinaunang tampok ng MS Word na nagbibigay-daan sa iyong magdagdag ng dynamic na teksto at kaunting programming sa iyong dokumento. Ang pinaka-halatang halimbawa ay ang field ng numero ng pahina, na maaaring ipasok sa footer gamit ang value na {PAGE *MERGEFORMAT}. Nagbibigay-daan ito sa mga numero ng pahina na awtomatikong mabuo.

The Adventures of the Elusive Malware, Part IV: DDE at Word Document Fields
Pahiwatig: Mahahanap mo ang item sa menu ng Field sa ilalim ng Insert.

Naaalala ko na noong una kong natuklasan ang tampok na ito sa Word, namangha ako. At hanggang hindi ito pinagana ng patch, sinusuportahan pa rin ng Word ang opsyon sa mga field ng DDE. Ang ideya ay ang DDE ay magpapahintulot sa Word na makipag-usap nang direkta sa application, nang sa gayon ay maipasa nito ang output ng programa sa isang dokumento. Ito ay isang napakabata na teknolohiya sa oras na iyon - suporta para sa pagpapalitan ng data sa mga panlabas na application. Sa kalaunan ay binuo ito sa teknolohiya ng COM, na titingnan din natin sa ibaba.

Sa kalaunan, napagtanto ng mga hacker na ang DDE application na ito ay maaaring isang command shell, na siyempre ay naglunsad ng PowerShell, at mula doon ay maaaring gawin ng mga hacker ang anumang gusto nila.
Ang screenshot sa ibaba ay nagpapakita kung paano ko ginamit ang stealth technique na ito: isang maliit na PowerShell script (mula rito ay tinutukoy bilang PS) mula sa DDE field ay naglo-load ng isa pang PS script, na naglulunsad ng ikalawang yugto ng pag-atake.

The Adventures of the Elusive Malware, Part IV: DDE at Word Document Fields
Salamat sa Windows para sa pop-up na babala na ang built-in na DDEAUTO field ay lihim na sinusubukang simulan ang shell

Ang gustong paraan ng pagsasamantala sa kahinaan ay ang paggamit ng variant na may field na DDEAUTO, na awtomatikong nagpapatakbo ng script kapag binubuksan Word na dokumento.
Pag-isipan natin kung ano ang maaari nating gawin tungkol dito.

Bilang isang baguhang hacker, maaari kang, halimbawa, magpadala ng phishing na email, na nagpapanggap na ikaw ay mula sa Federal Tax Service, at i-embed ang field ng DDEAUTO kasama ang PS script para sa unang yugto (talagang isang dropper). At hindi mo na kailangang gumawa ng anumang totoong coding ng mga macro, atbp., tulad ng ginawa ko sa nakaraang artikulo.
Binuksan ng biktima ang iyong dokumento, na-activate ang naka-embed na script, at napupunta ang hacker sa loob ng computer. Sa aking kaso, ang remote PS script ay nagpi-print lamang ng isang mensahe, ngunit ito ay maaaring kasing madaling ilunsad ang PS Empire client, na magbibigay ng remote shell access.
At bago pa magkaroon ng panahon ang biktima na magsabi ng anuman, ang mga hacker ay lalabas na ang pinakamayamang teenager sa nayon.

The Adventures of the Elusive Malware, Part IV: DDE at Word Document Fields
Ang shell ay inilunsad nang walang kaunting coding. Kahit isang bata ay kayang gawin ito!

DDE at mga field

Nang maglaon, hindi pinagana ng Microsoft ang DDE sa Word, ngunit hindi bago sinabi ng kumpanya na ang tampok ay nagamit lang nang maling paraan. Ang kanilang pag-aatubili na baguhin ang anumang bagay ay naiintindihan. Sa aking karanasan, ako mismo ay nakakita ng isang halimbawa kung saan ang pag-update ng mga patlang kapag nagbukas ng isang dokumento ay pinagana, ngunit ang mga Word macro ay hindi pinagana ng IT (ngunit nagpapakita ng isang abiso). Sa pamamagitan ng paraan, maaari mong mahanap ang kaukulang mga setting sa seksyon ng mga setting ng Word.

Gayunpaman, kahit na pinagana ang pag-update ng field, inaabisuhan din ng Microsoft Word ang user kapag humiling ang isang field ng access sa tinanggal na data, tulad ng kaso sa DDE sa itaas. Talagang binabalaan ka ng Microsoft.

Ngunit malamang, hindi pa rin papansinin ng mga user ang babalang ito at i-activate ang pag-update ng mga field sa Word. Ito ay isa sa mga bihirang pagkakataon upang pasalamatan ang Microsoft para sa hindi pagpapagana ng mapanganib na tampok na DDE.

Gaano kahirap na makahanap ng isang hindi naka-patch na Windows system ngayon?

Para sa pagsubok na ito, gumamit ako ng AWS Workspaces upang ma-access ang isang virtual desktop. Sa paraang ito ay nakakuha ako ng hindi na-patch na MS Office virtual machine na nagpapahintulot sa akin na ipasok ang field ng DDEAUTO. Wala akong duda na sa katulad na paraan makakahanap ka ng iba pang mga kumpanya na hindi pa naka-install ng mga kinakailangang patch ng seguridad.

Misteryo ng mga bagay

Kahit na na-install mo ang patch na ito, may iba pang mga butas sa seguridad sa MS Office na nagpapahintulot sa mga hacker na gumawa ng isang bagay na halos kapareho ng ginawa namin sa Word. Sa susunod na senaryo ay matututo tayo gamitin ang Excel bilang pain para sa isang phishing attack nang hindi nagsusulat ng anumang code.

Upang maunawaan ang sitwasyong ito, tandaan natin ang Microsoft Component Object Model, o sa madaling salita COM (Modelo ng Component Object).

Ang COM ay umiikot mula pa noong 1990s, at tinukoy bilang isang "neutral sa wika, modelo ng sangkap na nakatuon sa object" batay sa RPC remote procedure calls. Para sa pangkalahatang pag-unawa sa terminolohiya ng COM, basahin itong poste sa StackOverflow.

Karaniwan, maaari mong isipin ang isang COM application bilang isang Excel o Word executable, o ilang iba pang binary file na tumatakbo.

Lumalabas na maaari ding tumakbo ang isang COM application senaryo β€” JavaScript o VBScript. Technically ito ay tinatawag scriptlet. Maaaring nakita mo na ang .sct extension para sa mga file sa Windows - ito ang opisyal na extension para sa mga scriptlet. Sa pangkalahatan, ang mga ito ay script code na nakabalot sa isang 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>

Natuklasan ng mga hacker at pentester na mayroong magkahiwalay na mga utility at application sa Windows na tumatanggap ng mga COM object at, nang naaayon, mga scriptlet din.

Maaari akong magpasa ng scriptlet sa isang Windows utility na nakasulat sa VBS na kilala bilang pubprn. Ito ay matatagpuan sa kaibuturan ng C:Windowssystem32Printing_Admin_Scripts. Sa pamamagitan ng paraan, may iba pang mga utility sa Windows na tumatanggap ng mga bagay bilang mga parameter. Tingnan muna natin ang halimbawang ito.

The Adventures of the Elusive Malware, Part IV: DDE at Word Document Fields
Ito ay medyo natural na ang shell ay maaaring ilunsad kahit na mula sa isang print script. Pumunta sa Microsoft!

Bilang pagsubok, gumawa ako ng simpleng remote scriptlet na naglulunsad ng shell at nag-print ng nakakatawang mensahe, β€œKaka-script lang mo!” Sa esensya, ang pubprn ay nagbibigay ng isang scriptlet object, na nagpapahintulot sa VBScript code na magpatakbo ng isang wrapper. Ang pamamaraang ito ay nagbibigay ng malinaw na kalamangan sa mga hacker na gustong pumasok at magtago sa iyong system.

Sa susunod na post, ipapaliwanag ko kung paano ang mga scriptlet ng COM ay maaaring pagsamantalahan ng mga hacker gamit ang mga spreadsheet ng Excel.

Para sa iyong takdang-aralin, tingnan ang video na ito mula sa Derbycon 2016, na eksaktong nagpapaliwanag kung paano gumamit ng mga scriptlet ang mga hacker. At basahin din artikulong ito tungkol sa mga scriptlet at ilang uri ng moniker.

Pinagmulan: www.habr.com

Magdagdag ng komento