Die avonture van die ontwykende wanware, Deel IV: DDE- en Word-dokumentvelde

Die avonture van die ontwykende wanware, Deel IV: DDE- en Word-dokumentvelde

Hierdie artikel is deel van die Fileless Malware-reeks. Alle ander dele van die reeks:

In hierdie artikel gaan ek in 'n selfs meer komplekse multi-stadium lêerlose aanval scenario duik met vaspen op die stelsel. Maar toe kom ek af op 'n ongelooflike eenvoudige, geen-kode-aanval—geen Word- of Excel-makro's nodig nie! En dit bewys baie meer effektief my oorspronklike hipotese onderliggend aan hierdie reeks artikels: om die buitenste omtrek van enige organisasie te breek is glad nie 'n moeilike taak nie.

Die eerste aanval wat ek sal beskryf, ontgin 'n Microsoft Word-kwesbaarheid waarop gegrond is verouderd dinamiese data-uitruilprotokol (DDE). Sy was reeds vasgestel. Die tweede ontgin 'n meer algemene kwesbaarheid in Microsoft COM en objekoordragvermoëns.

Terug na die toekoms met DDE

Enigiemand anders onthou DDE? Seker nie baie nie. Dit was een van die eerstes inter-proses kommunikasie protokolle wat toepassings en toestelle toegelaat het om data oor te dra.

Ek is self 'n bietjie vertroud daarmee, want ek het telekommunikasietoerusting nagegaan en getoets. Op daardie tydstip het DDE byvoorbeeld inbelsentrumoperateurs toegelaat om beller-ID na 'n CRM-toepassing oor te dra, wat uiteindelik 'n kliëntekaart oopgemaak het. Om dit te doen, moes jy 'n RS-232-kabel tussen jou foon en jou rekenaar koppel. Daardie was die dae!

Soos dit blyk, is Microsoft Word steeds ondersteun DDE.

Wat hierdie aanval effektief maak sonder kode, is dat jy toegang tot die DDE-protokol kan kry direk van outomatiese velde in 'n Word-dokument (hoede af vir SensePost vir navorsing en publikasies daaroor).

Veldkodes is nog 'n ou MS Word-funksie wat jou toelaat om dinamiese teks en 'n bietjie programmering by jou dokument te voeg. Die mees voor die hand liggende voorbeeld is die bladsynommerveld, wat in die voetskrif ingevoeg kan word deur die waarde {PAGE *MERGEFORMAT} te gebruik. Dit laat bladsynommers outomaties gegenereer word.

Die avonture van die ontwykende wanware, Deel IV: DDE- en Word-dokumentvelde
Wenk: Jy kan die Veld-kieslys-item onder Invoeg vind.

Ek onthou dat toe ek die eerste keer hierdie kenmerk in Word ontdek het, ek verstom was. En totdat die pleister dit gedeaktiveer het, het Word steeds die DDE-veldopsie ondersteun. Die idee was dat DDE Word sou toelaat om direk met die toepassing te kommunikeer, sodat dit dan die program se uitvoer in 'n dokument kon deurgee. Dit was 'n baie jong tegnologie op daardie tydstip - ondersteuning vir data-uitruiling met eksterne toepassings. Dit is later ontwikkel tot COM-tegnologie, waarna ons ook hieronder sal kyk.

Uiteindelik het die kuberkrakers besef dat hierdie DDE-toepassing 'n opdragdop kan wees, wat natuurlik PowerShell geloods het, en van daar af kon die kuberkrakers doen wat hulle wil.
Die skermkiekie hieronder wys hoe ek hierdie stealth-tegniek gebruik het: 'n klein PowerShell-skrif (hierna na verwys as PS) uit die DDE-veld laai nog 'n PS-skrip, wat die tweede fase van die aanval begin.

Die avonture van die ontwykende wanware, Deel IV: DDE- en Word-dokumentvelde
Dankie aan Windows vir die opspringwaarskuwing dat die ingeboude DDEAUTO-veld in die geheim probeer om die dop te begin

Die voorkeurmetode om die kwesbaarheid te ontgin, is om 'n variant met die DDEAUTO-veld te gebruik, wat die skrip outomaties laat loop wanneer oopmaak Word dokument.
Kom ons dink oor wat ons hieraan kan doen.

