Malicious Office (OLE) / .XLSX — malware analysis report

Static analysis result for SHA-256 5e138035c574034d…

MALICIOUS

Office (OLE) / .XLSX

214.0 KB Created: 2000-04-13 21:48:14 Authoring application: Microsoft Excel
MD5: aae5b4c8eb3968b6bf06074865070a4e SHA-1: 35a4e0593009278aa41f9b35edff28ed0a176214 SHA-256: 5e138035c574034de0be2d3ae24bab8763fb918b3d0891311446b29663568534
378 Risk Score

Malware Insights

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

The sample contains an obfuscated Workbook_Open VBA macro that utilizes WScript.Shell and CreateObject to download and execute a second-stage payload from one of the embedded URLs. The macro's intent is to download and execute a payload, as indicated by the 'OLE_VBA_HTTP_DROP_EXEC' and 'OLE_VBA_OBFUSCATED_AUTOEXEC_LOADER' heuristics. The document body's invoice-like language, combined with the macro's functionality, suggests a lure to trick the user into opening the document and triggering the malicious macro.

Heuristics 11

  • WScript.Shell usage critical OLE_VBA_WSCRIPT
    WScript.Shell usage
  • 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.
  • Obfuscated auto-exec VBA loader critical OLE_VBA_OBFUSCATED_AUTOEXEC_LOADER
    Auto-exec VBA reconstructs strings with a heavy custom decoder (numeric char-array, repeated hex-string decode, or junk-token Replace removal) and feeds them to a COM-instantiation or execution sink. This obfuscated-loader shape keeps CreateObject/Shell/URL indicators out of the macro source.
  • OLE document has large unaccounted-for region high OLE_SLACK_ANOMALY
    OLE file is 219,136 bytes but its declared streams total only 105,345 bytes — 113,791 bytes (52%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).
  • Workbook_Open macro high OLE_VBA_WBOPEN
    Workbook_Open macro
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
  • 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.
  • VBA macros detected medium OLE_VBA_MACROS
    Document contains VBA macro code
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
  • Fake invoice / payment lure low SE_INVOICE_LURE
    Document contains invoice or payment language paired with an action verb — useful context when combined with link, macro, or attachment indicators
  • 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://speechelo-online.com/wp-content/plugins/wordpress-seo-premium/vendor/composer/Xx8PRnR69.phpl
    • https://secaudit.e-m2.net/wp-content/themes/finvision-c4521=5+hild/template-parts/blog-regular/Rib3TgWd3v.php
    • https://steijnborg.mobilitum.com/wp-content/themes/twentytwentyone/template-parts/content/WjovFkpG3.php)p@gk\%|p
    • https://fitzgeraldstreet.com/ap-photos/themes/modus/css/fontello/1j5yZLSi4VE.php/--t3hqhMugjudl
    • https://ahdmsport.com/bootstrap/scripts/_notes/Xwi4K0BrmwX6hf.php2D8B.idWdD
    • https://teste.sitiodoastronauta.com.br/

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas
5ef46bee0d652adc721c36143042190fe616a4317c445f312c1fc558677f8942
vba-macro oletools.olevba.extract_macros (decoded VBA source) 15179 bytes