The Adventures of the Elusive Malware, Del IV: DDE og Word Document Fields

The Adventures of the Elusive Malware, Del IV: DDE og Word Document Fields

Denne artikel er en del af Fileless Malware-serien. Alle andre dele af serien:

I denne artikel skulle jeg dykke ned i et endnu mere komplekst flertrins filløst angrebsscenarie med fastgørelse på systemet. Men så stødte jeg på et utroligt simpelt angreb uden kode – ingen Word- eller Excel-makroer påkrævet! Og dette beviser meget mere effektivt min oprindelige hypotese, der ligger til grund for denne serie af artikler: at bryde den ydre perimeter af enhver organisation er overhovedet ikke en vanskelig opgave.

Det første angreb, jeg vil beskrive, udnytter en Microsoft Word-sårbarhed, der er baseret på forældet dynamisk dataudvekslingsprotokol (DDE). Det var hun allerede fast. Den anden udnytter en mere generel sårbarhed i Microsofts COM- og objektoverførselsfunktioner.

Tilbage til fremtiden med DDE

Er der andre der kan huske DDE? Sandsynligvis ikke mange. Det var en af ​​de første kommunikationsprotokoller mellem processer, der tillod applikationer og enheder at overføre data.

Jeg er selv lidt bekendt med det, fordi jeg plejede at tjekke og teste teleudstyr. Dengang tillod DDE for eksempel callcenteroperatører at overføre nummervisning til en CRM-applikation, som i sidste ende åbnede et kundekort. For at gøre dette skulle du tilslutte et RS-232-kabel mellem din telefon og din computer. Det var dagene!

Som det viser sig, er Microsoft Word stadig bakker op DDE.

Det, der gør dette angreb effektivt uden kode, er, at du kan få adgang til DDE-protokollen direkte fra automatiske felter i et Word-dokument (hatten af ​​for SensePost for forskning og publikationer om det).

Feltkoder er en anden gammel MS Word-funktion, der giver dig mulighed for at tilføje dynamisk tekst og en smule programmering til dit dokument. Det mest oplagte eksempel er sidetalsfeltet, som kan indsættes i sidefoden ved hjælp af værdien {PAGE *MERGEFORMAT}. Dette gør det muligt at generere sidetal automatisk.

The Adventures of the Elusive Malware, Del IV: DDE og Word Document Fields
Tip: Du kan finde menupunktet Felt under Indsæt.

Jeg kan huske, at da jeg først opdagede denne funktion i Word, blev jeg overrasket. Og indtil programrettelsen deaktiverede den, understøttede Word stadig indstillingen DDE-felter. Tanken var, at DDE ville give Word mulighed for at kommunikere direkte med applikationen, så den derefter kunne overføre programmets output til et dokument. Det var en meget ung teknologi på det tidspunkt - understøttelse af dataudveksling med eksterne applikationer. Det blev senere udviklet til COM-teknologi, som vi også vil se på nedenfor.

Til sidst indså hackerne, at denne DDE-applikation kunne være en kommandoskal, som selvfølgelig lancerede PowerShell, og derfra kunne hackerne gøre, hvad de ville.
Skærmbilledet nedenfor viser, hvordan jeg brugte denne stealth-teknik: et lille PowerShell-script (herefter benævnt PS) fra DDE-feltet indlæser et andet PS-script, som starter anden fase af angrebet.

The Adventures of the Elusive Malware, Del IV: DDE og Word Document Fields
Tak til Windows for pop-up-advarslen om, at det indbyggede DDEAUTO-felt i hemmelighed forsøger at starte skallen

Den foretrukne metode til at udnytte sårbarheden er at bruge en variant med DDEAUTO-feltet, som automatisk kører scriptet ved åbning Word dokument.
Lad os tænke over, hvad vi kan gøre ved dette.

Som ny hacker kan du for eksempel sende en phishing-e-mail, foregive, at du er fra Federal Tax Service, og indlejre DDEAUTO-feltet med PS-scriptet til det første trin (i det væsentlige en dropper). Og du behøver ikke engang at lave nogen reel kodning af makroer osv., som jeg gjorde i tidligere artikel.
Offeret åbner dit dokument, det indlejrede script aktiveres, og hackeren ender inde i computeren. I mit tilfælde udskriver det eksterne PS-script bare en besked, men det kunne lige så nemt starte PS Empire-klienten, som vil give ekstern shell-adgang.
Og før offeret når at sige noget, vil hackerne vise sig at være de rigeste teenagere i landsbyen.

