Elusiivisten haittaohjelmien seikkailut, osa IV: DDE- ja Word-asiakirjakentät

Elusiivisten haittaohjelmien seikkailut, osa IV: DDE- ja Word-asiakirjakentät

Tämä artikkeli on osa Fileless Malware -sarjaa. Kaikki muut sarjan osat:

Tässä artikkelissa aion sukeltaa vielä monimutkaisempaan monivaiheiseen tiedostottomaan hyökkäysskenaarioon järjestelmän kiinnittämisellä. Mutta sitten törmäsin uskomattoman yksinkertaiseen, koodittomaan hyökkäykseen – Word- tai Excel-makroja ei tarvita! Ja tämä todistaa paljon tehokkaammin alkuperäisen hypoteesini, joka on tämän artikkelisarjan taustalla: minkään organisaation ulkokehän murtaminen ei ole ollenkaan vaikea tehtävä.

Ensimmäinen kuvaamani hyökkäys hyödyntää Microsoft Wordin haavoittuvuutta, joka perustuu vanhentunut dynaaminen tiedonvaihtoprotokolla (DDE). Hän oli jo kiinteä. Toinen hyödyntää yleisempää Microsoftin COM- ja objektinsiirtoominaisuuksien haavoittuvuutta.

Takaisin tulevaisuuteen DDE:n kanssa

Muistaako kukaan muu DDE:tä? Ei varmaan montaa. Se oli yksi ensimmäisistä prosessien väliset viestintäprotokollat, jotka mahdollistivat sovellusten ja laitteiden tiedonsiirron.

Olen itsekin siihen hieman perehtynyt, koska testasin ja testasin tietoliikennelaitteita. Tuolloin DDE salli esimerkiksi puhelinkeskusten operaattoreiden siirtää soittajan tunnuksen CRM-sovellukseen, joka lopulta avasi asiakaskortin. Tätä varten sinun oli kytkettävä RS-232-kaapeli puhelimen ja tietokoneen välille. Ne olivat aikoja!

Kuten käy ilmi, Microsoft Word on edelleen tukee DDE.

Tämän hyökkäyksen tekee tehokkaan ilman koodia, että voit käyttää DDE-protokollaa suoraan Word-asiakirjan automaattisista kentistä (hattua SensePostille tutkimukset ja julkaisut siitä).

Kenttäkoodit on toinen ikivanha MS Word -ominaisuus, jonka avulla voit lisätä dokumenttiin dynaamista tekstiä ja ohjelmointia. Ilmeisin esimerkki on sivunumerokenttä, joka voidaan lisätä alatunnisteeseen arvolla {PAGE *MERGEFORMAT}. Tämä mahdollistaa sivunumeroiden luomisen automaattisesti.

Elusiivisten haittaohjelmien seikkailut, osa IV: DDE- ja Word-asiakirjakentät
Vihje: Löydät Kenttä-valikon kohdan Lisää.

Muistan, että kun löysin tämän ominaisuuden ensimmäisen kerran Wordissa, olin hämmästynyt. Ja kunnes korjaustiedosto poisti sen käytöstä, Word tuki edelleen DDE-kenttävaihtoehtoa. Ajatuksena oli, että DDE antaisi Wordin kommunikoida suoraan sovelluksen kanssa, jotta se voisi sitten siirtää ohjelman tulosteen asiakirjaan. Se oli tuolloin hyvin nuori tekniikka - tuki tiedonvaihdolle ulkoisten sovellusten kanssa. Siitä kehitettiin myöhemmin COM-tekniikka, jota myös tarkastellaan alla.

Lopulta hakkerit ymmärsivät, että tämä DDE-sovellus voisi olla komentokulli, joka tietysti käynnisti PowerShellin, ja sieltä hakkerit saattoivat tehdä mitä halusivat.
Alla oleva kuvakaappaus näyttää, kuinka käytin tätä salaperäistä tekniikkaa: pieni PowerShell-skripti (jäljempänä PS) DDE-kentästä lataa toisen PS-skriptin, joka käynnistää hyökkäyksen toisen vaiheen.

Elusiivisten haittaohjelmien seikkailut, osa IV: DDE- ja Word-asiakirjakentät
Kiitos Windowsille ponnahdusikkunan varoituksesta, että sisäänrakennettu DDEAUTO-kenttä yrittää salaa käynnistää komentotulkin

Suositeltu tapa hyödyntää haavoittuvuutta on käyttää muunnelmaa DDEAUTO-kentällä, joka suorittaa komentosarjan automaattisesti avattaessa Word-asiakirja.
Mietitään, mitä voimme tehdä asialle.

Aloittelevana hakkerina voit esimerkiksi lähettää phishing-sähköpostin, teeskennellä olevasi liittovaltion verohallinnosta, ja upottaa DDEAUTO-kentän ensimmäisen vaiheen PS-skriptillä (oleellisesti dropper). Eikä sinun tarvitse edes tehdä todellista makrojen koodausta jne., kuten tein edellinen artikkeli.
Uhri avaa asiakirjasi, upotettu komentosarja aktivoituu ja hakkeri päätyy tietokoneen sisään. Minun tapauksessani PS-etäkomentosarja tulostaa vain viestin, mutta se voisi yhtä helposti käynnistää PS Empire -asiakasohjelman, joka tarjoaa etäkäyttöliittymän.
Ja ennen kuin uhri ehtii sanoa mitään, hakkereista tulee kylän rikkaimpia teini-ikäisiä.

