Audit de sécurité CyberArk
Un outil complet d'évaluation de sécurité basé sur PowerShell pour les plateformes CyberArk Privileged Access Management (PAM). Conçu pour les professionnels de la sécurité offensive, les red teamers et les testeurs d'intrusion.
Cet outil est conçu pour être exécuté À DISTANCE contre les serveurs CyberArk via le réseau. Il n'est pas nécessaire de l'exécuter sur les serveurs CyberArk eux-mêmes. Toutes les vérifications sont effectuées sur le réseau à l'aide de l'API PVWA, du scan de ports et des tests web.
Cet outil effectue des vérifications de sécurité incluant la conformité CIS Benchmark, les meilleures pratiques des fournisseurs, les tests en boîte noire, l'analyse de sécurité réseau, les vérifications de vulnérabilités CVE spécifiques (y compris les CVE 2025), la sécurité des identités machine, la gestion des secrets, l'évaluation des privilèges permanents zéro (ZSP), la gouvernance des identités et des contrôles de sécurité renforcés.
| Fonctionnalité | Description |
|---|---|
| Audit à distance | Toutes les vérifications effectuées à distance via le réseau - pas besoin d'installation sur les serveurs CyberArk |
| Mode OPSEC | Scan furtif avec délais configurables, gigue et empreinte de détection réduite |
| Support proxy | Acheminement de tout le trafic via Burp Suite, ZAP ou d'autres proxies d'interception |
| Attaques temporelles | Détection de l'énumération d'utilisateurs et d'injection aveugle via l'analyse des temps de réponse |
| Sécurité JWT | Test de contournement d'algorithme none, confusion de clés, algorithmes de signature faibles |
| Test WebSocket | Découverte des points de terminaison en temps réel et test de détournement WebSocket intersite (Cross-Site WebSocket Hijacking) |
| Contournement WAF | Test de contournements par encodage, pollution de paramètres HTTP, contrebande de requêtes |
| Rotation d'User-Agent | Chaînes User-Agent aléatoires ou personnalisées pour éviter l'empreinte numérique |
| Exécution parallèle | Exécution parallèle facultative pour des scans plus rapides |
| Mode silencieux | Sortie console réduite pour l'automatisation et les scripts |
| Sécurité des identifiants | Gestion sécurisée avec nettoyage mémoire après utilisation |
| Rapports complets | Tableau de bord HTML, 7 fichiers CSV et JSON structuré pour une utilisation programmatique |
| Preuve de concept | Preuve de concept requête/réponse incluse dans le rapport HTML pour les tests d'intrusion |
| Exécution sélective | Exécution uniquement de catégories de vérifications spécifiques (scan de ports, CVE, boîte noire, authentifié, réseau) |
| Réduction des faux positifs | Empreinte de base pour éliminer les faux positifs globaux des SPA |
| Test d'authentification d'identité | Vérifications de divulgation d'informations et d'énumération via StartAuthentication/ForgotUsername |
| Configuration requise | Minimum | Recommandé |
|---|---|---|
| PowerShell | 7.0 | 7.x (dernière version) |
| .NET Framework | 4.5 | 4.8+ |
| Système d'exploitation | Windows 10/Server 2016 | Windows 11/Server 2022 |
| Mémoire | 2 Go disponibles | 4 Go disponibles |
| Phase d'audit | Accès requis |
|---|---|
| Phase 1 (non authentifié) | Accès réseau à PVWA (HTTPS/443) |
| Phase 2 (authentifié) | Identifiants API CyberArk avec rôle Administrateur du coffre ou Auditeur |
Ce script est totalement autonome et utilise uniquement les capacités natives de PowerShell et du .NET Framework. Aucun outil ou module supplémentaire n'a besoin d'être installé.
Le script exploite :
System.Net.Sockets.TcpClient, System.Net.Security.SslStream pour l'analyse réseau et TLSInvoke-WebRequest, Invoke-RestMethod pour les tests HTTP/APISystem.Security.Cryptography.X509Certificates pour l'analyse des certificatsOuvrez PowerShell et exécutez :```powershell $PSVersionTable.PSVersion
Assurez-vous que la version majeure est **7 ou supérieure**. Sinon, [téléchargez PowerShell 7.x](https://github.com/PowerShell/PowerShell/releases).
> **Remarque :** Ce script nécessite PowerShell 7.0 ou ultérieur. Windows PowerShell 5.1 n'est pas pris en charge.
### Étape 2 : Télécharger le script
**Option A : Cloner le dépôt (recommandé)**```powershell
git clone https://github.com/Logisek/HuntCyberArk.git
cd HuntCyberArk
Option B:Télécharger directement```powershell
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Logisek/HuntCyberArk/main/CyberArk-Security-Audit.ps1" -OutFile "CyberArk-Security-Audit.ps1"
### Étape 3 : Définir la politique d'exécution (si nécessaire)
Si vous rencontrez des erreurs d'exécution de script, autorisez temporairement l'exécution de script :```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
Pour un test TLS approprié, assurez-vous que votre session PowerShell prend en charge TLS 1.2+:```powershell
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
### Étape 5 : Tester la connectivité
Vérifiez que vous pouvez atteindre le serveur 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 offre des performances améliorées et un meilleur support TLS :```powershell
winget install Microsoft.PowerShell
## Phases d'audit et exigences d'authentification
L'audit se déroule en deux phases, chacune avec des exigences d'authentification différentes :