Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 87b121f26f3e67c7…

MALICIOUS

Office (OLE)

257.5 KB Created: 2020-08-05 09:40:51 Authoring application: Microsoft Excel First seen: 2020-09-15
MD5: 7b97cbbf8822b2ef4a6026280947c1ec SHA-1: fbe17c4157e3b0e772d3ed54cb8e4e062cf10283 SHA-256: 87b121f26f3e67c7a9938577d0c3575c2572aefd6f9ee9ad11fcfa4bc4974791
180 Risk Score

Malware Insights

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

The sample is an Excel 4.0 macro sheet that contains an Auto_Open macro, indicating it will execute automatically upon opening. Heuristics indicate the macro uses dangerous functions and environment evasion techniques. The document body prompts the user to 'Enable Editing' and 'Enable Content', a common lure for macro-based malware.

Heuristics 4

  • 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.
  • XLM Auto_Open environment-evasion HALT gate high OLE_XLM_ENVIRONMENT_EVASION_HALT
    Excel 4.0 macro sheet auto-executes multiple GET.WORKSPACE / GET.WINDOW environment checks and halts execution when the host does not match the expected user environment. This is a common sandbox-evasion pattern in XLM malware and is stronger than a bare XLM macro-sheet indicator.
  • 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) 262594 bytes
SHA-256: 3cd3a4d8a9ae3b35eee28831133fd1cff18da97c0db635f8e198c0b5bf98a96f
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 -  rwtZ59B
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open hidden len=7 ptgNameX  NAMEIDX 7 
' 0018     24 LABEL : Cell Value, String Constant - cOlhTCRiH len=0 
' 0018     20 LABEL : Cell Value, String Constant - dnSJx len=0 
' 0018     23 LABEL : Cell Value, String Constant - DXUaxlhy len=0 
' 0018     25 LABEL : Cell Value, String Constant - FAQCKfvysO len=0 
' 0018     20 LABEL : Cell Value, String Constant - hmFLh len=0 
' 0018     31 LABEL : Cell Value, String Constant -           hidden len=7 ptgRef3d  Sheet!HH2102 
' 0018     22 LABEL : Cell Value, String Constant - IwzrFgf len=0 
' 0018     20 LABEL : Cell Value, String Constant - kPeue len=0 
' 0018     24 LABEL : Cell Value, String Constant - LXsjBvdlN len=0 
' 0018     27 LABEL : Cell Value, String Constant - MkKWNKwgFuvO len=0 
' 0018     27 LABEL : Cell Value, String Constant - QAheLsNXwMSX len=0 
' 0018     25 LABEL : Cell Value, String Constant - rMLkUnelAh len=0 
' 0018     23 LABEL : Cell Value, String Constant - RrnvTWQr len=0 
' 0018     20 LABEL : Cell Value, String Constant - sJGrF len=0 
' 0018     24 LABEL : Cell Value, String Constant - tpmLSnOyg len=0 
' 0018     25 LABEL : Cell Value, String Constant - VPqrCazSgZ 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 LABE
... (truncated)