T1505.006

vSphere Installation Bundles

Adversaries abuse VMware vSphere Installation Bundles (VIBs) to achieve persistent access on ESXi hypervisors. VIBs are software packages that persist across reboots by being incorporated into the ESXi boot image. Malicious VIBs can deploy backdoors, custom firewall rules, and startup scripts. UNC3886 used malicious VIBs to install VIRTUALPIE backdoor on ESXi. VIBs can be installed with --force flag to bypass acceptance level requirements, and adversaries masquerade them as PartnerSupported by modifying the XML descriptor. ESXi detection is challenging due to limited logging.

Microsoft Sentinel / Defender
kusto
// T1505.006 — vSphere Installation Bundle (VIB) detection
// ESXi is not typically covered by MDE; this query targets vCenter management events
// Part 1: Detect esxcli or vSphere CLI commands for VIB installation from Windows management hosts
let VIBInstallCLI = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("esxcli.exe", "esxcfg-dumppart.exe", "vicfg-nics.pl",
                      "powercli.exe", "vmwarecli.exe")
    or ProcessCommandLine has_any ("software vib install", "vib install", "--vibs",
                                   "software vib list", "esxcli software")
| extend DetectionType = "VIB_Install_CLI_Command"
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessCommandLine, DetectionType;
// Part 2: Detect PowerCLI commands for VIB management from Windows hosts
let VIBPowerCLI = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("powershell.exe", "pwsh.exe")
| where ProcessCommandLine has_any ("Install-EsxSoftwarePackage", "Add-EsxSoftwareDepot",
                                    "Get-EsxSoftwarePackage", "software vib",
                                    "esxcli.software.vib", "--force", "esxupdate")
    and ProcessCommandLine has_any ("vib", "esxi", "vmware", "vsphere")
| extend DetectionType = "VIB_PowerCLI_Management"
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessCommandLine, DetectionType;
// Part 3: Detect .vib or .zip files that could be VIB packages written to disk
let VIBFileDrop = DeviceFileEvents
| where Timestamp > ago(24h)
| where ActionType == "FileCreated"
| where FileName endswith ".vib" or FileName endswith ".vgz"
| extend DetectionType = "VIB_File_Created"
| project Timestamp, DeviceName, AccountName, FileName, FolderPath,
          InitiatingProcessFileName, InitiatingProcessCommandLine, DetectionType;
union VIBInstallCLI, VIBPowerCLI, VIBFileDrop
| sort by Timestamp desc
critical severity medium confidence

Data Sources

Process: Process Creation File: File Creation Microsoft Defender for Endpoint

Required Tables

DeviceProcessEvents DeviceFileEvents

False Positives

  • Legitimate VMware administrator deploying authorized VIBs for driver updates or vSAN components
  • VMware Update Manager (VUM) performing scheduled ESXi patch deployments
  • VMware Tools upgrades that deploy VIB packages to ESXi hosts
  • Authorized network adapter or storage driver VIBs installed by infrastructure team

Unlock Pro Content

Get the full detection package for T1505.006 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections