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

Static analysis result for SHA-256 01fe11c86a69bca1…

MALICIOUS

Office (OOXML) / .XLSX

269.3 KB Created: 2021-04-15 14:49:02 UTC Authoring application: Microsoft Excel 16.0300
MD5: 0565d0498becf85051e0d80b65f87a54 SHA-1: db53dda3a6954348adb45009c97ade36a1ff3de3 SHA-256: 01fe11c86a69bca1d91f1d6f3aa776bd7871c57973e6f98915f60dd514ddd913
120 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution

The file contains Excel 4.0 macros, which are known to be used for malicious purposes. The macros reassemble a payload using CHAR() and split formulas, ultimately executing 'certutil -decode %PUBLIC%\ %PUBLIC%\%PUBLIC%\' to decode and likely execute a second-stage payload. This indicates a downloader or dropper 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.
  • XLM payload reassembled from CHAR()/split formulas critical OOXML_XLM_REASSEMBLED_PAYLOAD
    An Excel 4.0 macro sheet builds its payload inside the formula token stream by concatenating per-character CHAR() calls and string fragments, so no WinAPI name, shell command, or URL is ever contiguous in the .bin for a literal-bytes scan to find. Reassembling the formulas recovered download/execute API names, LOLBin commands (regsvr32/rundll32/mshta/wmic/powershell), or a payload URL — the de-obfuscated download-and-run kill chain.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_sheet_00.bin
5012d48f598337edcab0386cdb3b8b5902c89eb66edd4924f2edaa4820b215b1
xlm-macrosheet OOXML XLM macro sheet: xl/macrosheets/sheet1.bin 1945 bytes