The Adventures of the Elusive Malware, Del IV: DDE og Word Document Fields
Skallen blev lanceret uden den mindste smule kodning. Selv et barn kan gøre dette!

DDE og felter

Microsoft deaktiverede senere DDE i Word, men ikke før firmaet sagde, at funktionen simpelthen blev misbrugt. Deres modvilje mod at ændre noget er forståelig. Efter min erfaring har jeg selv set et eksempel, hvor opdatering af felter ved åbning af et dokument var aktiveret, men Word-makroer blev deaktiveret af IT (men viste en notifikation). I øvrigt kan du finde de tilsvarende indstillinger i Word-indstillinger sektionen.

Men selvom feltopdatering er aktiveret, giver Microsoft Word yderligere besked til brugeren, når et felt anmoder om adgang til slettede data, som det er tilfældet med DDE ovenfor. Microsoft advarer dig virkelig.

Men højst sandsynligt vil brugere stadig ignorere denne advarsel og aktivere feltopdateringen i Word. Dette er en af ​​de sjældne muligheder for at takke Microsoft for at deaktivere den farlige DDE-funktion.

Hvor svært er det at finde et ikke-patchet Windows-system i dag?

Til denne test brugte jeg AWS Workspaces til at få adgang til et virtuelt skrivebord. På denne måde fik jeg en ikke-patchet virtuel MS Office-maskine, der tillod mig at indsætte DDEAUTO-feltet. Jeg er ikke i tvivl om, at man på lignende måde kan finde andre firmaer, der endnu ikke har installeret de nødvendige sikkerhedsrettelser.

Objekternes mysterium

Selvom du installerede denne patch, er der andre sikkerhedshuller i MS Office, som gør det muligt for hackere at gøre noget, der ligner det, vi gjorde med Word. I det næste scenarie vil vi lære brug Excel som lokkemad til et phishing-angreb uden at skrive nogen kode.

For at forstå dette scenarie, lad os huske Microsoft Component Object Model, eller kort sagt COM (Component Object Model).

COM har eksisteret siden 1990'erne og er defineret som en "sprogneutral, objektorienteret komponentmodel" baseret på RPC-fjernprocedurekald. For en generel forståelse af COM-terminologi, læs dette indlæg på StackOverflow.

Grundlæggende kan du tænke på en COM-applikation som en eksekverbar Excel- eller Word-fil eller en anden binær fil, der kører.

Det viser sig, at en COM-applikation også kan køre сценарий — JavaScript eller VBScript. Teknisk hedder det scriptlet. Du har muligvis set filtypenavnet .sct til filer i Windows - dette er den officielle filtypenavn til scriptlets. I det væsentlige er de scriptkode pakket ind i en XML-indpakning:

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

Hackere og pentestere har opdaget, at der er separate hjælpeprogrammer og applikationer i Windows, der accepterer COM-objekter og dermed også scriptlets.

Jeg kan sende en scriptlet til et Windows-værktøj skrevet i VBS kendt som pubprn. Det er placeret i dybden af ​​C:Windowssystem32Printing_Admin_Scripts. Forresten er der andre Windows-værktøjer, der accepterer objekter som parametre. Lad os først se på dette eksempel.

The Adventures of the Elusive Malware, Del IV: DDE og Word Document Fields
Det er helt naturligt, at skallen kan lanceres selv fra et trykt script. Gå til Microsoft!

Som en test lavede jeg et simpelt fjernscriptlet, der starter en shell og udskriver en sjov besked, "Du er lige blevet scriptet!" I det væsentlige instansierer pubprn et scriptlet-objekt, hvilket tillader VBScript-kode at køre en wrapper. Denne metode giver en klar fordel for hackere, der ønsker at snige sig ind og gemme sig på dit system.

I det næste indlæg vil jeg forklare, hvordan COM-scriptlets kan udnyttes af hackere, der bruger Excel-regneark.

For dine lektier, tag et kig Denne video fra Derbycon 2016, som forklarer præcis, hvordan hackere brugte scriptlets. Og læs også denne artikel om scriptlets og en form for moniker.

Kilde: www.habr.com

Tilføj en kommentar