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: