
CyberArk Security Audit
A comprehensive PowerShell-based security assessment tool for CyberArk Privileged Access Management (PAM) platforms. Designed for offensive security professionals, red teamers, and penetration testers.
This tool is designed to run REMOTELY against CyberArk servers via network. It does NOT need to be executed on the CyberArk servers themselves. All checks are performed over the network using PVWA API, port scanning, and web testing.
This tool performs security checks including CIS Benchmark compliance, vendor best practices, blackbox testing, network security analysis, CVE-specific vulnerability checks (including 2025 CVEs), machine identity security, secrets management, zero standing privileges (ZSP) assessment, identity governance, and enhanced security checks.
| Feature | Description |
|---|---|
| Remote Auditing | All checks performed remotely via network - no need to install on CyberArk servers |
| OPSEC Mode | Stealth scanning with configurable delays, jitter, and reduced detection footprint |
| Proxy Support | Route all traffic through Burp Suite, ZAP, or other intercepting proxies |
| Timing Attacks | Detect user enumeration and blind injection via response timing analysis |
| JWT Security | Test for none algorithm bypass, key confusion, weak signing algorithms |
| WebSocket Testing | Discover real-time endpoints and test for Cross-Site WebSocket Hijacking |
| WAF Evasion | Test encoding bypasses, HTTP Parameter Pollution, request smuggling |
| User-Agent Rotation | Randomized or custom User-Agent strings to evade fingerprinting |
| Parallel Execution | Optional parallel execution for faster scans |
| Quiet Mode | Reduced console output for automation and scripting |
| Credential Security | Secure handling with memory cleanup after use |
| Comprehensive Reporting | HTML dashboard, 7 CSV files, and structured JSON for programmatic use |
| PoC Evidence | Request/Response proof-of-concept included in HTML report for penetration testing |
| Selective Execution | Run only specific check categories (portscan, CVE, blackbox, authenticated, network) |
| False Positive Reduction | Baseline fingerprinting to eliminate SPA catch-all false positives |
| Identity Auth Testing | StartAuthentication/ForgotUsername info disclosure and enumeration checks |
| Audit Phase | Access Required |
|---|---|
| Phase 1 (Unauthenticated) | Network access to PVWA (HTTPS/443) |
| Phase 2 (Authenticated) | CyberArk API credentials with Vault Admin or Auditor role |
This script is fully self-contained and uses only native PowerShell and .NET Framework capabilities. No additional tools or modules need to be installed.
The script leverages:
System.Net.Sockets.TcpClient, System.Net.Security.SslStream for network and TLS analysisInvoke-WebRequest, Invoke-RestMethod for HTTP/API testingSystem.Security.Cryptography.X509Certificates for certificate analysisOpen PowerShell and run:
$PSVersionTable.PSVersion
Ensure the Major version is 7 or higher. If not, download PowerShell 7.x.
Note: This script requires PowerShell 7.0 or later. Windows PowerShell 5.1 is not supported.
Option A: Clone the repository (recommended)
git clone https://github.com/Logisek/HuntCyberArk.git
cd HuntCyberArk
Option B: Download directly
# Download to current directory
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Logisek/HuntCyberArk/main/CyberArk-Security-Audit.ps1" -OutFile "CyberArk-Security-Audit.ps1"
If you encounter script execution errors, temporarily allow script execution:
# Check current policy
Get-ExecutionPolicy
# Set for current session only (recommended)
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
# Or unblock the downloaded script
Unblock-File -Path .\CyberArk-Security-Audit.ps1
For proper TLS testing, ensure your PowerShell session supports TLS 1.2+:
# Enable TLS 1.2 (recommended to add to your profile)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Verify you can reach the PVWA server:
# Test basic connectivity
Test-NetConnection -ComputerName pvwa.domain.com -Port 443
# Test HTTPS endpoint
Invoke-WebRequest -Uri "https://pvwa.domain.com/PasswordVault/" -UseBasicParsing -TimeoutSec 10
PowerShell 7 provides improved performance and better TLS support:
# Windows (winget)
winget install Microsoft.PowerShell
# Windows (manual)
# Download from: https://github.com/PowerShell/PowerShell/releases
The audit runs in two phases, each with different authentication requirements:
External/blackbox testing that can be run without any credentials:
Use Case: Penetration testing, external security assessments, quick reconnaissance
Deep configuration audits requiring CyberArk REST API access:
Required Permissions: Vault Admin or Auditor role recommended
Requires EPM URL and optional authentication
Requires domain connectivity and -IncludeADChecks parameter
Requires -IncludeSecretsHubChecks and optionally -SecretsHubUrl
Requires -IncludeRemoteAccessChecks and optionally -AleroUrl
Requires -IncludeK8sChecks and optionally -K8sNamespace, -ConjurApplianceUrl
Requires -IncludeDevSecOpsChecks
Requires -IncludePrivilegeCloudChecks or -PrivilegeCloudTenant or -IsPrivilegeCloud
Requires -IncludeIdentityChecks or -IdentityTenantUrl
Requires -IncludePluginChecks
Requires -IncludeBackupSecurityChecks and optionally -BackupPath
Requires -IncludeHSMChecks and optionally -HSMProvider
Requires -IncludePTADeepDive
Requires -IncludeThirdPartyChecks and optionally -ServiceNowUrl, -SIEMUrl
Requires -IncludeOperationalChecks
Requires -IncludeAttackPathChecks
Requires -IncludeSupplyChainChecks
Requires -IncludeNetworkSegmentationChecks
| Component | Version | Notes |
|---|---|---|
| PowerShell | 7.0+ | PowerShell 7.x required (Windows PowerShell 5.1 not supported) |
| .NET Framework | 4.5+ | Required for TLS/SSL and network operations |
| CyberArk PVWA |
| Phase | Requirement | Purpose |
|---|---|---|
| Phase 1 | Network access to PVWA | Blackbox testing, port scanning, TLS analysis |
| Phase 2 | CyberArk API credentials | Configuration audits, policy checks |
For Phase 2 (Authenticated Checks), you need CyberArk credentials with one of these roles:
The script uses these Windows/PowerShell features (no installation required):
| Feature | Used For |
|---|---|
System.Net.Sockets.TcpClient | Port scanning, Vault port security |
System.Net.Security.SslStream | TLS/SSL protocol and cipher enumeration |
Invoke-WebRequest / Invoke-RestMethod | HTTP testing, API calls |
# 1. Verify PowerShell version (need 7.0+)
$PSVersionTable.PSVersion
# 2. Enable TLS 1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# 3. Run unauthenticated scan (no credentials needed)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -UnauthenticatedOnly
# 4. Run full scan with authentication
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP
Run external security checks without any credentials:
# No credentials required - great for penetration testing
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -UnauthenticatedOnly
# Full audit with LDAP authentication
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP
# Full audit with pre-supplied credentials
$cred = Get-Credential
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -Credential $cred
# Skip port scanning (faster execution)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipPortScan
# Skip authenticated checks (only blackbox)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipAuthenticatedChecks
# Skip CVE checks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipCVEChecks
# Skip multiple check categories
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" `
-SkipSecretsChecks `
-SkipMachineIdentity `
-SkipIGAChecks `
-SkipCloudChecks
Use -Only* parameters to run specific check categories exclusively:
# Run ONLY port scanning
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OnlyPortScan
# Run ONLY CVE vulnerability checks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OnlyCVEChecks
# Run ONLY network security checks (ports, TLS, DNS)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OnlyNetworkChecks
# Run ONLY unauthenticated blackbox checks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OnlyBlackboxChecks
# Run ONLY authenticated API checks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OnlyAuthenticatedChecks -Credential $cred
.\CyberArk-Security-Audit.ps1 `
-PVWA "https://pvwa.domain.com" `
-AuthType LDAP `
-OutputPath "C:\Reports" `
-Credential $cred `
-SkipPortScan `
-SkipCVEChecks `
-SkipAPITests `
-PortScanTimeout 2000 `
-VerboseOutput
# Full audit with compliance mapping
.\CyberArk-Security-Audit.ps1 `
-PVWA "https://pvwa.domain.com" `
-AuthType LDAP `
-OutputPath "C:\Reports" `
-ComplianceMapping `
-IncludeEPMChecks `
-EPMUrl "https://epm.domain.com"
# External penetration test (no access, no credentials)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -UnauthenticatedOnly
# Internal security audit (with CyberArk credentials)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP
# Quick check (skip intensive scans)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipPortScan -SkipCVEChecks
# Fast parallel port scanning (4.5x faster on PowerShell 7+)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -ParallelExecution -MaxThreads 10
# OPSEC Mode - Stealth scanning for red team operations
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OPSECMode -UnauthenticatedOnly
# Route traffic through Burp Suite proxy
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -Proxy "http://127.0.0.1:8080" -IgnoreCertificateErrors
# Advanced timing attack detection
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeTimingAttacks -UnauthenticatedOnly
# Full JWT/OAuth2 security testing
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeJWTTests
# WebSocket endpoint discovery and CSWSH testing
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeWebSocketTests
# WAF evasion testing (encoding bypasses, HPP, smuggling)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeWAFEvasion
# Custom timing with jitter and randomized User-Agent
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -RequestDelay 3 -Jitter 30 -RandomizeUserAgent
# Quiet mode for automation/scripting
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -QuietMode -NoLogo -UnauthenticatedOnly
# Complete red team assessment
.\CyberArk-Security-Audit.ps1 `
-PVWA "https://pvwa.domain.com" `
-OPSECMode `
-Proxy "http://127.0.0.1:8080" `
-IncludeTimingAttacks `
-IncludeJWTTests `
-IncludeWebSocketTests `
-IncludeWAFEvasion `
-UnauthenticatedOnly
# AD Security Audit (zBang-inspired) - detect shadow admins, Kerberos issues
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP -IncludeADChecks
# AD Security with specific Domain Controller
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeADChecks -DomainController "dc01.domain.com"
# Conjur/Secrets Manager integration check
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeConjurChecks -ConjurUrl "https://conjur.domain.com"
# Comprehensive audit with CyberArk tools integration
.\CyberArk-Security-Audit.ps1 `
-PVWA "https://pvwa.domain.com" `
-AuthType LDAP `
-IncludeADChecks `
-IncludeConjurChecks `
-ConjurUrl "https://conjur.domain.com" `
-ComplianceMapping
# Generate comprehensive reports to a specific directory
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-OutputPath "C:\SecurityReports\CyberArk"
# Quick unauthenticated scan with minimal output for automation
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" `
-UnauthenticatedOnly -QuietMode -NoLogo `
-OutputPath "C:\Reports"
# Full audit for compliance reporting
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-ComplianceMapping -OutputPath "C:\ComplianceReports"
# Generate reports and capture results for further processing
$auditResults = .\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP
# Access the returned data programmatically
$auditResults.ReportMetadata.RiskScore
$auditResults.Findings | Where-Object { $_.Severity -eq "Critical" }
$auditResults.Reports.HTML # Path to HTML report
$auditResults.Reports.CSV # Array of CSV file paths
$auditResults.Reports.JSON # Path to JSON report
Output Files Generated:
After running an audit, you'll find these files in your output directory:
C:\SecurityReports\CyberArk\
├── CyberArk_Security_Audit_20260116_143022.html # Interactive HTML dashboard
├── CyberArk_Security_Audit_20260116_143022.json # Comprehensive JSON data
├── CyberArk_Security_Audit_20260116_143022_Executive_Summary.csv
├── CyberArk_Security_Audit_20260116_143022_Full_Findings.csv
├── CyberArk_Security_Audit_20260116_143022_Failed_Findings.csv
├── CyberArk_Security_Audit_20260116_143022_Remediation_Tracker.csv
├── CyberArk_Security_Audit_20260116_143022_Skipped_Checks.csv
├── CyberArk_Security_Audit_20260116_143022_CIS_Compliance_Matrix.csv
└── CyberArk_Security_Audit_20260116_143022_Component_Summary.csv
# Secrets Hub - Cloud secrets sync validation
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeSecretsHubChecks -SecretsHubUrl "https://secretshub.cyberark.cloud"
# Remote Access / Alero - Vendor access security
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeRemoteAccessChecks -AleroUrl "https://alero.cyberark.cloud"
# Kubernetes Secrets - Container security and Secrets Provider
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeK8sChecks -K8sNamespace "cyberark" -ConjurApplianceUrl "https://conjur.domain.com"
# DevSecOps - CI/CD pipeline security
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeDevSecOpsChecks
# Privilege Cloud - SaaS-specific checks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IsPrivilegeCloud -PrivilegeCloudTenant "my-tenant"
# CyberArk Identity - SSO and adaptive MFA
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeIdentityChecks -IdentityTenantUrl "https://aab1234.id.cyberark.cloud"
# Backup Security - Encryption and file permissions
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeBackupSecurityChecks -BackupPath "D:\VaultBackups"
# HSM Integration - Hardware security module checks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeHSMChecks -HSMProvider "Thales"
# PTA Deep Dive - Advanced threat detection analysis
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludePTADeepDive
# Third-Party Integration - SIEM/ITSM/SOAR connectivity
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeThirdPartyChecks -ServiceNowUrl "https://company.servicenow.com" -SIEMUrl "https://splunk.domain.com"
# Operational Hygiene - Health metrics and queue analysis
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeOperationalChecks
# Attack Path Simulation - Red team validation
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeAttackPathChecks -IncludeADChecks
# Supply Chain Integrity - Component validation
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeSupplyChainChecks
# Network Segmentation - Micro-segmentation analysis
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP `
-IncludeNetworkSegmentationChecks
# Comprehensive audit with all security posture checks
.\CyberArk-Security-Audit.ps1 `
-PVWA "https://pvwa.domain.com" `
-AuthType LDAP `
-IncludeSecretsHubChecks `
-IncludeRemoteAccessChecks `
-IncludeK8sChecks `
-IncludeDevSecOpsChecks `
-IncludeIdentityChecks `
-IncludePluginChecks `
-IncludeBackupSecurityChecks `
-IncludeHSMChecks `
-IncludePTADeepDive `
-IncludeThirdPartyChecks `
-IncludeOperationalChecks `
-IncludeAttackPathChecks `
-IncludeSupplyChainChecks `
-IncludeNetworkSegmentationChecks `
-ComplianceMapping
The script generates comprehensive reports in three formats, designed to support writing detailed security assessment reports:
A modern, interactive HTML report with:
Generates multiple CSV files for different audiences:
Comprehensive structured data for programmatic analysis:
{
"reportInfo": { "title", "generatedAt", "version" },
"auditMetadata": { "target", "auditDate", "auditorInfo" },
"executiveSummary": {
"overallRiskRating": "Fair",
"riskScore": 45,
"keyMetrics": { "totalChecks", "passed", "failed", "compliance%" },
"findingsBySeverity": { "critical", "high", "medium", "low" },
"keyRisks": [ /* top 10 findings */ ],
"immediatePriorities": [ /* critical recommendations */ ]
},
"complianceAnalysis": {
"overallCompliance": 78.5,
"cisControlsCompliance": { /* per-control matrix */ }
},
"componentAnalysis": { /* findings by component */ },
"categoryAnalysis": { /* findings by category */ },
"remediationRoadmap": {
"immediate": { "timeframe": "24-48 hours", "findings": [] },
"urgent": { "timeframe": "1 week", "findings": [] },
"standard": { "timeframe": "30 days", "findings": [] },
"routine": { "timeframe": "90 days", "findings": [] }
},
"detailedFindings": { "failed", "passed", "all" },
"skippedChecks": { "summary", "requiresFollowUp", "all" },
"appendix": { "glossary", "severityDefinitions", "riskScoreExplanation" }
}
Each finding now includes comprehensive information for report writing:
Findings are scored by severity:
Risk ratings:
The output is designed to help you write professional security assessment reports:
⚠️ WARNING: This tool performs active security testing that may:
-EnablePasswordSpraying flagAlways obtain proper authorization before running this script.
Use -OPSECMode for reduced detection footprint during red team operations.
Error: File cannot be loaded because running scripts is disabled on this system
Solution:
# Option 1: Bypass for current session only
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
# Option 2: Unblock the specific file
Unblock-File -Path .\CyberArk-Security-Audit.ps1
Error: This script requires PowerShell 7 or higher.
Solution:
# Check current version
$PSVersionTable.PSVersion
# Install PowerShell 7
winget install Microsoft.PowerShell
# Or download from: https://github.com/PowerShell/PowerShell/releases
Error: The request was aborted: Could not create SSL/TLS secure channel
Solution:
# Enable TLS 1.2 before running the script
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# For PowerShell 7, TLS 1.3 may also be available
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -bor [Net.SecurityProtocolType]::Tls13
Error: The underlying connection was closed: Could not establish trust relationship
Solution: This typically indicates a certificate issue (e.g., self-signed certificate) with the PVWA. The script will automatically capture this as a security finding and continue with the assessment to provide complete coverage. The script includes certificate validation bypass for operational continuity:
# The script automatically bypasses certificate validation for assessment continuity
# while capturing certificate issues as findings
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
Error: Authentication failed: The remote server returned an error: (401) Unauthorized
Solutions:
-AuthType LDAP, -AuthType CyberArk, etc.)# Test authentication manually
$cred = Get-Credential
$body = @{ username = $cred.UserName; password = $cred.GetNetworkCredential().Password } | ConvertTo-Json
Invoke-RestMethod -Uri "https://pvwa.domain.com/PasswordVault/api/Auth/LDAP/Logon" -Method POST -Body $body -ContentType "application/json"
Error: Port scans taking too long or timing out
Solution:
# Increase timeout (default is 1000ms)
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -PortScanTimeout 3000
# Or skip port scanning entirely
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipPortScan
Error: Cannot write report files
Solution:
# Specify a writable output directory
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OutputPath "C:\Reports"
# Ensure the directory exists
New-Item -ItemType Directory -Path "C:\Reports" -Force
If you encounter issues not covered above:
-VerboseOutputThis tool is provided as-is for security assessment purposes. Use responsibly and ethically.
| Requirement | Minimum | Recommended |
|---|
| PowerShell | 7.0 | 7.x (latest) |
| .NET Framework | 4.5 | 4.8+ |
| Operating System | Windows 10/Server 2016 | Windows 11/Server 2022 |
| Memory | 2 GB available | 4 GB available |
| Category | Control Prefix | Description |
|---|
| CIS Benchmark | 1.x - 8.x | CIS CyberArk PAM Benchmark v1.0 compliance |
| Vendor Best Practices | V1.x - V8.x | CyberArk security hardening recommendations |
| Blackbox Testing | BB1 - BB11 | External security testing without authentication |
| Network Security | NET1 - NET7 | Port scanning and network exposure analysis |
| TLS Security | TLS1 - TLS4 | SSL/TLS configuration and cipher analysis |
| CVE Checks | CVE1 - CVE23 | Known CyberArk vulnerability detection (2018-2025) |
| Security Bulletins | CA25-x | CyberArk security bulletin checks |
| API Security | API1 - API5 | REST API security testing |
| Authentication Security | AUTH1 - AUTH2 | CyberArk Identity/Privilege Cloud authentication endpoint testing |
| Advanced Security | ||
| Machine Identity | MID1 - MID9 | Service account, AppID, and AIM Provider security |
| Secrets Management | SEC1 - SEC14 | Credential Provider/CCP and Conjur security |
| Zero Standing Privileges | ZSP1 - ZSP5 | JIT access and privilege assessment |
| Identity Governance | IGA1 - IGA8 | Lifecycle and permission management |
| EPM Integration | EPM1 - EPM6 | Endpoint Privilege Manager checks |
| Cloud Security | CLD1 - CLD6 | Secure Cloud Access checks |
| Disaster Recovery | DR1 - DR5 | HA and DR configuration |
| Compliance Mapping | COMP1 - COMP4 | NIST, SOC2, PCI-DSS alignment |
| Audit Logging | AUD1 - AUD4 | SIEM and logging validation |
| Security Posture Expansion | ||
| Secrets Hub | SH1 - SH6 | Cloud secrets sync health, latency, version drift |
| Remote Access / Alero | RA1 - RA6 | Vendor invitation, MFA, session limits, device binding |
| Kubernetes Secrets | K8S1 - K8S8 | Secrets Provider, RBAC, pod security, Conjur follower |
| DevSecOps Pipeline | DSO1 - DSO6 | CI/CD secrets retrieval, sprawl detection, short-lived tokens |
| Privilege Cloud | PC1 - PC5 | Connector health, tenant isolation, ISP integration |
| CyberArk Identity | IDN1 - IDN6 | SSO integration, adaptive MFA, session risk scoring |
| Custom Plugins | PLG1 - PLG5 | PSM/CPM plugin security, digital signatures, ACLs |
| Backup Security | BKP1 - BKP5 | Encryption, file permissions, restoration testing |
| HSM Integration | HSM1 - HSM4 | HSM health, key wrapping, partition isolation |
| PTA Deep Dive | PTAD1 - PTAD6 | Custom rules, ML quality, UEBA, alert fatigue |
| Third-Party Integration | TPI1 - TPI5 | SIEM/ITSM/SOAR connectivity, credential health |
| Operational Hygiene | OPS1 - OPS8 | Onboarding queue, CPM failures, PSM metrics, license |
| Attack Path Simulation | APS1 - APS6 | PtH, NTLM relay, Kerberoasting, privilege escalation |
| Supply Chain Integrity | SCI1 - SCI5 | File hashes, patch currency, code signing |
| Network Segmentation | NSG1 - NSG5 | Vault isolation, component ACLs, East-West monitoring |
| v12+ |
| REST API v12 or later for full compatibility |
| Parameter | Required | Default | Description |
|---|
| PVWA | Yes | - | PVWA server URL (e.g., https://pvwa.domain.com) |
| AuthType | No | CyberArk | Authentication method: CyberArk, LDAP, RADIUS, SAML |
| OutputPath | No | Current directory | Report output directory |
| Credential | No | Prompt | PSCredential for authentication |
| Skip Parameters | |||
| SkipPortScan | No | False | Skip network port scanning |
| SkipCVEChecks | No | False | Skip CVE-specific vulnerability testing |
| SkipAPITests | No | False | Skip API security testing |
| SkipAuthenticatedChecks | No | False | Skip all Phase 2 authenticated checks |
| SkipSecretsChecks | No | False | Skip Secrets Management checks (SEC1-SEC14) |
| SkipMachineIdentity | No | False | Skip Machine Identity checks (MID1-MID9) |
| SkipIGAChecks | No | False | Skip Identity Governance checks (IGA1-IGA8) |
| SkipCloudChecks | No | False | Skip Cloud Security checks (CLD1-CLD6) |
| SkipDRChecks | No | False | Skip Disaster Recovery checks (DR1-DR5) |
| SkipDefaultCredentialTests | No | False | Skip default/weak credential testing (BB3) |
| SkipSecretsHubChecks | No | False | Skip Secrets Hub checks (SH1-SH6) |
| SkipRemoteAccessChecks | No | False | Skip Remote Access/Alero checks (RA1-RA6) |
| SkipK8sChecks | No | False | Skip Kubernetes checks (K8S1-K8S8) |
| SkipDevSecOpsChecks | No | False | Skip DevSecOps checks (DSO1-DSO6) |
| SkipPrivilegeCloudChecks | No | False | Skip Privilege Cloud checks (PC1-PC5) |
| SkipIdentityChecks | No | False | Skip CyberArk Identity checks (IDN1-IDN6) |
| SkipPluginChecks | No | False | Skip Custom Plugins checks (PLG1-PLG5) |
| SkipBackupSecurityChecks | No | False | Skip Backup Security checks (BKP1-BKP5) |
| SkipHSMChecks | No | False | Skip HSM Integration checks (HSM1-HSM4) |
| SkipPTADeepDive | No | False | Skip PTA Deep Dive checks (PTAD1-PTAD6) |
| SkipThirdPartyChecks | No | False | Skip Third-Party Integration checks (TPI1-TPI5) |
| SkipOperationalChecks | No | False | Skip Operational Hygiene checks (OPS1-OPS8) |
| SkipAttackPathChecks | No | False | Skip Attack Path Simulation checks (APS1-APS6) |
| SkipSupplyChainChecks | No | False | Skip Supply Chain Integrity checks (SCI1-SCI5) |
| SkipNetworkSegmentationChecks | No | False | Skip Network Segmentation checks (NSG1-NSG5) |
| Mode Parameters | |||
| UnauthenticatedOnly | No | False | Run only Phase 1 (no credentials needed) |
| IncludeEPMChecks | No | False | Include EPM integration checks |
| ComplianceMapping | No | False | Generate compliance framework mapping |
| Selective Execution | |||
| OnlyPortScan | No | False | Run ONLY port scanning checks |
| OnlyCVEChecks | No | False | Run ONLY CVE vulnerability checks |
| OnlyAuthenticatedChecks | No | False | Run ONLY authenticated API checks |
| OnlyNetworkChecks | No | False | Run ONLY network security checks (TLS, ports, DNS) |
| OnlyBlackboxChecks | No | False | Run ONLY unauthenticated blackbox checks |
| CyberArk Tools Parameters | |||
| IncludeADChecks | No | False | Enable Active Directory security checks (zBang-inspired) |
| IncludeConjurChecks | No | False | Enable Conjur/Secrets Manager integration checks |
| ConjurUrl | No | - | Conjur server URL for integration checks |
| DomainController | No | - | Domain controller for AD security queries |
| Red Team Parameters | |||
| OPSECMode / Stealth | No | False | Enable OPSEC/stealth mode with delays and reduced noise |
| Proxy | No | - | Proxy URL for traffic routing (e.g., http://127.0.0.1:8080) |
| ProxyCredential | No | - | Credentials for authenticated proxy |
| IgnoreCertificateErrors | No | False | Skip SSL/TLS certificate validation |
| RequestDelay | No | 0 | Delay between requests in seconds (0-60) |
| Jitter | No | 0 | Random jitter percentage (0-100) for timing variance |
| UserAgent | No | - | Custom User-Agent string |
| RandomizeUserAgent | No | False | Rotate through common User-Agent strings |
| IncludeTimingAttacks | No | False | Enable timing-based vulnerability detection |
| IncludeJWTTests | No | False | Enable JWT/OAuth2 security testing |
| IncludeWebSocketTests | No | False | Enable WebSocket endpoint discovery |
| IncludeWAFEvasion | No | False | Enable WAF/IDS bypass testing |
| NoLogo | No | False | Suppress banner display |
| QuietMode | No | False | Reduce console output (info messages suppressed) |
| EnablePasswordSpraying | No | False | Enable password spraying (requires explicit confirmation) |
| Performance Parameters | |||
| ParallelExecution | No | False | Enable parallel execution for faster scans |
| MaxThreads | No | 5 | Maximum concurrent threads (1-20) |
| EPM Parameters | |||
| EPMUrl | No | - | EPM server URL for EPM integration checks |
| Security Posture Parameters | |||
| IncludeSecretsHubChecks | No | False | Enable Secrets Hub cloud sync checks |
| SecretsHubUrl | No | - | Secrets Hub URL for integration checks |
| IncludeRemoteAccessChecks | No | False | Enable Remote Access/Alero checks |
| AleroUrl | No | - | Alero URL for vendor access checks |
| IncludeK8sChecks | No | False | Enable Kubernetes/Container secrets checks |
| K8sNamespace | No | default | Kubernetes namespace for secrets checks |
| ConjurApplianceUrl | No | - | Conjur appliance URL for K8s integration |
| IncludeDevSecOpsChecks | No | False | Enable DevSecOps pipeline security checks |
| IncludePrivilegeCloudChecks | No | False | Enable Privilege Cloud/SaaS-specific checks |
| IsPrivilegeCloud | No | False | Indicate target is Privilege Cloud SaaS |
| PrivilegeCloudTenant | No | - | Privilege Cloud tenant identifier |
| IncludeIdentityChecks | No | False | Enable CyberArk Identity/Idaptive checks |
| IdentityTenantUrl | No | - | CyberArk Identity tenant URL |
| IncludePluginChecks | No | False | Enable custom plugin security checks |
| IncludeBackupSecurityChecks | No | False | Enable backup security checks |
| BackupPath | No | - | Path to Vault backup files for analysis |
| IncludeHSMChecks | No | False | Enable HSM integration checks |
| HSMProvider | No | - | HSM provider type (Thales, nCipher, SafeNet, AWSCloudHSM, AzureHSM, Other) |
| IncludePTADeepDive | No | False | Enable advanced PTA detection checks |
| IncludeThirdPartyChecks | No | False | Enable SIEM/ITSM/SOAR integration checks |
| ServiceNowUrl | No | - | ServiceNow URL for ITSM checks |
| SIEMUrl | No | - | SIEM URL for event correlation checks |
| IncludeOperationalChecks | No | False | Enable operational hygiene metrics |
| IncludeAttackPathChecks | No | False | Enable attack path simulation checks |
| IncludeSupplyChainChecks | No | False | Enable supply chain integrity checks |
| IncludeNetworkSegmentationChecks | No | False | Enable network segmentation checks |
| Other Parameters | |||
| PortScanTimeout | No | 1000 | Port scan connection timeout (ms) |
| VerboseOutput | No | False | Enable verbose logging |
| File | Purpose | Audience |
|---|
Executive_Summary.csv | High-level metrics and risk overview | Leadership, Management |
Full_Findings.csv | Complete findings with all 20+ fields | Security Analysts |
Failed_Findings.csv | Failed checks only, sorted by severity | Remediation Teams |
Remediation_Tracker.csv | Actionable tracker with AssignedTo, Status, DueDate | IT Operations |
Skipped_Checks.csv | Checks requiring manual verification | Auditors |
CIS_Compliance_Matrix.csv | Control-by-control compliance status | Compliance Officers |
Component_Summary.csv | Findings grouped by component | Component Owners |
| Field | Description |
|---|
FindingID | Unique identifier (e.g., CA-20260116-A1B2C3D4) |
Category | Security category (e.g., Safe Configuration, Authentication) |
CISControl | CIS Benchmark control reference |
AffectedComponent | CyberArk component (Vault, CPM, PSM, PVWA, PTA) |
Evidence | Technical evidence supporting the finding |
TechnicalDetails | Detailed technical description |
RiskDescription | Explanation of why this is a security risk |
BusinessImpact | Business-level impact explanation |
CVSSScore | Estimated CVSS score range |
RemediationSteps | Step-by-step remediation guidance |
ComplianceRefs | Compliance framework references |
References | Documentation links |
PoCRequest | HTTP request proof-of-concept (when available) |
PoCResponse | HTTP response proof-of-concept (when available) |