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

Static analysis result for SHA-256 4e2d14a31acad514…

MALICIOUS

Office (OOXML) / .XLSX

24.5 KB Created: 2006-09-16 00:00:00 UTC Authoring application: Microsoft Excel 14.0300
MD5: 8d7c259a6102fc2e8046c45cc25cef84 SHA-1: 74e63fd5ce1bd23591600850977119c896492daf SHA-256: 4e2d14a31acad51423040481998a4fd11af808cc4f3870557449dfad53f2e90d
120 Risk Score

Malware Insights

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

The sample is an Excel 4.0 macro-enabled spreadsheet. Critical heuristics indicate the presence of WinAPI calls and download strings within the macro sheet, specifically mentioning URLDownloadToFileA and .exe path. This suggests the macro's intent is to download and execute a second-stage payload from a remote location. The specific WinAPI functions and the nature of the strings strongly indicate a downloader or droppper functionality.

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