As 'n beginner-kraker kan jy byvoorbeeld 'n uitvissing-e-pos stuur, voorgee dat jy van die Federale Belastingdiens is, en die DDEAUTO-veld met die PS-skrif insluit vir die eerste fase (in wese 'n drupper). En jy hoef nie eens werklike kodering van makro's, ens. te doen, soos ek in vorige artikel.
Die slagoffer maak jou dokument oop, die ingebedde skrip word geaktiveer en die kuberkraker beland binne die rekenaar. In my geval druk die afgeleë PS-skrip net 'n boodskap, maar dit kan net so maklik die PS Empire-kliënt begin, wat toegang tot afgeleë dop sal bied.
En voor die slagoffer tyd het om iets te sê, sal die kuberkrakers die rykste tieners in die dorp blyk te wees.

Die avonture van die ontwykende wanware, Deel IV: DDE- en Word-dokumentvelde
Die dop is geloods sonder die geringste bietjie kodering. Selfs 'n kind kan dit doen!

DDE en velde

Microsoft het later wel DDE in Word gedeaktiveer, maar nie voordat die maatskappy gesê het dat die kenmerk eenvoudig misbruik is nie. Hulle onwilligheid om enigiets te verander is verstaanbaar. In my ervaring het ek self 'n voorbeeld gesien waar die opdatering van velde tydens die opening van 'n dokument geaktiveer is, maar Word-makro's is deur IT gedeaktiveer (maar met 'n kennisgewing). Terloops, jy kan die ooreenstemmende instellings vind in die Word-instellingsafdeling.

Selfs al is veldopdatering egter geaktiveer, stel Microsoft Word die gebruiker ook in kennis wanneer 'n veld toegang tot geskrapte data versoek, soos die geval is met DDE hierbo. Microsoft waarsku jou regtig.

Maar waarskynlik sal gebruikers steeds hierdie waarskuwing ignoreer en die veldopdatering in Word aktiveer. Dit is een van die seldsame geleenthede om Microsoft te bedank vir die deaktivering van die gevaarlike DDE-funksie.

Hoe moeilik is dit vandag om 'n onverwerkte Windows-stelsel te vind?

Vir hierdie toets het ek AWS Workspaces gebruik om toegang tot 'n virtuele lessenaar te kry. Op hierdie manier het ek 'n ongelapte MS Office virtuele masjien gekry wat my toegelaat het om die DDEAUTO-veld in te voeg. Ek het geen twyfel dat jy op 'n soortgelyke manier ander maatskappye kan vind wat nog nie die nodige sekuriteitsreëlings geïnstalleer het nie.

Misterie van voorwerpe

Selfs as jy hierdie pleister geïnstalleer het, is daar ander sekuriteitsgate in MS Office wat hackers toelaat om iets te doen wat baie soortgelyk is aan wat ons met Word gedoen het. In die volgende scenario sal ons leer gebruik Excel as lokaas vir 'n phishing-aanval sonder om enige kode te skryf.

Om hierdie scenario te verstaan, laat ons die Microsoft Component Object Model onthou, of kortweg COM (komponentobjekmodel).

COM bestaan ​​al sedert die 1990's, en word gedefinieer as 'n "taalneutrale, objekgeoriënteerde komponentmodel" gebaseer op RPC-afstandprosedure-oproepe. Vir 'n algemene begrip van COM-terminologie, lees hierdie pos op StackOverflow.

Basies kan jy aan 'n COM-toepassing dink as 'n Excel- of Word-uitvoerbare, of 'n ander binêre lêer wat loop.

Dit blyk dat 'n COM-toepassing ook kan loop scenario - JavaScript of VBScript. Tegnies word dit genoem skrifskrif. Jy het dalk die .sct-uitbreiding vir lêers in Windows gesien - dit is die amptelike uitbreiding vir scriptlets. In wese is dit skripkode wat in 'n XML-omhulsel toegedraai is:

<?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 het ontdek dat daar afsonderlike nutsprogramme en toepassings in Windows is wat COM-voorwerpe aanvaar en dienooreenkomstig ook scriptlets.

Ek kan 'n scriptlet aan 'n Windows-nutsprogram deurgee wat in VBS geskryf is, bekend as pubprn. Dit is geleë in die dieptes van C:Windowssystem32Printing_Admin_Scripts. Terloops, daar is ander Windows-nutsprogramme wat voorwerpe as parameters aanvaar. Kom ons kyk eers na hierdie voorbeeld.

Die avonture van die ontwykende wanware, Deel IV: DDE- en Word-dokumentvelde
Dit is heel natuurlik dat die dop selfs vanaf 'n gedrukte skrif bekendgestel kan word. Gaan Microsoft!

As 'n toets het ek 'n eenvoudige afgeleë scriptlet geskep wat 'n dop begin en 'n snaakse boodskap druk, "Jy is sopas geskryf!" In wese instansieer pubprn 'n scriptlet-objek, wat VBScript-kode toelaat om 'n wrapper te laat loop. Hierdie metode bied 'n duidelike voordeel aan kuberkrakers wat op jou stelsel wil insluip en wegkruip.

In die volgende plasing sal ek verduidelik hoe COM scriptlets uitgebuit kan word deur hackers wat Excel-sigblaaie gebruik.

Vir jou huiswerk, kyk gerus Hierdie video van Derbycon 2016, wat presies verduidelik hoe hackers scriptlets gebruik het. En ook lees hierdie artikel oor scriptlets en 'n soort bynaam.

Bron: will.com

Voeg 'n opmerking