The Adventures of the Elusive Malware, IV daļa: DDE un Word dokumentu lauki

The Adventures of the Elusive Malware, IV daļa: DDE un Word dokumentu lauki

Šis raksts ir daļa no Fileless ļaunprātīgas programmatūras sērijas. Visas pārējās sērijas daļas:

Å ajā rakstā es grasÄ«jos ienirt vēl sarežģītākā daudzpakāpju bezfailu uzbrukuma scenārijā ar piesprauÅ”anu sistēmai. Bet tad es saskāros ar neticami vienkārÅ”u uzbrukumu bez koda ā€” nebija nepiecieÅ”ami Word vai Excel makro! Un tas daudz efektÄ«vāk pierāda manu sākotnējo hipotēzi, kas ir Ŕīs rakstu sērijas pamatā: jebkuras organizācijas ārējā perimetra pārkāpÅ”ana nepavisam nav grÅ«ts uzdevums.

Pirmais uzbrukums, ko aprakstÄ«Å”u, izmanto Microsoft Word ievainojamÄ«bu, kuras pamatā ir novecojis dinamiskais datu apmaiņas protokols (DDE). Viņa jau bija fiksēts. Otrajā tiek izmantota vispārÄ«gāka Microsoft COM un objektu pārsÅ«tÄ«Å”anas iespēju ievainojamÄ«ba.

Atgriezties nākotnē ar DDE

Vai kāds vēl atceras DDE? DroÅ”i vien nav daudz. Tas bija viens no pirmajiem starpprocesu sakaru protokoli, kas ļāva lietojumprogrammām un ierÄ«cēm pārsÅ«tÄ«t datus.

Pats esmu ar to mazliet pazīstams, jo mēdzu pārbaudīt un testēt telekomunikāciju iekārtas. Toreiz DDE atļāva, piemēram, zvanu centru operatoriem pārsūtīt zvanītāja ID uz CRM lietojumprogrammu, kas galu galā atvēra klienta karti. Lai to izdarītu, tālrunim un datoram bija jāpievieno RS-232 kabelis. Tās bija dienas!

Kā izrādās, Microsoft Word joprojām ir atbalsta DDE.

Å o uzbrukumu padara efektÄ«vu bez koda tas, ka varat piekļūt DDE protokolam tieÅ”i no automātiskiem laukiem Word dokumentā (sensePost priekÅ” pētÄ«jumi un publikācijas par to).

Lauku kodi ir vēl viena sena MS Word funkcija, kas ļauj dokumentam pievienot dinamisku tekstu un nedaudz programmēt. AcÄ«mredzamākais piemērs ir lapas numura lauks, ko var ievietot kājenē, izmantojot vērtÄ«bu {PAGE *MERGEFORMAT}. Tas ļauj automātiski Ä£enerēt lappuÅ”u numurus.

The Adventures of the Elusive Malware, IV daļa: DDE un Word dokumentu lauki
Padoms. Izvēlnes vienumu Lauks varat atrast sadaļā Ievietot.

Es atceros, ka, pirmo reizi atklājot Å”o funkciju programmā Word, es biju pārsteigts. Un lÄ«dz brÄ«dim, kad ielāps to atspējoja, Word joprojām atbalstÄ«ja opciju DDE lauki. Ideja bija tāda, ka DDE ļautu Word sazināties tieÅ”i ar lietojumprogrammu, lai tā pēc tam varētu nodot programmas izvadi dokumentā. Tā tolaik bija ļoti jauna tehnoloÄ£ija ā€“ atbalsts datu apmaiņai ar ārējām aplikācijām. Vēlāk tā tika izstrādāta COM tehnoloÄ£ijā, ko mēs arÄ« apskatÄ«sim tālāk.

Galu galā hakeri saprata, ka Ŕī DDE lietojumprogramma varētu bÅ«t komandu apvalks, kas, protams, palaida PowerShell, un no turienes hakeri varēja darÄ«t visu, ko vēlas.
Tālāk esoÅ”ajā ekrānuzņēmumā ir parādÄ«ts, kā es izmantoju Å”o slepeno paņēmienu: neliels PowerShell skripts (turpmāk tekstā PS) no DDE lauka ielādē citu PS skriptu, kas uzsāk uzbrukuma otro fāzi.

The Adventures of the Elusive Malware, IV daļa: DDE un Word dokumentu lauki
Paldies Windows par uznirstoÅ”o brÄ«dinājumu, ka iebÅ«vētais lauks DDEAUTO slepeni mēģina palaist čaulu

Ieteicamā ievainojamības izmantoŔanas metode ir izmantot variantu ar lauku DDEAUTO, kas automātiski palaiž skriptu. atverot Word dokuments.
Padomāsim par to, ko mēs varam darÄ«t Å”ajā jautājumā.

Kā iesācējs hakeris varat, piemēram, nosÅ«tÄ«t pikŔķerÄ“Å”anas e-pastu, izliekoties, ka esat no Federālā nodokļu dienesta, un iegult lauku DDEAUTO ar PS skriptu pirmajam posmam (bÅ«tÄ«bā pilinātājs). Un jums pat nav jāveic reāla makro kodÄ“Å”ana utt., kā es to darÄ«ju iepriekŔējais raksts.
Upuris atver jÅ«su dokumentu, tiek aktivizēts iegultais skripts, un hakeris nonāk datorā. Manā gadÄ«jumā attālais PS skripts vienkārÅ”i izdrukā ziņojumu, taču tas tikpat viegli varētu palaist PS Empire klientu, kas nodroÅ”inās attālo čaulas piekļuvi.
Un, pirms upuris paspēs kaut ko pateikt, hakeri izrādīsies ciema bagātākie pusaudži.

