Reviewed-on: #1
DeepBlueCLI
DeepBlueCLI - un module PowerShell pour la chasse aux menaces (Threat Hunting) via les journaux d'événements Windows.
Des exemples de fichiers EVTX se trouvent dans le répertoire .\evtx
.
Note : Si votre antivirus s'affole après avoir téléchargé DeepBlueCLI, il réagit probablement aux fichiers EVTX inclus dans le répertoire .\evtx
(qui contiennent des journaux de lignes de commande d'attaques malveillantes, entre autres artefacts). Les fichiers EVTX sont inoffensifs. Vous devrez peut-être configurer votre antivirus pour qu'il ignore le répertoire de DeepBlueCLI.
Table des Matières
- Utilisation
- Journaux d'événements Windows traités
- Événements détectés
- Exemples
- Sortie
- Configuration de la journalisation
- Voir le README de DeepBlue.py pour les informations sur DeepBlue.py
- Voir le README de DeepBlueHash pour les informations sur DeepBlueHash (mise en liste blanche via les journaux Sysmon)
Usage :
.\DeepBlue.ps1 <nom_journal_evenements> <nom_fichier_evtx>
Consultez le README sur Set-ExecutionPolicy si vous recevez une erreur "l'exécution de scripts est désactivée sur ce système".
Traiter le journal de sécurité local de Windows (PowerShell doit être exécuté en tant qu'Administrateur) :
.\DeepBlue.ps1
ou :
.\DeepBlue.ps1 -log security
Traiter le journal système local de Windows :
.\DeepBlue.ps1 -log system
Traiter un fichier evtx :
.\DeepBlue.ps1 .\evtx\new-user-security.evtx
Journaux d'événements Windows traités
- Sécurité Windows
- Système Windows
- Application Windows
- Windows PowerShell
- Sysmon
Journaux de ligne de commande traités
Voir la section Configuration de la journalisation ci-dessous pour savoir comment configurer ces journaux.
- Événement de sécurité Windows ID 4688
- Événements Windows PowerShell ID 4103 et 4104
- Événement Sysmon ID 1
Événements détectés
- Comportement de compte suspect
- Création d'utilisateur
- Utilisateur ajouté à des groupes locaux/globaux/universels
- Tentatives de deviner le mot de passe (plusieurs échecs de connexion, un seul compte)
- Attaque par pulvérisation de mots de passe via échec de connexion (plusieurs échecs, plusieurs comptes)
- Attaque par pulvérisation de mots de passe via informations d'identification explicites
- Bloodhound (privilèges d'administrateur attribués au même compte avec plusieurs ID de sécurité)
- Audit de la ligne de commande/Sysmon/PowerShell
- Lignes de commande longues
- Recherches par expressions régulières (Regex)
- Commandes obfusquées
- PowerShell lancé via WMIC ou PsExec
- PowerShell Net.WebClient Downloadstring
- Commandes compressées/encodées en Base64 (avec décompression/décodage automatique)
- EXE ou DLL non signés
- Audit des services
- Création de service suspecte
- Erreurs de création de service
- Arrêt/démarrage du service Journal d'événements Windows (manipulation potentielle des journaux)
- Mimikatz
lsadump::sam
- Blocages EMET & Applocker
...et plus encore.
Exemples
Événement | Commande |
---|---|
Manipulation du journal d'événements | .\DeepBlue.ps1 .\evtx\disablestop-eventlog.evtx |
Cible native Metasploit (sécurité) | .\DeepBlue.ps1 .\evtx\metasploit-psexec-native-target-security.evtx |
Cible native Metasploit (système) | .\DeepBlue.ps1 .\evtx\metasploit-psexec-native-target-system.evtx |
Cible PowerShell Metasploit (sécurité) | .\DeepBlue.ps1 .\evtx\metasploit-psexec-powershell-target-security.evtx |
Cible PowerShell Metasploit (système) | .\DeepBlue.ps1 .\evtx\metasploit-psexec-powershell-target-system.evtx |
Mimikatz lsadump::sam |
.\DeepBlue.ps1 .\evtx\mimikatz-privesc-hashdump.evtx |
Création d'un nouvel utilisateur | .\DeepBlue.ps1 .\evtx\new-user-security.evtx |
Obfuscation (encodage) | .\DeepBlue.ps1 .\evtx\Powershell-Invoke-Obfuscation-encoding-menu.evtx |
Obfuscation (chaîne de caractères) | .\DeepBlue.ps1 .\evtx\Powershell-Invoke-Obfuscation-string-menu.evtx |
Tentatives de deviner le mot de passe | .\DeepBlue.ps1 .\evtx\smb-password-guessing-security.evtx |
Attaque par pulvérisation de mots de passe | .\DeepBlue.ps1 .\evtx\password-spray.evtx |
PowerSploit (sécurité) | .\DeepBlue.ps1 .\evtx\powersploit-security.evtx |
PowerSploit (système) | .\DeepBlue.ps1 .\evtx\powersploit-system.evtx |
PSAttack | .\DeepBlue.ps1 .\evtx\psattack-security.evtx |
Utilisateur ajouté au groupe administrateur | .\DeepBlue.ps1 .\evtx\new-user-security.evtx |
Sortie
DeepBlueCLI génère des objets PowerShell, permettant une variété de méthodes et de types de sortie, y compris JSON, HTML, CSV, etc.
Par exemple :
Type de Sortie | Syntaxe |
---|---|
CSV | .\DeepBlue.ps1 .\evtx\psattack-security.evtx | ConvertTo-Csv |
Format liste (défaut) | .\DeepBlue.ps1 .\evtx\psattack-security.evtx | Format-List |
Format tableau | .\DeepBlue.ps1 .\evtx\psattack-security.evtx | Format-Table |
GridView | .\DeepBlue.ps1 .\evtx\psattack-security.evtx | Out-GridView |
HTML | .\DeepBlue.ps1 .\evtx\psattack-security.evtx | ConvertTo-Html |
JSON | .\DeepBlue.ps1 .\evtx\psattack-security.evtx | ConvertTo-Json |
XML | .\DeepBlue.ps1 .\evtx\psattack-security.evtx | ConvertTo-Xml |
Configuration de la journalisation
Événement de sécurité 4688 (Audit de la ligne de commande) :
Activez l'audit de la ligne de commande Windows : https://support.microsoft.com/fr-fr/kb/3004375
Événement de sécurité 4625 (Échecs de connexion) :
Nécessite l'audit des échecs de connexion : https://technet.microsoft.com/fr-fr/library/cc976395.aspx
Audit PowerShell (PowerShell 5.0) :
DeepBlueCLI utilise la journalisation des modules (événement PowerShell 4103) et la journalisation des blocs de script (4104). Il n'utilise pas la transcription.
Voir : https://www.fireeye.com/blog/threat-research/2016/02/greater_visibilityt.html
Pour obtenir la ligne de commande PowerShell (et pas seulement le bloc de script) sur Windows 7 jusqu'à Windows 8.1, ajoutez ce qui suit à \Windows\System32\WindowsPowerShell\v1.0\profile.ps1
:
$LogCommandHealthEvent = $true
$LogCommandLifecycleEvent = $true
Consultez les liens suivants pour plus d'informations :
- https://logrhythm.com/blog/powershell-command-line-logging/
- http://hackerhurricane.blogspot.com/2014/11/i-powershell-logging-what-everyone.html
Sysmon
Installez Sysmon depuis Sysinternals : https://docs.microsoft.com/fr-fr/sysinternals/downloads/sysmon
DeepBlue et DeepBlueHash utilisent actuellement les événements Sysmon 1, 6 et 7.
Journalisez les hachages SHA256. Les autres sont acceptables ; DeepBlueHash utilisera SHA256.