Elusiivisten haittaohjelmien seikkailut, osa IV: DDE- ja Word-asiakirjakentät
Shell lanseerattiin ilman pienintäkään koodausta. Jopa lapsi voi tehdä sen!

DDE ja kentät

Microsoft poisti myöhemmin DDE:n käytöstä Wordissa, mutta ei ennen kuin yritys ilmoitti, että ominaisuutta käytettiin yksinkertaisesti väärin. Heidän haluttomuutensa muuttaa mitään on ymmärrettävää. Kokemukseni mukaan olen itse nähnyt esimerkin, jossa kenttien päivittäminen dokumenttia avattaessa oli käytössä, mutta IT poisti Word-makrot käytöstä (mutta näytti ilmoituksen). Muuten löydät vastaavat asetukset Wordin asetukset -osiosta.

Vaikka kentän päivitys olisi käytössä, Microsoft Word ilmoittaa lisäksi käyttäjälle, kun kenttä pyytää pääsyä poistettuihin tietoihin, kuten yllä olevan DDE:n tapauksessa. Microsoft todella varoittaa sinua.

Mutta todennäköisimmin käyttäjät jättävät tämän varoituksen huomiotta ja aktivoivat kenttien päivityksen Wordissa. Tämä on yksi harvoista tilaisuuksista kiittää Microsoftia vaarallisen DDE-ominaisuuden poistamisesta käytöstä.

Kuinka vaikeaa on löytää korjaamaton Windows-järjestelmä nykyään?

Tätä testausta varten käytin AWS-työtiloja päästäkseni virtuaaliselle työpöydälle. Tällä tavalla sain korjaamattoman MS Office -virtuaalikoneen, joka antoi minulle mahdollisuuden lisätä DDEAUTO-kentän. Minulla ei ole epäilystäkään siitä, että samalla tavalla voit löytää muita yrityksiä, jotka eivät ole vielä asentaneet tarvittavia tietoturvakorjauksia.

Esineiden mysteeri

Vaikka asensit tämän korjaustiedoston, MS Officessa on muita tietoturva-aukkoja, joiden avulla hakkerit voivat tehdä jotain hyvin samanlaista kuin mitä teimme Wordin kanssa. Seuraavassa skenaariossa opimme käyttää Exceliä syöttinä tietojenkalasteluhyökkäyksessä ilman koodin kirjoittamista.

Ymmärtääksemme tämän skenaarion, muistetaan Microsoftin komponenttiobjektimalli tai lyhyesti COM (komponenttimalli).

COM on ollut käytössä 1990-luvulta lähtien, ja se määritellään "kielineutraaliksi, oliopohjaiseksi komponenttimalliksi", joka perustuu RPC-etäproseduurikutsuihin. Lue COM-terminologian yleiskäsitys Tämä postaus StackOverflowssa.

Pohjimmiltaan voit ajatella COM-sovellusta Excel- tai Word-suoritettavana tiedostona tai muuna suoritettavana binaaritiedostona.

Osoittautuu, että myös COM-sovellus voi toimia skenaario - JavaScript tai VBScript. Teknisesti sitä kutsutaan käsikirjoitus. Olet ehkä nähnyt Windowsin tiedostojen .sct-tunnisteen – tämä on komentosarjasovelluksien virallinen laajennus. Pohjimmiltaan ne ovat skriptikoodia, joka on kääritty XML-kääreeseen:

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

Hakkerit ja testaajat ovat havainneet, että Windowsissa on erilliset apuohjelmat ja sovellukset, jotka hyväksyvät COM-objekteja ja vastaavasti myös komentosarjoja.

Voin välittää komentosarjan VBS:llä kirjoitettuun Windows-apuohjelmaan, joka tunnetaan nimellä pubprn. Se sijaitsee C:Windowssystem32Printing_Admin_Scripts-hakemiston syvyyksissä. Muuten, on muita Windows-apuohjelmia, jotka hyväksyvät objektit parametreiksi. Katsotaanpa ensin tätä esimerkkiä.

Elusiivisten haittaohjelmien seikkailut, osa IV: DDE- ja Word-asiakirjakentät
On aivan luonnollista, että kuori voidaan käynnistää jopa painetusta käsikirjoituksesta. Mene Microsoftiin!

Testauksena loin yksinkertaisen etäkäsikirjoituksen, joka käynnistää komentotulkin ja tulostaa hauskan viestin: "Sinulle on juuri käsikirjoitettu!" Pohjimmiltaan pubprn instantoi komentosarjaobjektin, jolloin VBScript-koodi voi suorittaa kääreen. Tämä menetelmä tarjoaa selkeän edun hakkereille, jotka haluavat livahtaa sisään ja piiloutua järjestelmääsi.

Seuraavassa viestissä selitän, kuinka hakkerit voivat hyödyntää COM-skriptejä Excel-laskentataulukoiden avulla.

Katso kotitehtäviäsi varten tämä video Derbycon 2016:sta, joka selittää tarkalleen kuinka hakkerit käyttivät komentosarjoja. Ja myös lukea Tässä artikkelissa käsikirjoituksista ja jonkinlaisesta nimimerkistä.

Lähde: will.com

Lisää kommentti