MALICIOUS
248
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
The file is an Excel document containing VBA macros, specifically a Workbook_Open macro, which is a common technique for executing malicious code upon opening. The presence of protected worksheets suggests an attempt to hide malicious content. ClamAV detections confirm the malicious nature of the file.
Heuristics 6
-
ClamAV: Xls.Virus.Valyria-10004391-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Xls.Virus.Valyria-10004391-0
-
VBA project inside OOXML medium 2 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
Workbook_Open macro high OLE_VBA_WBOPENWorkbook_Open macro
-
Auto_Open macro high OLE_VBA_AUTOAuto_Open macro
-
External relationship medium OOXML_EXTERNAL_RELExternal target in xl/externalLinks/_rels/externalLink1.xml.rels: /Users/laurent_caillet/AppData/Local/Microsoft/Windows/INetCache/Content.Outlook/YVDLIL2O/LS0106 Outil audit systèmes v1
-
Hidden worksheet (veryHidden) low OOXML_HIDDEN_SHEETExcel workbook contains 6 hidden sheet(s) — hidden sheets are commonly used to conceal macro code, staging data, or intermediate payload construction
Extracted artifacts 2
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source from OOXML) | 72444 bytes |
SHA-256: 941e87159fa5b51aa0a576af283e77e6a0347debdf6aad995971c9a726397d25 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Option Explicit
Private Sub Workbook_Open()
Dim wSheet As Worksheet
'Permet aux macros de fonctionner sur des onglets protégés :
shtFormulaireAudit.Protect Password:="Secret", UserInterFaceOnly:=True
shtSite_Iso9001.Protect Password:="Secret", UserInterFaceOnly:=True
shtSite_Ohsas18001.Protect Password:="Secret", UserInterFaceOnly:=True
shtSite_Iso14001.Protect Password:="Secret", UserInterFaceOnly:=True
shtSite_Iso45001.Protect Password:="Secret", UserInterFaceOnly:=True
shtTabSynthese.Protect Password:="Secret", UserInterFaceOnly:=True
shtResultat.Protect Password:="Secret", UserInterFaceOnly:=True
shtSaisieEffectif.Protect Password:="Secret", UserInterFaceOnly:=True
End Sub
Attribute VB_Name = "shtResultat"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "modFacteurs"
Option Explicit
Public Enum gTYPE_FACTEUR
TYPE_FACTEUR_Augmentation = 1
TYPE_FACTEUR_Reduction = 2
End Enum
Public Function CancelCarPdbFormatFacteur(tbx As Object, intLimite As Integer) As Boolean
Dim strValeur As String
strValeur = tbx.Text
If Len(Trim$(strValeur)) = 0 Then
'On ne fait rien
Exit Function
End If
If Application.DecimalSeparator = "," Then
strValeur = Replace(strValeur, ".", Application.DecimalSeparator)
End If
If Not IsNumeric(strValeur) And Len(Trim$(strValeur)) > 0 Then
MsgBox "Veuillez saisir une valeur numérique.", vbExclamation, "Valeur incorrecte"
CancelCarPdbFormatFacteur = True
Else
If intLimite < 0 And strValeur > 0 Then
MsgBox "Veuillez saisir une réduction négative.", vbExclamation, "Réduction incorrecte"
CancelCarPdbFormatFacteur = True
ElseIf intLimite > 0 And strValeur < 0 Then
MsgBox "Veuillez saisir une augmentation positive.", vbExclamation, "Augmentation incorrecte"
CancelCarPdbFormatFacteur = True
ElseIf intLimite > 0 And strValeur > intLimite Then
MsgBox "Veuillez ne pas dépasser la valeur Max. de l'augmentation (" & intLimite & ".)", vbExclamation, "Limite dépassée"
CancelCarPdbFormatFacteur = True
ElseIf intLimite < 0 And strValeur < intLimite Then
MsgBox "Veuillez ne pas dépasser la valeur Max. de la réduction (" & intLimite & ".)", vbExclamation, "Limite dépassée"
CancelCarPdbFormatFacteur = True
Else
CancelCarPdbFormatFacteur = False
End If
End If
If CancelCarPdbFormatFacteur = False Then
tbx.Text = strValeur 'Est utile s'il faut changer le point en virgule
End If
End Function
Attribute VB_Name = "modUtilitaire"
Option Explicit
'Renvoie vrai si la valeur passée en argument est un entier
Public Function IsInteger(varValeur As Variant) As Boolean
IsInteger = False
If IsNumeric(varValeur) Then
IsInteger = CLng(varValeur) = CDbl(varValeur)
End If
End Function
Public Function SiVide(varValeurNonVide As Variant, varValeurSiVide As Variant) As Variant
If Len(varValeurNonVide & "") = 0 Then
SiVide = varValeurSiVide
Else
SiVide = varValeurNonVide
End If
End Function
Public Function SiNumerique(varValeurNonNumerique As Variant, varValeurSiNumerique As Variant) As Variant
If Not IsNumeric(varValeurNonNumerique) Then
SiNumerique = varValeurSiNumerique
Else
SiNumerique = varValeurNon
... (truncated)
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: xl/vbaProject.bin | 274944 bytes |
SHA-256: dae70ab884a875908daa1a1588331c519a120b450d3a4aaf4665a0056eafb004 |
|||
|
Detection
ClamAV:
Xls.Virus.Valyria-10004391-0
Obfuscation or payload:
unlikely
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.