Malicious Office (OLE) / .XLS — malware analysis report

Static analysis result for SHA-256 71731491c45afa44…

MALICIOUS

Office (OLE) / .XLS

367.5 KB Created: 2006-09-16 00:00:00 Authoring application: Microsoft Excel
MD5: 2c130e694fdbdcca10f6a2ebaa931128 SHA-1: 7cb3f6df1f1c93217c15f469a5d5287e1647b6d7 SHA-256: 71731491c45afa442cc5af222450163ffe3962970898525594f2822ca202274a
102 Risk Score

Malware Insights

MITRE ATT&CK
T1566.001 Spearphishing Attachment T1059.005 Visual Basic T1105 Ingress Tool Transfer

The sample is an Excel 4.0 (XLM) macro-enabled spreadsheet that contains an Auto_Open macro, indicating it will execute automatically when the file is opened. It also contains a lure to enable macros, a common tactic for malware droppers. The macro is designed to download a second-stage payload from one of the two provided URLs.

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.
  • 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
  • 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://mayread.com/aXfFF8qdsV/th.html In document text (OLE body)
    • https://tpcsv.neosj.why3s.tw/XjHoDakG/th.htmlIn document text (OLE body)

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt
7758cbebef832a37ce0a327fd7d893202195f03ba9b854edef74b19dbb11678f
xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 8349 bytes
Preview script
First 1,000 lines of the extracted script
' 0085     11 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible - Doc1
' 0085     11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible - Doc2
' 0085     11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible - Doc3
' 0085     11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible - Doc4
' 0085     11 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, visible - Doc5
' 0018     31 LABEL : Cell Value, String Constant - _xlfn.AGGREGATE hidden len=2 ptgErr  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x1d'
' 0018     30 LABEL : Cell Value, String Constant - _xlfn.F.INV.RT hidden len=2 ptgErr  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x1d'
' 0018     33 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=18 ptgRef3d 65535!A1 *UNKNOWN TOKEN* 0x0000 *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x00\x01\x00\x04\x00\x04\x00\x06\x00,'
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 0204     19 LABEL : Cell Value, String Constant
' 0204     19 LABEL : Cell Value, String Constant
' 0204      9 LABEL : Cell Value, String Constant
' 0204     10 LABEL : Cell Value, String Constant
' 0204     11 LABEL : Cell Value, String Constant
' 0204      9 LABEL : Cell Value, String Constant
' 0204     10 LABEL : Cell Value, String Constant
' 0204     11 LABEL : Cell Value, String Constant
' 0204     11 LABEL : Cell Value, String Constant
' 0204     10 LABEL : Cell Value, String Constant
' 0204     12 LABEL : Cell Value, String Constant
' 0204     11 LABEL : Cell Value, String Constant
' 0204     11 LABEL : Cell Value, String Constant
' 0204     12 LABEL : Cell Value, String Constant
' 0204      9 LABEL : Cell Value, String Constant
' 0204     11 LABEL : Cell Value, String Constant
' 0204     10 LABEL : Cell Value, String Constant
' 0204     14 LABEL : Cell Value, String Constant
' 0204     24 LABEL : Cell Value, String Constant
' 0204     22 LABEL : Cell Value, String Constant
' 0204     10 LABEL : Cell Value, String Constant
' 0204     14 LABEL : Cell Value, String Constant
' 0204     23 LABEL : Cell Value, String Constant
' 0204     30 LABEL : Cell Value, String Constant
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' Sheet,Reference,Formula,Value
' Doc2,BJ15,65534!A1,""
' Doc3,BY23,HALT(),""
' Doc3,CF26,"",0.00000000000000000000
' Doc3,CB30,"",3.00000000000000000000
' Doc4,BM8,"['MDETERM(56241452475.00000000000000000000)', '65535!A1']",""
' Doc5,BS12,"['*STACKERROR* not enough arguments for function: RAND=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)', '452354.00000000000000000000=SUMXMY2(45245)', '65534!A1']",""
' Doc5,BS16,"['*STACKERROR* not enough arguments for function: RAND=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT(59)=RAND(452354.00000000000000000000=SUMXMY2(45245))=FACT
... (truncated)