The Adventures of the Elusive Malware, IV daļa: DDE un Word dokumentu lauki
Apvalks tika palaists bez mazākās kodÄ“Å”anas. Pat bērns to var izdarÄ«t!

DDE un lauki

Microsoft vēlāk atspējoja DDE programmā Word, bet ne pirms tam, kad uzņēmums paziņoja, ka Ŕī funkcija ir vienkārÅ”i ļaunprātÄ«gi izmantota. Viņu nevēlÄ“Å”anās kaut ko mainÄ«t ir saprotama. Pats savā pieredzē esmu redzējis piemēru, ka lauku atjaunināŔana, atverot dokumentu, bija iespējota, bet Word makro atspējoja IT (bet rāda paziņojumu). Starp citu, atbilstoÅ”os iestatÄ«jumus varat atrast Word iestatÄ«jumu sadaļā.

Tomēr pat tad, ja lauka atjaunināŔana ir iespējota, Microsoft Word papildus informē lietotāju, kad lauks pieprasa piekļuvi dzēstiem datiem, kā tas ir iepriekÅ” DDE gadÄ«jumā. Microsoft jÅ«s patieŔām brÄ«dina.

Bet, visticamāk, lietotāji joprojām ignorēs Å”o brÄ«dinājumu un aktivizēs lauku atjauninājumu programmā Word. Å Ä« ir viena no retajām iespējām pateikties Microsoft par bÄ«stamās DDE funkcijas atspējoÅ”anu.

Cik grūti mūsdienās ir atrast neatkārtotu Windows sistēmu?

Å ai pārbaudei es izmantoju AWS darbvietas, lai piekļūtu virtuālajai darbvirsmai. Tādā veidā es ieguvu nelāpÄ«tu MS Office virtuālo maŔīnu, kas ļāva ievietot DDEAUTO lauku. NeÅ”aubos, ka lÄ«dzÄ«gā veidā var atrast arÄ« citus uzņēmumus, kuri vēl nav uzstādÄ«juÅ”i nepiecieÅ”amos droŔības ielāpus.

Objektu noslēpumi

Pat ja instalējāt Å”o ielāpu, programmā MS Office ir arÄ« citi droŔības caurumi, kas ļauj hakeriem darÄ«t kaut ko ļoti lÄ«dzÄ«gu tam, ko mēs darÄ«jām ar Word. Nākamajā scenārijā mēs mācÄ«simies izmantojiet Excel kā ēsmu pikŔķerÄ“Å”anas uzbrukumam, nerakstot nekādu kodu.

Lai saprastu Å”o scenāriju, atcerēsimies Microsoft komponentu objektu modeli jeb saÄ«sināti COM (komponentu objekta modelis).

COM ir pastāvējis kopÅ” 1990. gadiem, un tas ir definēts kā "valodai neitrāls, objektorientēts komponentu modelis", kura pamatā ir RPC attālo procedÅ«ru izsaukumi. Lai iegÅ«tu vispārÄ«gu izpratni par COM terminoloÄ£iju, izlasiet Å”o ziņu vietnē StackOverflow.

Būtībā jūs varat domāt par COM lietojumprogrammu kā Excel vai Word izpildāmo failu vai kādu citu bināru failu, kas darbojas.

Izrādās, ka var darboties arÄ« COM aplikācija skripts ā€” JavaScript vai VBScript. Tehniski to sauc skriptlets. Iespējams, esat redzējis Windows failu paplaÅ”inājumu .sct ā€” tas ir oficiālais skriptu paplaÅ”inājums. BÅ«tÄ«bā tie ir skripta kods, kas iesaiņots XML iesaiņojumā:

<?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>

Hakeri un testētāji ir atklājuÅ”i, ka sistēmā Windows ir atseviŔķas utilÄ«tas un lietojumprogrammas, kas pieņem COM objektus un attiecÄ«gi arÄ« skriptus.

Es varu nodot skriptu Windows utilÄ«tai, kas rakstÄ«ta VBS, kas pazÄ«stama kā pubprn. Tas atrodas C:Windowssystem32Printing_Admin_Scripts dziļumā. Starp citu, ir arÄ« citas Windows utilÄ«tas, kas pieņem objektus kā parametrus. Vispirms apskatÄ«sim Å”o piemēru.

The Adventures of the Elusive Malware, IV daļa: DDE un Word dokumentu lauki
Ir diezgan dabiski, ka apvalku var palaist pat no drukas skripta. Dodieties uz Microsoft!

Pārbaudei es izveidoju vienkārÅ”u attālo skriptu, kas palaiž čaulu un izdrukā smieklÄ«gu ziņojumu: ā€œJÅ«s tikko esat skripts!ā€ BÅ«tÄ«bā pubprn Ä£enerē skripta objektu, ļaujot VBScript kodam palaist iesaiņojumu. Å Ä« metode sniedz nepārprotamas priekÅ”rocÄ«bas hakeriem, kuri vēlas ielÄ«st un paslēpties jÅ«su sistēmā.

Nākamajā ierakstā es paskaidroŔu, kā hakeri var izmantot COM skriptus, izmantojot Excel izklājlapas.

Lai veiktu mājas darbus, ieskatieties Šis Video no Derbycon 2016, kas precīzi izskaidro, kā hakeri izmantoja skriptus. Un arī lasīt Ŕis raksts par skriptletiem un kaut kādu monikeru.

Avots: www.habr.com

Pievieno komentāru