Auditoría de seguridad de CyberArk
Una herramienta integral de evaluación de seguridad basada en PowerShell para plataformas CyberArk Privileged Access Management (PAM). Diseñada para profesionales de seguridad ofensiva, red teamers y probadores de penetración.
Esta herramienta está diseñada para ejecutarse de forma REMOTA contra servidores CyberArk a través de la red. NO necesita ejecutarse en los propios servidores CyberArk. Todas las comprobaciones se realizan a través de la red utilizando la API de PVWA, escaneo de puertos y pruebas web.
Esta herramienta realiza comprobaciones de seguridad que incluyen el cumplimiento de CIS Benchmark, mejores prácticas del proveedor, pruebas de caja negra, análisis de seguridad de red, verificaciones de vulnerabilidades CVE específicas (incluyendo CVEs de 2025), seguridad de identidades de máquina, gestión de secretos, evaluación de Zero Standing Privileges (ZSP), gobierno de identidades y controles de seguridad mejorados.
| Característica | Descripción |
|---|
| Auditoría remota | Todas las comprobaciones se realizan de forma remota a través de la red; no es necesario instalarlas en los servidores CyberArk |
| Modo OPSEC | Escaneo sigiloso con retrasos configurables, jitter y huella de detección reducida |
| Soporte de proxy | Enrutar todo el tráfico a través de Burp Suite, ZAP u otros proxies interceptores |
| Ataques de temporización | Detectar enumeración de usuarios e inyección ciega mediante análisis de tiempos de respuesta |
| Seguridad JWT | Probar bypass de algoritmo none, confusión de claves, algoritmos de firma débiles |
| Pruebas de WebSocket | Descubrir endpoints en tiempo real y probar Cross-Site WebSocket Hijacking |
| Evasión de WAF | Probar bypass de codificación, HTTP Parameter Pollution, contrabando de solicitudes |
| Rotación de User-Agent | Cadenas User-Agent aleatorias o personalizadas para evadir la huella digital |
| Ejecución en paralelo | Ejecución en paralelo opcional para escaneos más rápidos |
| Modo silencioso | Salida de consola reducida para automatización y scripting |
| Seguridad de credenciales | Manejo seguro con limpieza de memoria después del uso |
| Informes completos | Panel HTML, 7 archivos CSV y JSON estructurado para uso programático |
| Evidencia de PoC | Prueba de concepto Solicitud/Respuesta incluida en el informe HTML para pruebas de penetración |
| Ejecución selectiva | Ejecutar solo categorías de comprobación específicas (portscan, CVE, caja negra, autenticado, red) |
| Reducción de falsos positivos | Huella digital de referencia para eliminar falsos positivos de catch-all SPA |
| Pruebas de autenticación de identidad | Comprobaciones de divulgación de información y enumeración en StartAuthentication/ForgotUsername |
| Requisito | Mínimo | Recomendado |
|---|---|---|
| PowerShell | 7.0 | 7.x (última versión) |
| .NET Framework | 4.5 | 4.8+ |
| Sistema operativo | Windows 10/Server 2016 | Windows 11/Server 2022 |
| Memoria | 2 GB disponibles | 4 GB disponibles |
| Fase de auditoría | Acceso requerido |
|---|---|
| Fase 1 (Sin autenticación) | Acceso de red a PVWA (HTTPS/443) |
| Fase 2 (Autenticado) | Credenciales de API de CyberArk con rol de Administrador de Bóveda o Auditor |
Este script es completamente autónomo y utiliza únicamente capacidades nativas de PowerShell y .NET Framework. No es necesario instalar herramientas o módulos adicionales.
El script aprovecha:
System.Net.Sockets.TcpClient, System.Net.Security.SslStream para análisis de red y TLSInvoke-WebRequest, Invoke-RestMethod para pruebas HTTP/APISystem.Security.Cryptography.X509Certificates para análisis de certificadosAbra PowerShell y ejecute:```powershell $PSVersionTable.PSVersion
Asegúrate de que la versión principal sea **7 o superior**. Si no, [descarga PowerShell 7.x](https://github.com/PowerShell/PowerShell/releases).
> **Nota:** Este script requiere PowerShell 7.0 o posterior. Windows PowerShell 5.1 no es compatible.
### Paso 2: Descargar el script
**Opción A: Clonar el repositorio (recomendado)**```powershell
git clone https://github.com/Logisek/HuntCyberArk.git
cd HuntCyberArk
Opción B: Descargar directamente```powershell
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Logisek/HuntCyberArk/main/CyberArk-Security-Audit.ps1" -OutFile "CyberArk-Security-Audit.ps1"
### Paso 3: Configurar la política de ejecución (si es necesario)
Si encuentras errores de ejecución de scripts, permite temporalmente la ejecución de scripts:```powershell
# 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
Para realizar pruebas TLS adecuadas, asegúrese de que su sesión de PowerShell admita TLS 1.2+:```powershell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
### Paso 5: Probar Conectividad
Verifique que puede acceder al servidor PVWA:```powershell
# 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 proporciona un rendimiento mejorado y un mejor soporte TLS:```powershell
winget install Microsoft.PowerShell
## Fases de Auditoría y Requisitos de Autenticación
La auditoría se ejecuta en dos fases, cada una con diferentes requisitos de autenticación:
### Fase 1: Comprobaciones no autenticadas (No se requieren credenciales)
Pruebas externas/de caja negra que se pueden ejecutar sin credenciales:
- Seguridad de red (escaneo de puertos, exposición de puertos del vault)
- Configuración TLS/SSL y análisis de certificados
- Seguridad web de caja negra (endpoints expuestos, divulgación de información)
- Cabeceras de seguridad PVWA y seguridad de cookies
- Pruebas de vulnerabilidades CVE específicas (incluyendo CVEs de 2025)
- Pruebas de seguridad API (endpoints no autenticados)
- Detección de versiones de componentes
- Detección de ataques de temporización
- Pruebas de seguridad JWT/OAuth2
- Descubrimiento de endpoints WebSocket
- Pruebas de evasión WAF
- Pruebas de endpoints de autenticación de CyberArk Identity/Privilege Cloud (StartAuthentication, ForgotUsername)
**Caso de uso**: Pruebas de penetración, evaluaciones de seguridad externas, reconocimiento rápido
### Fase 2: Comprobaciones autenticadas (Se requieren credenciales de la API de CyberArk)
Auditorías de configuración profundas que requieren acceso a la API REST de CyberArk:
- Configuraciones y permisos de safes
- Configuraciones de gestión de cuentas y credenciales
- Configuraciones de plataformas
- Cuentas de usuario y permisos del vault
- Configuraciones de métodos de autenticación
- Estado de salud de los componentes
- Configuraciones de Master Policy, PSM, CPM, PTA
- Seguridad de identidad de máquinas (cuentas de servicio, AppIDs)
- Gestión de secretos (configuración CP/CCP)
- Privilegios permanentes cero (evaluación de acceso JIT)
- Gobierno de identidad (identidades huérfanas, desviación de permisos)
- Seguridad en la nube (integración AWS/Azure/GCP)
- Recuperación ante desastres (DR Vault, salud del clúster HA)
- Mapeo de cumplimiento (NIST, SOC 2, PCI-DSS)
- Integración de Secrets Hub (sincronización de secretos nativa en la nube)
- Acceso remoto / Seguridad de Alero
- Seguridad de secretos de Kubernetes
- Seguridad del pipeline DevSecOps
- Comprobaciones específicas de Privilege Cloud / SaaS
- Integración de CyberArk Identity / Idaptive
- Seguridad de plugins personalizados
- Seguridad de copias de seguridad
- Integración HSM
- Detección avanzada de PTA
- Integraciones de terceros (SIEM, ITSM, SOAR)
- Métricas de higiene operativa
- Simulación de rutas de ataque
- Integridad de la cadena de suministro
- Segmentación de red
**Permisos requeridos**: Se recomienda el rol de Administrador del Vault o Auditor
## Características
### Categorías de Comprobaciones de Seguridad
| Categoría | Prefijo de Control | Descripción |
|-----------|--------------------|-------------|
| CIS Benchmark | 1.x - 8.x | Cumplimiento del CIS CyberArk PAM Benchmark v1.0 |
| Mejores Prácticas del Proveedor | V1.x - V8.x | Recomendaciones de endurecimiento de seguridad de CyberArk |
| Pruebas de Caja Negra | BB1 - BB11 | Pruebas de seguridad externas sin autenticación |
| Seguridad de Red | NET1 - NET7 | Escaneo de puertos y análisis de exposición de red |
| Seguridad TLS | TLS1 - TLS4 | Configuración SSL/TLS y análisis de cifrados |
| Comprobaciones CVE | CVE1 - CVE23 | Detección de vulnerabilidades conocidas de CyberArk (2018-2025) |
| Boletines de Seguridad | CA25-x | Comprobaciones de boletines de seguridad de CyberArk |
| Seguridad de API | API1 - API5 | Pruebas de seguridad de la API REST |
| Seguridad de Autenticación | AUTH1 - AUTH2 | Pruebas de endpoints de autenticación de CyberArk Identity/Privilege Cloud |
| **Seguridad Avanzada** | | |
| Identidad de Máquina | MID1 - MID9 | Seguridad de cuentas de servicio, AppID y AIM Provider |
| Gestión de Secretos | SEC1 - SEC14 | Seguridad de Credential Provider/CCP y Conjur |
| Privilegios Permanentes Cero | ZSP1 - ZSP5 | Evaluación de acceso JIT y privilegios |
| Gobierno de Identidad | IGA1 - IGA8 | Gestión del ciclo de vida y permisos |
| Integración EPM | EPM1 - EPM6 | Comprobaciones de Endpoint Privilege Manager |
| Seguridad en la Nube | CLD1 - CLD6 | Comprobaciones de Secure Cloud Access |
| Recuperación ante Desastres | DR1 - DR5 | Configuración de HA y DR |
| Mapeo de Cumplimiento | COMP1 - COMP4 | Alineación con NIST, SOC2, PCI-DSS |
| Registro de Auditoría | AUD1 - AUD4 | Validación de SIEM y registro |
| **Expansión de Postura de Seguridad** | | |
| Secrets Hub | SH1 - SH6 | Salud de sincronización de secretos en la nube, latencia, desviación de versiones |
| Acceso Remoto / Alero | RA1 - RA6 | Invitación de proveedores, MFA, límites de sesión, vinculación de dispositivos |
| Secretos de Kubernetes | K8S1 - K8S8 | Secrets Provider, RBAC, seguridad de pods, Conjur follower |
| Pipeline DevSecOps | DSO1 - DSO6 | Recuperación de secretos en CI/CD, detección de proliferación, tokens de corta duración |
| Privilege Cloud | PC1 - PC5 | Salud del conector, aislamiento del inquilino, integración ISP |
| CyberArk Identity | IDN1 - IDN6 | Integración SSO, MFA adaptativa, puntuación de riesgo de sesión |
| Plugins Personalizados | PLG1 - PLG5 | Seguridad del plugin PSM/CPM, firmas digitales, ACLs |
| Seguridad de Copias de Seguridad | BKP1 - BKP5 | Cifrado, permisos de archivos, prueba de restauración |
| Integración HSM | HSM1 - HSM4 | Salud de HSM, encapsulamiento de claves, aislamiento de particiones |
| Inmersión Profunda en PTA | PTAD1 - PTAD6 | Reglas personalizadas, calidad del ML, UEBA, fatiga de alertas |
| Integración de Terceros | TPI1 - TPI5 | Conectividad SIEM/ITSM/SOAR, salud de credenciales |
| Higiene Operativa | OPS1 - OPS8 | Cola de incorporación, fallos de CPM, métricas de PSM, licencias |
| Simulación de Rutas de Ataque | APS1 - APS6 | PtH, relay NTLM, Kerberoasting, escalada de privilegios |
| Integridad de la Cadena de Suministro | SCI1 - SCI5 | Hashes de archivos, actualidad de parches, firma de código |
| Segmentación de Red | NSG1 - NSG5 | Aislamiento del Vault, ACLs de componentes, monitoreo Este-Oeste |
### Cobertura Detallada de Comprobaciones
#### Cumplimiento del CIS Benchmark (1.x - 8.x)
- Configuración dedicada del servidor Vault
- Reglas de cortafuegos y endurecimiento de servicios
- Configuración de contraseñas de Master Policy
- Complejidad y expiración de contraseñas
- Acceso y permisos de safes
- Gestión automática de contraseñas
- Seguridad de MFA y LDAP
- Grabación de sesiones de PSM
- Registro de auditoría e integración SIEM
- Configuración TLS
#### Mejores Prácticas del Proveedor (V1.x - V8.x)
- Configuraciones de Master Policy (período de validez, contraseñas de un solo uso, acceso exclusivo)
- Grabación de PSM, registro de pulsaciones de teclas, restricciones de portapapeles
- Reglas de descubrimiento e incorporación de cuentas
- Detección de anomalías de PTA
- Seguridad de componentes de conexión
- Cuentas vinculadas (logon/reconcile)
- Cabeceras de seguridad HTTP de PVWA
- Configuración del servicio CPM
#### Pruebas de Seguridad de Caja Negra (BB1 - BB11)
- Endpoints sensibles expuestos (Swagger, docs de API, páginas de administración)
- Divulgación de información (versión, trazas de pila)
- Pruebas de credenciales por defecto
- Métodos HTTP peligrosos (PUT, DELETE, TRACE)
- Atributos de seguridad de cookies (Secure, HttpOnly, SameSite)
- Mala configuración CORS
- Exposición de archivos de copia de seguridad/configuración
- Listado de directorios
- Problemas de certificados SSL/TLS
- Detección de limitación de velocidad
- Patrones de vulnerabilidades conocidas
#### Seguridad de Autenticación de CyberArk Identity / Privilege Cloud (AUTH1 - AUTH2)
- **Divulgación de Información de StartAuthentication**: Detecta exposición de datos sensibles, incluyendo:
- Exposición del ID de sesión en respuestas previas a la autenticación
- Enumeración de usuarios a través de desafíos de autenticación (usuarios válidos vs inválidos)
- Divulgación del mecanismo MFA (UP, SMS, EMAIL, OATH, QR, etc.)
- Divulgación de correo electrónico/PII en respuestas de autenticación
- Exposición del ID del inquilino
- Detalles de configuración de autenticación
- **Enumeración del Endpoint ForgotUsername**: Prueba la enumeración de nombres de usuario a través de la recuperación de contraseña:
- Detección de disponibilidad de la función
- Análisis de respuesta diferencial para usuarios válidos vs inválidos
#### Seguridad de Red (NET1 - NET7)
- **Escaneo de Puertos**: Escaneo completo de puertos específicos de CyberArk
- PVWA (443, 80)
- Vault (1858, 1859)
- Administrativos (RDP, SSH, WinRM)
- Base de datos (MSSQL, MySQL, PostgreSQL, Oracle)
- Protocolos (SMB, NetBIOS, LDAP, SNMP)
- Análisis de seguridad del puerto del Vault (1858)
- Configuración de seguridad DNS
#### Seguridad TLS/SSL (TLS1 - TLS4)
- Detección de protocolos débiles (SSLv2, SSLv3, TLS 1.0, TLS 1.1)
- Análisis de fortaleza de conjuntos de cifrado
- Detección de cifrados débiles (RC4, DES, 3DES, MD5, NULL, EXPORT)
- Validación de certificados
- Verificación del tamaño de clave
- Comprobación del algoritmo de firma
#### Comprobaciones de Vulnerabilidades CVE Específicas (CVE1 - CVE23)
- **CVE-2018-9842**: Divulgación de memoria del Vault a través del puerto 1858
- **CVE-2018-9843**: RCE por deserialización en PVWA (pre-autenticación)
- **CVE-2019-7442**: XXE en autenticación SAML
- **CVE-2021-31796**: Explotación remota de archivos de credenciales (sonda archivos .cred expuestos, analiza VerificationsFlag para determinar si las contraseñas pueden ser descifradas)
- **CVE-2021-37151**: Enumeración de nombres de usuario de CyberArk Identity a través de la longitud de respuesta MFA (Medio) - Detectado a través de la comprobación de divulgación de información de StartAuthentication
- **CVE-2022-22700**: Enumeración de nombres de usuario de CyberArk Identity a través de la cabecera de temporización X-CFY-TX-TM (Medio) - Detectado a través de la comprobación de divulgación de información de StartAuthentication
- **CWE-200**: Divulgación de información del endpoint StartAuthentication (ID de sesión, mecanismos MFA, ID de inquilino, configuración de autenticación)
- **CWE-203**: Enumeración de nombres de usuario del endpoint ForgotUsername a través de discrepancia observable
- **CVE-2024-42340**: CWE-602 Bypass de ejecución del lado del cliente
- **CVE-2024-42339**: IDOR / Divulgación de información sensible
- **CVE-2024-54840**: Inyección de cabecera de Host en PVWA (Medio)
- **CVE-2024-57967**: Escalada de privilegios de asignación LDAP en PVWA (Medio)
- **CVE-2025-22270**: Inyección HTML en gestión de roles de EPM
- **CVE-2025-22271**: Suplantación de X-Forwarded-For en EPM
- **CVE-2025-22272**: XSS en EPM a través de modalDlgMsgInternal
- **CVE-2025-22273**: Fuerza bruta de cambio de contraseña en EPM
- **CVE-2025-22274**: Inyección de definición de aplicación en EPM
- **CVE-2025-49827**: Bypass del autenticador IAM de Secrets Manager (Crítico)
- **CVE-2025-49828**: Ejecución remota de código en Secrets Manager (Alto)
- **CVE-2025-49829**: Validaciones faltantes en Secrets Manager (Moderado)
- **CVE-2025-49830**: Path traversal y divulgación de archivos en Secrets Manager (Alto)
- **CVE-2025-49831**: Bypass de red en Secrets Manager (Crítico)
- Boletines de Seguridad: CA25-25, CA25-29, CA25-32, CA25-34, CA25-35
- Comprobaciones adicionales: Path traversal, indicadores de Log4Shell, versiones de API heredadas
- Terceros: Contaminación de prototipos de ag-grid (CVE-2024-38996), Log4Shell (CVE-2021-44228)
#### Pruebas de Seguridad de API (API1 - API5)
- **BOLA/IDOR**: Autorización de objetos a nivel de recurso rota
- **Pruebas de Inyección**: Inyección SQL, inyección LDAP
- **Asignación Masiva**: Inyección de propiedades privilegiadas
- **Versionado de API**: Detección de endpoints de API heredados
#### Comprobaciones Avanzadas de Seguridad
- Detección de versiones de componentes y mapeo CVE
- Seguridad de sesión (fijación, sesiones concurrentes)
- Inyección de cabeceras (Host header, CRLF)
- Pruebas de vulnerabilidad XXE en endpoints SOAP
#### Seguridad de Identidad de Máquina (MID1 - MID9)
- Enumeración de cuentas de servicio y análisis de privilegios
- Validación de rotación de contraseñas de identidad de máquina
- Detección de cuentas de servicio con exceso de privilegios
- Configuración de autenticación basada en certificados
- Validación de seguridad de AppID (máquinas permitidas, restricciones de usuarios del SO)
- Detección de identidades de máquina obsoletas
- Verificación de despliegue de AIM Provider
- Seguridad de configuración de AIM Provider
- Conectividad de AIM Provider al vault
#### Gestión de Secretos (SEC1 - SEC14)
- Verificación de despliegue de Credential Provider (CP/CCP)
- Análisis de fortaleza del método de autenticación de AppID
- Validación de configuración de máquinas permitidas
- Configuración de TTL de caché e intervalo de actualización
- Configuración TLS/mTLS de CCP
- Aplicación de la política de rotación de secretos
- Detección de secretos huérfanos/no gestionados
- Análisis de proliferación de credenciales
- Salud de la integración de Conjur
- Validación de políticas MAML
- Configuración del autenticador (LDAP, OIDC, IAM, K8s)
- Cifrado de la base de datos de Conjur
- Política de rotación de claves de API
- Registro de auditoría de Conjur
#### Privilegios Permanentes Cero (ZSP1 - ZSP5)
- Detección de acceso privilegiado permanente
- Validación de flujo de trabajo de doble control
- Comprobaciones de límites de sesiones concurrentes
- Aplicación de check-in/check-out
- Recomendaciones de reducción de privilegios permanentes
- Puntuación de preparación para JIT
#### Gobierno de Identidad (IGA1 - IGA8)
- Detección de identidades huérfanas
- Análisis de desviación de permisos
- Detección de cuentas de usuario inactivas
- Análisis de membresía excesiva en safes
- Estado de certificación de acceso
- Proliferación de membresías de roles/grupos
- Antigüedad de la cola de cuentas pendientes
- Detección de brechas de propiedad de cuentas
#### Integración EPM (EPM1 - EPM6)
*Requiere URL de EPM y autenticación opcional*
- Verificación del estado de la integración EPM
- Evaluación de seguridad de la política por defecto
- Validación del modo de control de aplicaciones
- Estado de protección contra robo de credenciales
- Requisitos de justificación de solicitudes de elevación
- Configuración del registro de auditoría de EPM
#### Seguridad en la Nube (CLD1 - CLD6)
- Estado de la integración del proveedor de nube (AWS, Azure, GCP)
- Configuración de identidad federada
- Validación de la política de sincronización de secretos en la nube
- Evaluación de la integración CIEM
- Análisis de vinculación de roles IAM en la nube
- Consistencia de políticas multi-nube
#### Recuperación ante Desastres (DR1 - DR5)
- Estado de replicación del Vault de DR
- Verificación de salud del clúster HA
- Evaluación de redundancia de componentes
- Validación de configuración de copias de seguridad
- Disponibilidad de cuentas de break-glass
#### Mapeo de Cumplimiento (COMP1 - COMP4)
- Mapeo del Marco de Ciberseguridad NIST
- Indicadores de alineación con SOC 2 Tipo II
- Controles relevantes de PCI-DSS
- Puntuación de madurez del Blueprint de CyberArk
#### Registro de Auditoría (AUD1 - AUD4)
- Salud de la integración SIEM
- Configuración de retención de registros de auditoría
- Validación de alertas de eventos críticos
- Verificación de integridad de datos de auditoría
#### Seguridad de Active Directory (AD1 - AD7) - Inspirado en zBang
*Requiere conectividad de dominio y parámetro `-IncludeADChecks`*
- **Descubrimiento de Admin Sombra**: Detecta cuentas con permisos ACL directos sobre objetos privilegiados
- **Detección de Skeleton Key**: Comprueba indicadores de malware Skeleton Key en Controladores de Dominio
- **Análisis de SID History**: Identifica cuentas con atributos SID History privilegiados
- **Configuración de SPN Riesgosa**: Encuentra cuentas de usuario con SPNs (objetivos de Kerberoasting)
- **Delegación Sin Restricciones**: Descubre cuentas con delegación Kerberos sin restricciones
- **Delegación Restringida con Transición de Protocolo**: Detecta potencial de abuso de S4U2Self
- **Auditoría de Privilegios de Delegación**: Resumen completo de la configuración de delegación
#### Secrets Hub (SH1 - SH6)
*Requiere `-IncludeSecretsHubChecks` y opcionalmente `-SecretsHubUrl`*
- Monitoreo de salud de sincronización de Secrets Hub
- Medición de latencia de sincronización
- Detección de desviación de versiones entre origen y destinos
- Análisis de tasa de fallos de sincronización
- Validación de configuración de destino
- Registro de auditoría de Secrets Hub
#### Acceso Remoto / Alero (RA1 - RA6)
*Requiere `-IncludeRemoteAccessChecks` y opcionalmente `-AleroUrl`*
- Seguridad del flujo de trabajo de invitación de proveedores
- Configuración de límites de tiempo de sesión
- Requisitos de autenticación biométrica/vinculación de dispositivos
- Integridad de los registros de auditoría de acceso remoto
- Aplicación de revisiones periódicas de acceso
- Aplicación de MFA para acceso remoto
#### Secretos de Kubernetes (K8S1 - K8S8)
*Requiere `-IncludeK8sChecks` y opcionalmente `-K8sNamespace`, `-ConjurApplianceUrl`*
- Verificación del modo de despliegue de Secrets Provider
- Validación del contexto de seguridad del pod
- Autenticación JWT de la cuenta de servicio
- Rotación de secretos de Kubernetes
- Configuración RBAC para secretos
- Permisos de secretos montados
- Salud del Conjur follower
- Registro de auditoría de Kubernetes
#### Pipeline DevSecOps (DSO1 - DSO6)
*Requiere `-IncludeDevSecOpsChecks`*
- Patrones de recuperación de secretos en CI/CD
- Detección de proliferación de secretos en pipelines
- Validación de uso de tokens de corta duración
- Registro de auditoría de pipelines
- Detección de secretos en artefactos de compilación
- Vinculación de identidad de pipeline
#### Privilege Cloud (PC1 - PC5)
*Requiere `-IncludePrivilegeCloudChecks` o `-PrivilegeCloudTenant` o `-IsPrivilegeCloud`*
- Salud del conector de Privilege Cloud
- Integración de Identity Security Platform
- Seguridad de la API de Privilege Cloud
- Validación de aislamiento del inquilino
- Redundancia del conector en la nube
#### CyberArk Identity (IDN1 - IDN6)
*Requiere `-IncludeIdentityChecks` o `-IdentityTenantUrl`*
- Integración SSO con PVWA
- Configuración de política MFA adaptativa
- Sincronización del ciclo de vida de identidad
- Puntuación de riesgo de sesión
- Integración de auditoría de identidad
- Políticas de catálogo de aplicaciones privilegiadas
#### Plugins Personalizados (PLG1 - PLG5)
*Requiere `-IncludePluginChecks`*
- Seguridad del conector PSM personalizado
- Riesgos de inyección de plugins CPM personalizados
- Detección de componentes no autorizados/desactualizados
- Validación de firma digital de plugins
- Permisos de archivos de scripts personalizados
#### Seguridad de Copias de Seguridad (BKP1 - BKP5)
*Requiere `-IncludeBackupSecurityChecks` y opcionalmente `-BackupPath`*
- Cifrado de copias de seguridad del Vault
- Permisos de archivos de copia de seguridad
- Cifrado en tránsito de copias de seguridad
- Prueba de restauración de copias de seguridad
- Política de retención de copias de seguridad
#### Integración HSM (HSM1 - HSM4)
*Requiere `-IncludeHSMChecks` y opcionalmente `-HSMProvider`*
- Conectividad y salud de HSM
- Configuración de encapsulamiento de claves HSM
- Aislamiento de particiones HSM
- Actualidad del firmware HSM
#### Inmersión Profunda en PTA (PTAD1 - PTAD6)
*Requiere `-IncludePTADeepDive`*
- Reglas de detección personalizadas de PTA
- Calidad del modelo de ML de PTA
- Fatiga de alertas de PTA (análisis de falsos positivos)
- Cobertura de reglas de detección de PTA
- Integración UEBA de PTA
- Acciones de respuesta automatizada de PTA
#### Integración de Terceros (TPI1 - TPI5)
*Requiere `-IncludeThirdPartyChecks` y opcionalmente `-ServiceNowUrl`, `-SIEMUrl`*
- Integración ITSM (ServiceNow)
- Libros de jugadas de respuesta automatizada SOAR
- Correlación de eventos PAM en SIEM
- Salud del reenviador de registros SIEM
- Salud de credenciales de integración
#### Higiene Operativa (OPS1 - OPS8)
*Requiere `-IncludeOperationalChecks`*
- Métricas de la cola de incorporación de cuentas
- Tasas de fallo de cambio de contraseña de CPM
- Relaciones de éxito/fallo de sesiones de PSM
- Acumulación de reconciliación de CPM
- Errores de conexión de plataforma
- Utilización y capacidad del Vault
- Cumplimiento de licencias
- Tiempo de actividad de componentes
#### Simulación de Rutas de Ataque (APS1 - APS6)
*Requiere `-IncludeAttackPathChecks`*
- Rutas de escalada de estación de trabajo a PAM
- Superficie de ataque de Pass-the-Hash
- Riesgos de relay NTLM
- Resiliencia de extracción de credenciales en caché
- Exposición a Kerberoasting
- Rutas de escalada de privilegios
#### Integridad de la Cadena de Suministro (SCI1 - SCI5)
*Requiere `-IncludeSupplyChainChecks`*
- Validación de hash de archivos de componentes
- Verificación de actualidad de parches
- Vulnerabilidades de bibliotecas de terceros
- Validación de firma digital
- Verificación de origen de componentes
#### Segmentación de Red (NSG1 - NSG5)
*Requiere `-IncludeNetworkSegmentationChecks`*
- Aislamiento de red del Vault
- Restricciones de comunicación de PSM al Vault
- Segmentación de PVWA a backend
- Monitoreo de tráfico Este-Oeste
- ACLs de red específicas de componentes
## Requisitos
### Requisitos de Software
| Componente | Versión | Notas |
|------------|---------|-------|
| PowerShell | 7.0+ | Se requiere PowerShell 7.x (Windows PowerShell 5.1 no compatible) |
| .NET Framework | 4.5+ | Requerido para operaciones TLS/SSL y de red |
| CyberArk PVWA | v12+ | API REST v12 o posterior para compatibilidad total |
### Requisitos de Acceso por Fase
| Fase | Requisito | Propósito |
|------|-----------|-----------|
| Fase 1 | Acceso de red a PVWA | Pruebas de caja negra, escaneo de puertos, análisis TLS |
| Fase 2 | Credenciales de la API de CyberArk | Auditorías de configuración, comprobaciones de políticas |
### Requisitos de Credenciales para Comprobaciones Autenticadas
Para la Fase 2 (Comprobaciones Autenticadas), necesita credenciales de CyberArk con uno de estos roles:
- **Administrador del Vault**: Acceso completo a todas las configuraciones y ajustes de seguridad
- **Auditor**: Acceso de solo lectura a configuraciones de auditoría (recomendado para evaluaciones de seguridad)
- **Propietarios de Safes**: Limitado a los safes que poseen (cobertura de auditoría parcial)
### Características de Windows Utilizadas
El script utiliza estas características de Windows/PowerShell (no requiere instalación):
| Característica | Utilizada Para |
|----------------|----------------|
| `System.Net.Sockets.TcpClient` | Escaneo de puertos, seguridad del puerto del Vault |
| `System.Net.Security.SslStream` | Enumeración de protocolos y cifrados TLS/SSL |
| `Invoke-WebRequest` / `Invoke-RestMethod` | Pruebas HTTP, llamadas API |
## Inicio Rápido```powershell
# 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
Ejecute comprobaciones de seguridad externas sin ninguna credencial:```powershell
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -UnauthenticatedOnly
### Auditoría Completa con Autenticación```powershell
# 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
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipPortScan
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipAuthenticatedChecks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipCVEChecks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -SkipSecretsChecks
-SkipMachineIdentity -SkipIGAChecks
-SkipCloudChecks
### Ejecutar SOLO Categorías de Verificación Específicas
Use los parámetros `-Only*` para ejecutar categorías de verificación específicas exclusivamente:```powershell
# 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
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com"
-AuthType LDAP -OutputPath "C:\Reports"
-ComplianceMapping -IncludeEPMChecks
-EPMUrl "https://epm.domain.com"
### Escenarios Comunes```powershell
# 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
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OPSECMode -UnauthenticatedOnly
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -Proxy "http://127.0.0.1:8080" -IgnoreCertificateErrors
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeTimingAttacks -UnauthenticatedOnly
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeJWTTests
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeWebSocketTests
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -IncludeWAFEvasion
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -RequestDelay 3 -Jitter 30 -RandomizeUserAgent
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -QuietMode -NoLogo -UnauthenticatedOnly
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com"
-OPSECMode -Proxy "http://127.0.0.1:8080"
-IncludeTimingAttacks -IncludeJWTTests
-IncludeWebSocketTests -IncludeWAFEvasion
-UnauthenticatedOnly
### Escenarios de Integración de Herramientas de CyberArk```powershell
# 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
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -OutputPath "C:\SecurityReports\CyberArk"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -UnauthenticatedOnly -QuietMode -NoLogo
-OutputPath "C:\Reports"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -ComplianceMapping -OutputPath "C:\ComplianceReports"
$auditResults = .\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP
$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
**Archivos de salida generados:**
Después de ejecutar una auditoría, encontrarás estos archivos en tu directorio de salida:```
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
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeSecretsHubChecks -SecretsHubUrl "https://secretshub.cyberark.cloud"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeRemoteAccessChecks -AleroUrl "https://alero.cyberark.cloud"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeK8sChecks -K8sNamespace "cyberark" -ConjurApplianceUrl "https://conjur.domain.com"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeDevSecOpsChecks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IsPrivilegeCloud -PrivilegeCloudTenant "my-tenant"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeIdentityChecks -IdentityTenantUrl "https://aab1234.id.cyberark.cloud"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeBackupSecurityChecks -BackupPath "D:\VaultBackups"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeHSMChecks -HSMProvider "Thales"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludePTADeepDive
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeThirdPartyChecks -ServiceNowUrl "https://company.servicenow.com" -SIEMUrl "https://splunk.domain.com"
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeOperationalChecks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeAttackPathChecks -IncludeADChecks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeSupplyChainChecks
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -AuthType LDAP ` -IncludeNetworkSegmentationChecks
.\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
## Parámetros
| Parámetro | Obligatorio | Predeterminado | Descripción |
|-----------|----------|---------|-------------|
| PVWA | Sí | - | URL del servidor PVWA (p. ej., https://pvwa.dominio.com) |
| AuthType | No | CyberArk | Método de autenticación: CyberArk, LDAP, RADIUS, SAML |
| OutputPath | No | Directorio actual | Directorio de salida del informe |
| Credential | No | Solicitar | PSCredential para autenticación |
| **Omitir Parámetros** | | | |
| SkipPortScan | No | False | Omitir exploración de puertos de red |
| SkipCVEChecks | No | False | Omitir pruebas de vulnerabilidades CVE específicas |
| SkipAPITests | No | False | Omitir pruebas de seguridad de API |
| SkipAuthenticatedChecks | No | False | Omitir todas las comprobaciones autenticadas de Fase 2 |
| SkipSecretsChecks | No | False | Omitir comprobaciones de Gestión de Secretos (SEC1-SEC14) |
| SkipMachineIdentity | No | False | Omitir comprobaciones de Identidad de Máquina (MID1-MID9) |
| SkipIGAChecks | No | False | Omitir comprobaciones de Gobernanza de Identidad (IGA1-IGA8) |
| SkipCloudChecks | No | False | Omitir comprobaciones de Seguridad en la Nube (CLD1-CLD6) |
| SkipDRChecks | No | False | Omitir comprobaciones de Recuperación ante Desastres (DR1-DR5) |
| SkipDefaultCredentialTests | No | False | Omitir pruebas de credenciales predeterminadas/débiles (BB3) |
| SkipSecretsHubChecks | No | False | Omitir comprobaciones de Secrets Hub (SH1-SH6) |
| SkipRemoteAccessChecks | No | False | Omitir comprobaciones de Acceso Remoto/Alero (RA1-RA6) |
| SkipK8sChecks | No | False | Omitir comprobaciones de Kubernetes (K8S1-K8S8) |
| SkipDevSecOpsChecks | No | False | Omitir comprobaciones de DevSecOps (DSO1-DSO6) |
| SkipPrivilegeCloudChecks | No | False | Omitir comprobaciones de Privilege Cloud (PC1-PC5) |
| SkipIdentityChecks | No | False | Omitir comprobaciones de CyberArk Identity (IDN1-IDN6) |
| SkipPluginChecks | No | False | Omitir comprobaciones de Complementos Personalizados (PLG1-PLG5) |
| SkipBackupSecurityChecks | No | False | Omitir comprobaciones de Seguridad de Copias de Seguridad (BKP1-BKP5) |
| SkipHSMChecks | No | False | Omitir comprobaciones de Integración HSM (HSM1-HSM4) |
| SkipPTADeepDive | No | False | Omitir comprobaciones de Análisis Profundo de PTA (PTAD1-PTAD6) |
| SkipThirdPartyChecks | No | False | Omitir comprobaciones de Integración de Terceros (TPI1-TPI5) |
| SkipOperationalChecks | No | False | Omitir comprobaciones de Higiene Operativa (OPS1-OPS8) |
| SkipAttackPathChecks | No | False | Omitir comprobaciones de Simulación de Rutas de Ataque (APS1-APS6) |
| SkipSupplyChainChecks | No | False | Omitir comprobaciones de Integridad de Cadena de Suministro (SCI1-SCI5) |
| SkipNetworkSegmentationChecks | No | False | Omitir comprobaciones de Segmentación de Red (NSG1-NSG5) |
| **Parámetros de Modo** | | | |
| UnauthenticatedOnly | No | False | Ejecutar solo la Fase 1 (sin necesidad de credenciales) |
| IncludeEPMChecks | No | False | Incluir comprobaciones de integración EPM |
| ComplianceMapping | No | False | Generar mapeo de marcos de cumplimiento |
| **Ejecución Selectiva** | | | |
| OnlyPortScan | No | False | Ejecutar SOLO comprobaciones de exploración de puertos |
| OnlyCVEChecks | No | False | Ejecutar SOLO comprobaciones de vulnerabilidades CVE |
| OnlyAuthenticatedChecks | No | False | Ejecutar SOLO comprobaciones autenticadas de API |
| OnlyNetworkChecks | No | False | Ejecutar SOLO comprobaciones de seguridad de red (TLS, puertos, DNS) |
| OnlyBlackboxChecks | No | False | Ejecutar SOLO comprobaciones de caja negra no autenticadas |
| **Parámetros de Herramientas CyberArk** | | | |
| IncludeADChecks | No | False | Habilitar comprobaciones de seguridad de Active Directory (inspirado en zBang) |
| IncludeConjurChecks | No | False | Habilitar comprobaciones de integración de Conjur/Secrets Manager |
| ConjurUrl | No | - | URL del servidor Conjur para comprobaciones de integración |
| DomainController | No | - | Controlador de dominio para consultas de seguridad de AD |
| **Parámetros de Red Team** | | | |
| OPSECMode / Stealth | No | False | Habilitar modo OPSEC/sigiloso con retrasos y menor ruido |
| Proxy | No | - | URL del proxy para enrutamiento de tráfico (p. ej., http://127.0.0.1:8080) |
| ProxyCredential | No | - | Credenciales para proxy autenticado |
| IgnoreCertificateErrors | No | False | Omitir validación de certificados SSL/TLS |
| RequestDelay | No | 0 | Retraso entre solicitudes en segundos (0-60) |
| Jitter | No | 0 | Porcentaje de jitter aleatorio (0-100) para variación de tiempo |
| UserAgent | No | - | Cadena User-Agent personalizada |
| RandomizeUserAgent | No | False | Rotar entre cadenas User-Agent comunes |
| IncludeTimingAttacks | No | False | Habilitar detección de vulnerabilidades basadas en tiempo |
| IncludeJWTTests | No | False | Habilitar pruebas de seguridad JWT/OAuth2 |
| IncludeWebSocketTests | No | False | Habilitar descubrimiento de endpoints WebSocket |
| IncludeWAFEvasion | No | False | Habilitar pruebas de evasión WAF/IDS |
| NoLogo | No | False | Suprimir visualización del banner |
| QuietMode | No | False | Reducir salida en consola (mensajes informativos suprimidos) |
| EnablePasswordSpraying | No | False | Habilitar spraying de contraseñas (requiere confirmación explícita) |
| **Parámetros de Rendimiento** | | | |
| ParallelExecution | No | False | Habilitar ejecución paralela para escaneos más rápidos |
| MaxThreads | No | 5 | Máximo de hilos concurrentes (1-20) |
| **Parámetros de EPM** | | | |
| EPMUrl | No | - | URL del servidor EPM para comprobaciones de integración EPM |
| **Parámetros de Postura de Seguridad** | | | |
| IncludeSecretsHubChecks | No | False | Habilitar comprobaciones de sincronización en la nube de Secrets Hub |
| SecretsHubUrl | No | - | URL de Secrets Hub para comprobaciones de integración |
| IncludeRemoteAccessChecks | No | False | Habilitar comprobaciones de Acceso Remoto/Alero |
| AleroUrl | No | - | URL de Alero para comprobaciones de acceso de proveedores |
| IncludeK8sChecks | No | False | Habilitar comprobaciones de secretos de Kubernetes/Contenedores |
| K8sNamespace | No | default | Espacio de nombres de Kubernetes para comprobaciones de secretos |
| ConjurApplianceUrl | No | - | URL del appliance Conjur para integración con K8s |
| IncludeDevSecOpsChecks | No | False | Habilitar comprobaciones de seguridad de pipeline DevSecOps |
| IncludePrivilegeCloudChecks | No | False | Habilitar comprobaciones específicas de Privilege Cloud/SaaS |
| IsPrivilegeCloud | No | False | Indicar que el objetivo es Privilege Cloud SaaS |
| PrivilegeCloudTenant | No | - | Identificador del tenant de Privilege Cloud |
| IncludeIdentityChecks | No | False | Habilitar comprobaciones de CyberArk Identity/Idaptive |
| IdentityTenantUrl | No | - | URL del tenant de CyberArk Identity |
| IncludePluginChecks | No | False | Habilitar comprobaciones de seguridad de complementos personalizados |
| IncludeBackupSecurityChecks | No | False | Habilitar comprobaciones de seguridad de copias de seguridad |
| BackupPath | No | - | Ruta a archivos de copia de seguridad del Vault para análisis |
| IncludeHSMChecks | No | False | Habilitar comprobaciones de integración HSM |
| HSMProvider | No | - | Tipo de proveedor HSM (Thales, nCipher, SafeNet, AWSCloudHSM, AzureHSM, Otro) |
| IncludePTADeepDive | No | False | Habilitar comprobaciones avanzadas de detección PTA |
| IncludeThirdPartyChecks | No | False | Habilitar comprobaciones de integración SIEM/ITSM/SOAR |
| ServiceNowUrl | No | - | URL de ServiceNow para comprobaciones ITSM |
| SIEMUrl | No | - | URL de SIEM para comprobaciones de correlación de eventos |
| IncludeOperationalChecks | No | False | Habilitar métricas de higiene operativa |
| IncludeAttackPathChecks | No | False | Habilitar comprobaciones de simulación de rutas de ataque |
| IncludeSupplyChainChecks | No | False | Habilitar comprobaciones de integridad de cadena de suministro |
| IncludeNetworkSegmentationChecks | No | False | Habilitar comprobaciones de segmentación de red |
| **Otros Parámetros** | | | |
| PortScanTimeout | No | 1000 | Tiempo de espera de conexión del escaneo de puertos (ms) |
| VerboseOutput | No | False | Habilitar registro detallado |
## Salida
El script genera informes completos en tres formatos, diseñados para apoyar la redacción de informes detallados de evaluación de seguridad:
### Formatos de Informe
#### 1. Informe HTML (Panel Interactivo)
Un informe HTML moderno e interactivo con:
- **Tabla de Contenidos**: Navegación rápida a todas las secciones del informe
- **Resumen Ejecutivo**: Clasificación de riesgo general, porcentaje de cumplimiento, métricas clave
- **Sección de Riesgos Clave**: Los 10 hallazgos críticos/altos con impacto empresarial
- **Matriz de Cumplimiento CIS Benchmark**: Estado de cumplimiento control por control
- **Tabla Detallada de Hallazgos**: Filas expandibles con evidencia completa y pasos de remediación
- Haga clic en cualquier hallazgo para revelar: evidencia, detalles técnicos, descripción del riesgo, impacto empresarial, puntuación CVSS, pasos de remediación y referencias
- **Prueba de Concepto (PoC)**: Evidencia de Solicitud/Respuesta para informes de pruebas de penetración (cuando esté disponible)
- **Hoja de Ruta de Remediación**: Cronograma priorizado (24h/1sem/30d/90d)
- **Análisis por Componente**: Hallazgos agrupados por componente de CyberArk (Vault, CPM, PSM, PVWA, PTA)
- **Comprobaciones Omitidas**: Requisitos de verificación manual con orientación de seguimiento
- **Apto para impresión**: Expande automáticamente todos los hallazgos al imprimir
#### 2. Informes CSV (7 Archivos Separados)
Genera múltiples archivos CSV para diferentes audiencias:
| Archivo | Propósito | Audiencia |
|------|---------|----------|
| `Executive_Summary.csv` | Métricas de alto nivel y resumen de riesgos | Liderazgo, Gerencia |
| `Full_Findings.csv` | Hallazgos completos con todos los campos (más de 20) | Analistas de Seguridad |
| `Failed_Findings.csv` | Solo comprobaciones fallidas, ordenadas por severidad | Equipos de Remediación |
| `Remediation_Tracker.csv` | Rastreador procesable con AsignadoA, Estado, FechaLímite | Operaciones de TI |
| `Skipped_Checks.csv` | Comprobaciones que requieren verificación manual | Auditores |
| `CIS_Compliance_Matrix.csv` | Estado de cumplimiento control por control | Oficiales de Cumplimiento |
| `Component_Summary.csv` | Hallazgos agrupados por componente | Propietarios de Componente |
#### 3. Informe JSON (Datos Estructurados)
Datos estructurados completos para análisis programático:```json
{
"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" }
}
Cada hallazgo ahora incluye información completa para la redacción de informes:
| Field | Descripción |
|---|---|
FindingID | Identificador único (p. ej., CA-20260116-A1B2C3D4) |
Category | Categoría de seguridad (p. ej., Configuración Segura, Autenticación) |
CISControl | Referencia de control del CIS Benchmark |
AffectedComponent | Componente de CyberArk (Vault, CPM, PSM, PVWA, PTA) |
Evidence | Evidencia técnica que respalda el hallazgo |
TechnicalDetails | Descripción técnica detallada |
RiskDescription | Explicación de por qué esto es un riesgo de seguridad |
BusinessImpact | Explicación del impacto a nivel de negocio |
CVSSScore | Rango estimado de puntuación CVSS |
RemediationSteps | Guía de remediación paso a paso |
ComplianceRefs | Referencias a marcos de cumplimiento |
References | Enlaces de documentación |
PoCRequest | Solicitud HTTP de prueba de concepto (cuando esté disponible) |
PoCResponse | Respuesta HTTP de prueba de concepto (cuando esté disponible) |
Los hallazgos se puntúan por severidad:
Clasificaciones de riesgo:
La salida está diseñada para ayudarte a redactar informes profesionales de evaluación de seguridad:
⚠️ ADVERTENCIA: Esta herramienta realiza pruebas de seguridad activas que pueden:
-EnablePasswordSprayingSiempre obtén la autorización adecuada antes de ejecutar este script.
Usa -OPSECMode para reducir la huella de detección durante operaciones de red team.
Error: File cannot be loaded because running scripts is disabled on this system
Solución:```powershell
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
Unblock-File -Path .\CyberArk-Security-Audit.ps1
#### Error de versión de PowerShell
**Error**: `This script requires PowerShell 7 or higher.`
**Solución**:```powershell
# 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
Solución:```powershell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -bor [Net.SecurityProtocolType]::Tls13
#### Errores de Validación de Certificados
**Error**: `The underlying connection was closed: Could not establish trust relationship`
**Solución**: Esto indica típicamente un problema de certificado (ej., certificado autofirmado) con el PVWA. El script capturará automáticamente esto como un hallazgo de seguridad y continuará con la evaluación para proporcionar una cobertura completa. El script incluye una omisión de validación de certificados para la continuidad operativa:```powershell
# 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
Soluciones:
-AuthType LDAP, -AuthType CyberArk, etc.)$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"
#### Tiempos de espera en escaneo de puertos
**Error**: Los escaneos de puertos están tardando demasiado o expiran
**Solución**:```powershell
# 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: No se pueden escribir los archivos de informe
Solución:```powershell
.\CyberArk-Security-Audit.ps1 -PVWA "https://pvwa.domain.com" -OutputPath "C:\Reports"
New-Item -ItemType Directory -Path "C:\Reports" -Force
### Obteniendo ayuda
Si encuentras problemas no cubiertos anteriormente:
1. Ejecuta con salida detallada: `-VerboseOutput`
2. Revisa el informe JSON generado para obtener información detallada del error
3. Revisa los registros de eventos de Windows para errores relacionados
4. Abre un issue en GitHub con los detalles del error y la información del entorno
## Referencias
### Documentación de CyberArk
- [Guía de endurecimiento de seguridad de CyberArk](https://docs.cyberark.com/)
- [Documentación de la API REST de CyberArk](https://docs.cyberark.com/Product-Doc/OnlineHelp/PAS/Latest/en/Content/WebServices/Implementing%20Privileged%20Account%20Security%20Web%20Services%20.htm)
### Herramientas de seguridad de código abierto de CyberArk
- [zBang](https://github.com/cyberark/zBang) - Herramienta de evaluación de riesgos para amenazas de cuentas privilegiadas (Shadow Admins, Kerberos, SPNs)
- [Conjur](https://github.com/cyberark/conjur) - Plataforma de gestión de secretos
- [ACLight](https://github.com/cyberark/ACLight) - Descubrimiento de Shadow Admin (parte de zBang)
- [Ansible Security Automation Collection](https://github.com/cyberark/ansible-security-automation-collection) - Integración de CyberArk con Ansible
## Licencia.
Esta herramienta se proporciona tal cual para fines de evaluación de seguridad. Úsala de manera responsable y ética.