Resources
- Technology
- Offensive
Commands
- Technology
- svc_veeam Account
# 1. Define Variables (Change the password to your lab's standard) $AccountName = "svc_veeam" $OUName = "Service Accounts" $DomainPath = (Get-ADDomain).DistinguishedName $OUPath = "OU=$OUName,$DomainPath" $Password = ConvertTo-SecureString "Password123#s" -AsPlainText -Force # 2. Create the "Service Accounts" OU (if it doesn't already exist) if (-not (Get-ADOrganizationalUnit -Filter "Name -eq '$OUName'")) { New-ADOrganizationalUnit -Name $OUName -Path $DomainPath Write-Host "[+] Created Organizational Unit: $OUName" -ForegroundColor Green } else { Write-Host "[*] Organizational Unit '$OUName' already exists. Skipping." -ForegroundColor Yellow } # 3. Create the Service Account (Configured for Infrastructure reliability) # Flags applied: Password Never Expires, User Cannot Change Password New-ADUser -Name $AccountName ` -SamAccountName $AccountName ` -UserPrincipalName "$AccountName@$((Get-ADDomain).Name)" ` -Path $OUPath ` -AccountPassword $Password ` -Enabled $true ` -PasswordNeverExpires $true ` -CannotChangePassword $true ` -Description "Veeam Backup and Replication Service Account" Write-Host "[+] Created Service Account: $AccountName" -ForegroundColor Green # 4. Grant Domain Admin Privileges (Required for VSS / ntds.dit freezing) Add-ADGroupMember -Identity "Domain Admins" -Members $AccountName Write-Host "[+] Added $AccountName to the Domain Admins group" -ForegroundColor Green # 5. Set the SPN (The Red Team Trap for Kerberoasting) # We use the native native Set-ADUser cmdlet instead of the legacy setspn.exe tool $SPN = "VEEAM/BackupService" Set-ADUser -Identity $AccountName -ServicePrincipalNames @{Add=$SPN} Write-Host "[+] Registered SPN ($SPN) to enable Kerberoasting practice" -ForegroundColor Green Write-Host "[SUCCESS] The account is ready to be loaded into the Veeam VBR Console." -ForegroundColor Cyan
- svc_veeam Account
- Offensive
- Enumeration
- Version
$CoreDllPath = (Get-ItemProperty -Path "HKLM:\Software\Veeam\Veeam Backup and Replication\" | Select-Object -ExpandProperty CorePath) + "Veeam.Backup.Core.dll"; $CoreDll = Get-Item -Path $CoreDllPath; $CoreDll.VersionInfo.ProductVersion + " - " + $CoreDll.VersionInfo.Comments - Status
Get-Service -Name Veeam* | Select-Object Name, Status - Patches
Get-ItemProperty -Path "HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\AppliedPatches" - COmputers
Get-ADComputer -Filter "Name -like '*Veeam*' -or Name -like '*Backup*'" | Select-Object Name,DNSHostName - Service Accounts
Get-ADUser -Filter "servicePrincipalName -like 'Veeam*'" | Select-Object SamAccountName, ServicePrincipalName
- Version
- Enumeration
Tools
- CVE-2024-40711 : https://github.com/realstatus/CVE-2024-40711-Exp/tree/main || https://github.com/watchtowrlabs/CVE-2024-40711/tree/main/CVE-2024-40711-poc
Notes
Veeam Protection Groups Types
A critical distinction for your pentest lab: Protection Groups dictate how the Veeam agent is deployed and how targets are discovered on the network.
Protection Group Type What Veeam Saves in its Database How it Discovers Targets Individual Computers Static IP addresses or hostnames No discovery; relies on the static list you typed. Microsoft Active Directory The LDAP path to the specific OU Dynamically queries the Domain Controller for new VMs in that OU. Computers from CSV The local file path to the .csvlistReads the target list from the file during rescans. Pre-installed Agents Nothing (creates an empty listener container) Passive; waits for the target VM to phone home. Cloud Machines Cloud API credentials and target Tags/Regions Dynamically queries the AWS/Azure API.
Veeam Post-Exploitation Directories
After successfully compromising the Veeam server, these are the primary default directories to target for local privilege escalation, network mapping, and data exfiltration.
Directory Path Veeam’s Intended Use Red Team Value (Loot) C:\VBRCatalogGuest OS file system indexing database. The Search Engine: Browse victim file systems offline to locate sensitive files (e.g., NTDS.dit,passwords.xlsx) without touching the target VMs.C:\ProgramData\Veeam\BackupHidden operational logs and temporary data. The Network Blueprint: Detailed logs revealing target IPs, hostnames, backup file paths, and the exact accounts being used (sometimes logging plaintext credentials). C:\BackupThe default local backup storage repository. The Vault: Contains the massive .vbkand.vibbackup files, ready to be copied off-site for offline mounting and hash extraction.C:\Program Files\VeeamMain application binaries and configurations. The Toolset: Contains local database connection strings to dump the SQL/Postgres credentials, and the built-in Veeam.Backup.Extractor.exetool for stealthy file extraction.
