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

Static analysis result for SHA-256 95bce71f27f99b89…

MALICIOUS

Office (OOXML) / .XLSX

24.5 KB Created: 2006-09-16 00:00:00 UTC Authoring application: Microsoft Excel 14.0300
MD5: c40dd36feec94dcaa6e9ef17774b2630 SHA-1: 5eca529a7e175849463fb7924b71369bcefff8e2 SHA-256: 95bce71f27f99b8912bf4a4960a46d899c81915312532ccbe6500b82c5c43938
120 Risk Score

Malware Insights

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

The file contains Excel 4.0 macros, indicated by the OOXML_XLM_MACROSHEET heuristic. Critical heuristics also identified WinAPI and download strings within the macro sheet, specifically mentioning URLDownloadToFileA, DownloadToFileA, ShellExecuteA, CreateDirectoryA, URLMon, and Kernel32. This suggests the macro is designed to download and execute a second-stage payload from a URL, likely to establish a malicious presence on the system.

Heuristics 2

  • 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. The macro sheet is stored as XLSB/BIFF12 binary content, which many XML-only OOXML scanners miss.
  • Binary XLM macro sheet with WinAPI/download strings critical OOXML_XLM_BINARY_WINAPI_STRINGS
    Excel 4.0 macro sheet is stored as BIFF12/XLSB binary data and contains Win32 download or process-execution API strings such as URLDownloadToFileA, ShellExecuteA, or CreateDirectoryA. These strings are high-signal in XLM macro sheets and catch payload-download macros that XML-formula scanners cannot parse.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_sheet_00.bin
99a6a52acb8f5c734f6d86faf89e0637a94ac99f953aa583d2658b47d2e1f9b9
xlm-macrosheet OOXML XLM macro sheet: xl/macrosheets/sheet1.bin 194023 bytes