Malicious Office (OOXML) / .XLSM — malware analysis report

Static analysis result for SHA-256 41d5e987a7328b22…

MALICIOUS

Office (OOXML) / .XLSM

43.7 KB Created: 2020-12-02 14:23:36 UTC Authoring application: Microsoft Excel 16.0300
MD5: ade1eb1d5888ddf1621c9e6ea4cfb1e5 SHA-1: 221e644cf986c5b8f7fea4a26371cf187706a770 SHA-256: 41d5e987a7328b22e52629fe066e7653a78d16757158080ab25abbd436f14905
210 Risk Score

Malware Insights

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

This XLSM file contains Excel 4.0 macros, indicated by the presence of `xlm_sheet_00.xml` and heuristics like `OOXML_XLM_MACROSHEET` and `OOXML_XLM_DANGEROUS_FN`. The `RETURN()` function in the XLM macro sheet is a critical indicator of potential code execution. The VBA code, specifically the `hellioso` function, appears to be designed to decode and execute further commands, likely involving the `RETURN()` function to download and run a payload. The use of `SpecialCells(xlCellTypeConstants)` and `Chr(ce.Row)` suggests an attempt to decode embedded data. The `OLE_VBA_ACTIVEX_XLM_CELL_STAGER` heuristic further confirms the use of a stager mechanism within Excel.

Heuristics 6

  • VBA ActiveX event runs worksheet-decoded XLM formulas critical OLE_VBA_ACTIVEX_XLM_CELL_STAGER
    VBA code attached to an ActiveX/UserForm event reconstructs formula text from worksheet constants using Split/Replace/Mid or character shifting, then executes it through ExecuteExcel4Macro or Run. This is a high-confidence malware stager that hides XLM formula execution in sheet cells; it is not a document-parser CVE.
  • Excel 4.0 macro sheet (1 sheet(s)) critical OOXML_XLM_MACROSHEET
    Spreadsheet contains an Excel 4.0 (XLM) macro sheet — XLM was a major Office malware vector during 2020-2022 and evaded many VBA-focused controls before Microsoft tightened XLM defaults. Even legitimate XLM use is rare in modern workbooks.
  • Dangerous XLM formula APIs: RETURN critical OOXML_XLM_DANGEROUS_FN
    Excel 4.0 macro sheet uses formula APIs that call directly into Win32 (=CALL/=EXEC/=REGISTER/=FORMULA). These are the primitives used to download payloads, write files, and start processes from an XLM macro without invoking VBA.
  • VBA project inside OOXML medium OOXML_VBA
    Document contains vbaProject.bin — VBA macros present
  • Hidden worksheet (hidden) low OOXML_HIDDEN_SHEET
    Excel workbook contains 1 hidden sheet(s) — hidden sheets are commonly used to conceal macro code, staging data, or intermediate payload construction
  • 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.openxmlformats.org/spreadsheetml/2006/main
    • http://schemas.microsoft.com/office/excel/2006/main
    • http://schemas.openxmlformats.org/officeDocument/2006/relationships
    • http://schemas.openxmlformats.org/markup-compatibility/2006
    • http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac

Extracted artifacts 4

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas
6d3245b490a8622bdb63a1b0140eb24ec2e3278b3decfed0717621f0bcbea084
vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 1623 bytes
vbaProject_00.bin
9de59e35d74f513cabeb950aa74fbd5258598ecf8f4400e7220b127231468397
vba-project OOXML VBA project: xl/vbaProject.bin 20480 bytes
emf_00.emf
da935e8d60e93e41bcd7c3fbb1750ef3ac471c3af78afc8945dfbf31eb54a1e1
ooxml-emf OOXML EMF part: xl/media/image1.emf 1408 bytes
xlm_sheet_00.xml
be45bf1632c10b379c1153b7b0cb8617616a53eda8cbfc730b134d37494fe3a4
xlm-macrosheet OOXML XLM macro sheet: xl/macrosheets/sheet1.xml 957 bytes