Ajout de la personnalisation X à DeepBlueHash

This commit is contained in:
moxi
2025-07-07 16:02:16 +02:00
parent 2eecc65698
commit 48a8d826e9
4 changed files with 152 additions and 173 deletions

206
README.md
View File

@ -1,163 +1,153 @@
# DeepBlueCLI
DeepBlueCLI - a PowerShell Module for Threat Hunting via Windows Event Logs
DeepBlueCLI - un module PowerShell pour la chasse aux menaces (Threat Hunting) via les journaux d'événements Windows.
Eric Conrad, Backshore Communications, LLC
https://sahelcyber.com
deepblue `at` backshore `dot` net
Des exemples de fichiers EVTX se trouvent dans le répertoire `.\evtx`.
Twitter: [@eric_conrad](https://twitter.com/eric_conrad)
**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.
http://ericconrad.com
## Table des Matières
- [Utilisation](#usage)
- [Journaux d'événements Windows traités](#windows-event-logs-processed)
- [Événements détectés](#detected-events)
- [Exemples](#examples)
- [Sortie](#output)
- [Configuration de la journalisation](#logging-setup)
- Voir le [README de DeepBlue.py](READMEs/README-DeepBlue.py.md) pour les informations sur DeepBlue.py
- Voir le [README de DeepBlueHash](READMEs/README-DeepBlueHash.md) pour les informations sur DeepBlueHash (mise en liste blanche via les journaux Sysmon)
Sample EVTX files are in the .\evtx directory
## Usage :
**Note** If your antivirus freaks out after downloading DeepBlueCLI: it's likely reacting to the included EVTX files in the .\evtx directory (which contain command-line logs of malicious attacks, among other artifacts). EVTX files are not harmful. You may need to configure your antivirus to ignore the DeepBlueCLI directory.
`.\DeepBlue.ps1 <nom_journal_evenements> <nom_fichier_evtx>`
## Table of Contents
- [Usage](#usage)
- [Windows Event Logs processed](#windows-event-logs-processed)
- [Detected events](#detected-events)
- [Examples](#examples)
- [Output](#output)
- [Logging setup](#logging-setup)
- See the [DeepBlue.py Readme](READMEs/README-DeepBlue.py.md) for information on DeepBlue.py
- See the [DeepBlueHash Readme](READMEs/README-DeepBlueHash.md) for information on DeepBlueHash (detective safelisting using Sysmon event logs)
Consultez le [README sur Set-ExecutionPolicy](READMEs/Set-ExecutionPolicy.md) si vous recevez une erreur "l'exécution de scripts est désactivée sur ce système".
## Usage:
`.\DeepBlue.ps1 <event log name> <evtx filename>`
See the [Set-ExecutionPolicy Readme](READMEs/Set-ExecutionPolicy.md) if you receive a 'running scripts is
disabled on this system' error.
### Process local Windows security event log (PowerShell must be run as Administrator):
### Traiter le journal de sécurité local de Windows (PowerShell doit être exécuté en tant qu'Administrateur) :
`.\DeepBlue.ps1`
or:
ou :
`.\DeepBlue.ps1 -log security`
### Process local Windows system event log:
### Traiter le journal système local de Windows :
`.\DeepBlue.ps1 -log system`
### Process evtx file:
### Traiter un fichier evtx :
`.\DeepBlue.ps1 .\evtx\new-user-security.evtx`
## Windows Event Logs processed
## Journaux d'événements Windows traités
- Windows Security
- Windows System
- Windows Application
- Windows PowerShell
- Sécurité Windows
- Système Windows
- Application Windows
- Windows PowerShell
- Sysmon
### Command Line Logs processed
### Journaux de ligne de commande traités
See [Logging setup](#logging-setup) section below for how to configure these logs
Voir la section [Configuration de la journalisation](#logging-setup) ci-dessous pour savoir comment configurer ces journaux.
- Windows Security event ID 4688
- Windows PowerShell event IDs 4103 and 4104
- Sysmon event ID 1
- Événement de sécurité Windows ID 4688
- Événements Windows PowerShell ID 4103 et 4104
- Événement Sysmon ID 1
## Detected events
## Événements détectés
* Suspicious account behavior
* User creation
* User added to local/global/universal groups
* Password guessing (multiple logon failures, one account)
* Password spraying via failed logon (multiple logon failures, multiple accounts)
* Password spraying via explicit credentials
* Bloodhound (admin privileges assigned to the same account with multiple Security IDs)
* Command line/Sysmon/PowerShell auditing
* Long command lines
* Regex searches
* Obfuscated commands
* PowerShell launched via WMIC or PsExec
* 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
* Compressed/Base64 encoded commands (with automatic decompression/decoding)
* Unsigned EXEs or DLLs
* Service auditing
* Suspicious service creation
* Service creation errors
* Stopping/starting the Windows Event Log service (potential event log manipulation)
* 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`
* EMET & Applocker Blocks
* Blocages EMET & Applocker
...et plus encore.
...and more
## Exemples
## Examples
| É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` |
|Event|Command|
|-----|-------|
|Event log manipulation|`.\DeepBlue.ps1 .\evtx\disablestop-eventlog.evtx`|
|Metasploit native target (security)|`.\DeepBlue.ps1 .\evtx\metasploit-psexec-native-target-security.evtx`|
|Metasploit native target (system)|`.\DeepBlue.ps1 .\evtx\metasploit-psexec-native-target-system.evtx`|
|Metasploit PowerShell target (security)|` .\DeepBlue.ps1 .\evtx\metasploit-psexec-powershell-target-security.evtx`|
|Metasploit PowerShell target (system)|` .\DeepBlue.ps1 .\evtx\metasploit-psexec-powershell-target-system.evtx`|
|Mimikatz `lsadump::sam`|`.\DeepBlue.ps1 .\evtx\mimikatz-privesc-hashdump.evtx`|
|New user creation|`.\DeepBlue.ps1 .\evtx\new-user-security.evtx`|
|Obfuscation (encoding)|`.\DeepBlue.ps1 .\evtx\Powershell-Invoke-Obfuscation-encoding-menu.evtx`|
|Obfuscation (string)|`.\DeepBlue.ps1 .\evtx\Powershell-Invoke-Obfuscation-string-menu.evtx`|
|Password guessing|`.\DeepBlue.ps1 .\evtx\smb-password-guessing-security.evtx`|
|Password spraying|`.\DeepBlue.ps1 .\evtx\password-spray.evtx`|
|PowerSploit (security)|`.\DeepBlue.ps1 .\evtx\powersploit-security.evtx`|
|PowerSploit (system)|`.\DeepBlue.ps1 .\evtx\powersploit-system.evtx`|
|PSAttack|`.\DeepBlue.ps1 .\evtx\psattack-security.evtx`|
|User added to administrator group|`.\DeepBlue.ps1 .\evtx\new-user-security.evtx`|
## Sortie
## Output
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.
DeepBlueCLI outputs in PowerShell objects, allowing a variety of output methods and types, including JSON, HTML, CSV, etc.
Par exemple :
For example:
| 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` |
|Output Type|Syntax|
|-----------|------|
|CSV|`.\DeepBlue.ps1 .\evtx\psattack-security.evtx \| ConvertTo-Csv`|
|Format list (default)|`.\DeepBlue.ps1 .\evtx\psattack-security.evtx \| Format-List`|
|Format table|`.\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
## Logging setup
### Événement de sécurité 4688 (Audit de la ligne de commande) :
### Security event 4688 (Command line auditing):
Activez l'audit de la ligne de commande Windows : https://support.microsoft.com/fr-fr/kb/3004375
Enable Windows command-line auditing: https://support.microsoft.com/en-us/kb/3004375
### Événement de sécurité 4625 (Échecs de connexion) :
### Security event 4625 (Failed logons):
Nécessite l'audit des échecs de connexion : https://technet.microsoft.com/fr-fr/library/cc976395.aspx
Requires auditing logon failures: https://technet.microsoft.com/en-us/library/cc976395.aspx
### PowerShell auditing (PowerShell 5.0):
### Audit PowerShell (PowerShell 5.0) :
DeepBlueCLI uses module logging (PowerShell event 4103) and script block logging (4104). It does not use transcription.
DeepBlueCLI utilise la journalisation des modules (événement PowerShell 4103) et la journalisation des blocs de script (4104). Il n'utilise pas la transcription.
See: https://www.fireeye.com/blog/threat-research/2016/02/greater_visibilityt.html
Voir : https://www.fireeye.com/blog/threat-research/2016/02/greater_visibilityt.html
To get the PowerShell commandline (and not just script block) on Windows 7 through Windows 8.1, add the following to \Windows\System32\WindowsPowerShell\v1.0\profile.ps1
```
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` :
```powershell
$LogCommandHealthEvent = $true
$LogCommandLifecycleEvent = $true
```
See the following for more information:
- https://logrhythm.com/blog/powershell-command-line-logging/
- http://hackerhurricane.blogspot.com/2014/11/i-powershell-logging-what-everyone.html
Thank you: [@heinzarelli](https://twitter.com/heinzarelli) and [@HackerHurricane](https://twitter.com/hackerhurricane)
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
Sysmon
Install Sysmon from Sysinternals: https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
Installez Sysmon depuis Sysinternals : https://docs.microsoft.com/fr-fr/sysinternals/downloads/sysmon
DeepBlue and DeepBlueHash currently use Sysmon events, 1, 6 and 7.
Log SHA256 hashes. Others are fine; DeepBlueHash will use SHA256.
DeepBlue et DeepBlueHash utilisent actuellement les événements Sysmon 1, 6 et 7.
Journalisez les hachages SHA256. Les autres sont acceptables ; DeepBlueHash utilisera SHA256.