Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 40cd51fa661ab9c4…

MALICIOUS

Office (OLE)

31.0 KB Created: 2021-01-28 14:13:52 Authoring application: Microsoft Excel First seen: 2021-02-19
MD5: 0896f379eec00c77b4c8081ab81e3e14 SHA-1: 01e9e1dc16aa11d639af1f5373cead43a044317c SHA-256: 40cd51fa661ab9c4be3f8f84ec15816a7d6d22974dbf26b5a15e4e10fb9797e9
160 Risk Score

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.
  • 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.
  • Macro/content-enable lure medium SE_ENABLE_LURE
    Document instructs the user to enable macros or editing — a common technique used by malware droppers to bypass Office macro security settings

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) 3450 bytes
SHA-256: 5e97712bb202275471cb9b532b05bee48973a8d2517797ada340da7fd02ab8ad
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     18 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible -  nfqgfWzHS
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!A89 
' 0018     26 LABEL : Cell Value, String Constant - cbYkXMTv len=3 ptgInt 0 
' 0018    120 LABEL : Cell Value, String Constant - cVVl len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x00\t\x00\x00\x00\x00\x00'
' 0018     28 LABEL : Cell Value, String Constant - EhzRvE len=7 ptgRef3d  nfqgfWzHS!C54 
' 0018     29 LABEL : Cell Value, String Constant - eoOzLTg len=7 ptgRef3d  nfqgfWzHS!B46 
' 0018     29 LABEL : Cell Value, String Constant - FfwTUhk len=7 ptgRef3d  nfqgfWzHS!F53 
' 0018     25 LABEL : Cell Value, String Constant - fIxcDRC len=3 ptgInt 0 
' 0018     30 LABEL : Cell Value, String Constant - FwgMmyur len=7 ptgRef3d  nfqgfWzHS!G57 
' 0018     30 LABEL : Cell Value, String Constant - HjnLXWri len=7 ptgRef3d  nfqgfWzHS!H48 
' 0018     22 LABEL : Cell Value, String Constant - lKcu len=3 ptgInt 0 
' 0018     30 LABEL : Cell Value, String Constant - lPqwbKuN len=7 ptgRef3d  nfqgfWzHS!A47 
' 0018     27 LABEL : Cell Value, String Constant - megcH len=7 ptgRef3d  nfqgfWzHS!D47 
' 0018     29 LABEL : Cell Value, String Constant - MObBtlz len=7 ptgRef3d  nfqgfWzHS!I53 
' 0018     28 LABEL : Cell Value, String Constant - QKzADK len=7 ptgRef3d  nfqgfWzHS!E51 
' 0018    558 LABEL : Cell Value, String Constant - qweVXu len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x00\x11\x00\x00\x00\x00\x00'
' 0018   2082 LABEL : Cell Value, String Constant - SbIjgv len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x00%\x00\x00\x00\x00\x00'
' 0018     24 LABEL : Cell Value, String Constant - sbkHsg len=3 ptgInt 0 
' 0018     29 LABEL : Cell Value, String Constant - WKAOJvG len=7 ptgRef3d  Sheet!A40 
' 0018     26 LABEL : Cell Value, String Constant - xjWL len=7 ptgRef3d  nfqgfWzHS!J55 
' 0018     22 LABEL : Cell Value, String Constant - zKCkzPL 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
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' Sheet,Reference,Formula,Value
'  Sheet,B45,"ABC",""
'  Sheet,A46,"ABC",""
'  Sheet,B46,ROWS(cVVl),""
'  Sheet,D46,"ABC",""
'  Sheet,A47,ROWS(qweVXu),""
'  Sheet,D47,[],""
'  Sheet,H47,"ABC",""
'  Sheet,H48,[],""
'  Sheet,E50,"ABC",""
'  Sheet,E51,[],""
'  Sheet,F52,"ABC",""
'  Sheet,I52,"ABC",""
'  Sheet,C53,"ABC",""
'  Sheet,F53,[],""
'  Sheet,I53,[],""
'  Sheet,C54,qweVXu,""
'  Sheet,J54,"ABC",""
'  Sheet,J55,[],""
'  Sheet,G56,"ABC",""
'  Sheet,G57,cVVl,""
'  nfqgfWzHS,A43,"A"&"B",""
'  nfqgfWzHS,A44,[],""
'  nfqgfWzHS,A48,"SET.VALUE(A73,"")",""
'  nfqgfWzHS,A53,"lKcu",""
'  nfqgfWzHS,A56,"DEFINE.NAME("cbYkXMTv",0)",""
'  nfqgfWzHS,A60,[],""
'  nfqgfWzHS,A63,"cbYkXMTv",""
'  nfqgfWzHS,A65,"['A73', 'A73']",""
'  nfqgfWzHS,A67,"fIxcDRC",""
'  nfqgfWzHS,A71,NEXT(),""
'  nfqgfWzHS,A77,"['A73', '"nfqgfWzHSr!R"']",""
'  nfqgfWzHS,A81,"zKCkzPL",""
'  nfqgfWzHS,A83,NEXT(),""
'  nfqgfWzHS,A86,RETURN(),""
'  nfqgfWzHS,A93,"DEFINE.NAME("zKCkzPL",101)",""
'  nfqgfWzHS,A100,WKAOJvG(),""
'  nfqgfWzHS,A101,HALT(),""