| Commande | Description |
|---|
git clone https://github.com/redcanaryco/atomic-red-team.git | Cloner le référentiel Atomic Red Team |
cd atomic-red-team | Accédez au dépôt |
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUser | Installer des modules PowerShell |
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force | Importer le module PowerShell |
Invoke-AtomicTest T1003.001 -ShowDetails | Afficher les détails du test |
Atomic Red Team est une bibliothèque de tests mappés sur le framework MITRE ATT&CK que les équipes de sécurité peuvent utiliser pour tester rapidement, de manière portable et reproductible leurs environnements.
Installation & Configuration
| Commande | Description |
|---|
Get-AtomicTechnique | Lister toutes les techniques disponibles |
Get-AtomicTechnique -Path "C:\AtomicRedTeam\atomics" | Lister les techniques du chemin spécifique |
| `Get-AtomicTechnique \ | Where-Object {$_.DisplayName -match “credential”}` |
Get-AtomicTechnique T1003 | Obtenir les détails pour une technique spécifique |
Utilisation de Base
| Commande | Description |
|---|
Invoke-AtomicTest T1566.001 | Pièce jointe de spearphishing |
Invoke-AtomicTest T1566.002 | Lien de Spearphishing |
Invoke-AtomicTest T1190 | Exploiter une Application Exposée Publiquement |
Invoke-AtomicTest T1133 | Services à Distance Externes |
Invoke-AtomicTest T1200 | Ajouts Matériels |
Découverte des Tests
| Commande | Description |
|---|
Invoke-AtomicTest T1059.001 | Exécution PowerShell |
Invoke-AtomicTest T1059.003 | Windows Command Shell |
Invoke-AtomicTest T1059.004 | Unix Shell |
Invoke-AtomicTest T1059.006 | Exécution Python |
Invoke-AtomicTest T1053.005 | Tâche/Job planifiée |
Techniques MITRE ATT&CK
Accès Initial
| Commande | Description |
|---|
Invoke-AtomicTest T1547.001 | Clés d’exécution du Registre |
Invoke-AtomicTest T1053.005 | Tâche Programmée |
Invoke-AtomicTest T1543.003 | Service Windows |
Invoke-AtomicTest T1136.001 | Création de compte local |
Invoke-AtomicTest T1098 | Manipulation de compte |
Exécution
| Commande | Description |
|---|
Invoke-AtomicTest T1548.002 | Contourner le Contrôle de compte d’utilisateur |
Invoke-AtomicTest T1055 | Process Injection |
Invoke-AtomicTest T1134 | Manipulation de Token d’Accès |
Invoke-AtomicTest T1068 | Exploitation pour l’Escalade de Privilèges |
Persistance
| Commande | Description |
|---|
Invoke-AtomicTest T1027 | Fichiers ou Informations Obscurcis |
Invoke-AtomicTest T1070.004 | Suppression de fichier |
Invoke-AtomicTest T1562.001 | Désactiver ou Modifier des Outils |
Invoke-AtomicTest T1218.010 | Regsvr32 |
Invoke-AtomicTest T1036 | Travestissement |
Élévation de Privilèges
| Commande | Description |
|---|
Invoke-AtomicTest T1003.001 | Dump mémoire LSASS |
Invoke-AtomicTest T1003.002 | Gestionnaire de comptes de sécurité |
Invoke-AtomicTest T1003.003 | NTDS.dit |
Invoke-AtomicTest T1110.001 | Password Spraying |
Invoke-AtomicTest T1555.003 | Identifiants depuis les navigateurs Web |
Évasion de Défense
| Commande | Description |
|---|
Invoke-AtomicTest T1087.001 | Découverte de compte local |
Invoke-AtomicTest T1087.002 | Découverte de compte de domaine |
Invoke-AtomicTest T1018 | Découverte de système distant |
Invoke-AtomicTest T1083 | Découverte de fichiers et de répertoires |
Invoke-AtomicTest T1057 | Découverte de Processus |
Accès aux Identifiants
| Commande | Description |
|---|
Invoke-AtomicTest T1021.001 | Protocole de bureau à distance (RDP) |
Invoke-AtomicTest T1021.002 | Partages administratifs SMB/Windows |
Invoke-AtomicTest T1021.003 | Distributed Component Object Model |
Invoke-AtomicTest T1021.006 | Windows Remote Management |
Invoke-AtomicTest T1550.002 | Pass the Hash |
Découverte
| Commande | Description |
|---|
Invoke-AtomicTest T1005 | Données du système local |
Invoke-AtomicTest T1039 | Données du Network Shared Drive |
Invoke-AtomicTest T1113 | Capture d’écran |
Invoke-AtomicTest T1123 | Capture Audio |
Invoke-AtomicTest T1115 | Données du Presse-papiers |
Mouvement Latéral
| Commande | Description |
|---|
Invoke-AtomicTest T1071.001 | Protocoles Web |
Invoke-AtomicTest T1071.004 | DNS |
Invoke-AtomicTest T1090.003 | Proxy multi-sauts |
Invoke-AtomicTest T1573.002 | Cryptographie Asymétrique |
Collection
| Commande | Description |
|---|
Invoke-AtomicTest T1041 | Exfiltration sur canal C2 |
Invoke-AtomicTest T1048.003 | Exfiltration sur Protocole Non-C2 Non Chiffré/Obfusqué |
Invoke-AtomicTest T1567.002 | Exfiltration vers Cloud Storage |
Commande et Contrôle
| Commande | Description |
|---|
Invoke-AtomicTest T1485 | Destruction de Données |
Invoke-AtomicTest T1486 | Données Chiffrées pour Impact |
Invoke-AtomicTest T1490 | Inhiber System Recovery |
Invoke-AtomicTest T1498 | Déni de service réseau |
Exfiltration
| Commande | Description |
|---|
Invoke-AtomicTest T1003.001 -InputArgs @{"output_file"="C:\temp\lsass.dmp"} | Transmettre des paramètres personnalisés |
Invoke-AtomicTest T1087.001 -InputArgs @{"username"="testuser"} | Spécifier le paramètre username |
Impact
| Commande | Description |
|---|
Invoke-AtomicTest T1003.001,T1003.002,T1003.003 | Exécuter plusieurs tests |
| `Get-AtomicTechnique \ | ForEach-Object {Invoke-AtomicTest $_.Technique}` |
Utilisation Avancée
Paramètres Personnalisés
| Commande | Description |
|---|
Invoke-AtomicTest T1003.001 -LoggingModule "Attire-ExecutionLogger" | Activer la journalisation |
Invoke-AtomicTest T1003.001 -ExecutionLogPath "C:\logs\atomic.log" | Spécifier le chemin du journal |
Invoke-AtomicTest T1003.001 -TimeoutSeconds 60 | Définir le délai d’exécution |
Exécution par Lots```yaml
Atomic Red Team Configuration
atomics_folder: “C:\AtomicRedTeam\atomics”
log_folder: “C:\AtomicRedTeam\logs”
default_timeout: 120
check_prereqs: true
get_prereqs: false
cleanup: true
### Environment Variables
| Variable | Description |
|---------|-------------|
| `$env:ATOMIC_RED_TEAM_PATH` | Chemin vers le répertoire Atomic Red Team |
| `$env:ATOMIC_LOG_PATH` | Chemin pour les journaux d'exécution |
| `$env:ATOMIC_TIMEOUT` | Délai d'attente par défaut pour les tests |
## Linux/macOS Usage
### Installation
| Commande | Description |
|---------|-------------|
| `git clone https://github.com/redcanaryco/atomic-red-team.git` | Cloner le repository |
| `cd atomic-red-team` | Accédez au répertoire |
| `chmod +x atomics/*/src/*` | Rendre les scripts exécutables |
### Execution
| Commande | Description |
|---------|-------------|
| `bash atomics/T1059.004/src/T1059.004.sh` | Exécuter un test basé sur bash |
| `python3 atomics/T1059.006/src/T1059.006.py` | Exécuter un test basé sur Python |
| `./atomics/T1083/src/T1083-1.sh` | Exécuter la variante de test spécifique |
## Integration with SIEM
### Splunk Integration
| Commande | Description |
|---------|-------------|
| `Invoke-AtomicTest T1003.001 -LoggingModule "Splunk"` | Journaliser vers Splunk |
| `index=atomic_red_team technique=T1003.001` | Rechercher Splunk pour les résultats de test |
### ELK Stack Integration
| Commande | Description |
|---------|-------------|
| `Invoke-AtomicTest T1003.001 -LoggingModule "Elasticsearch"` | Journaliser vers Elasticsearch |
## Custom Test Development
### Test Structure
```yaml
attack_technique: T1003.001
display_name: "LSASS Memory"
atomic_tests:
- name: Dump LSASS.exe Memory using ProcDump
auto_generated_guid: 0be2230c-9ab3-4ac2-8826-3199b9a0ebf8
description: |
The memory of lsass.exe is often dumped for offline credential theft attacks.
supported_platforms:
- windows
input_arguments:
output_file:
description: Path where resulting dump should be placed
type: Path
default: C:\Windows\Temp\lsass_dump.dmp
executor:
command: |
procdump.exe -accepteula -ma lsass.exe #{output_file}
name: command_prompt
Custom Test Execution
| Commande | Description |
|---|
Invoke-AtomicTest -AtomicsFolder "C:\CustomAtomics" T9999.001 | Exécuter un test personnalisé |
Reporting and Analysis
| Commande | Description |
|---|
Get-AtomicTestResults | Obtenir les résultats d’exécution |
Export-AtomicTestResults -Format CSV -Path "results.csv" | Exporter les résultats vers CSV |
Get-AtomicCoverage | Afficher la couverture MITRE ATT&CK |
Show-AtomicTestMatrix | Afficher la matrice de test |
Automation and Scheduling
PowerShell Scheduled Jobs
$trigger = New-JobTrigger -Daily -At "2:00 AM"
Register-ScheduledJob -Name "AtomicRedTeam" -Trigger $trigger -ScriptBlock {
Import-Module Invoke-AtomicRedTeam
Invoke-AtomicTest T1003.001 -Cleanup
}
Continuous Testing
| Commande | Description |
|---|
Start-AtomicContinuousTesting -Techniques @("T1003.001","T1087.001") -Interval 3600 | Exécuter des tests toutes les heures |
Security Considerations
- Run tests in isolated environments only
- Ensure proper cleanup after test execution
- Monitor for false positives in security tools
- Document all test executions for compliance
- Use least privilege principles
- Implement proper access controls
- Regular backup before testing
- Coordinate with security operations center
Best Practices
- Start with low-impact techniques
- Always run prerequisite checks first
- Use cleanup functions after testing
- Document test results and observations
- Coordinate with blue team activities
- Test in non-production environments first
- Implement proper logging and monitoring
- Regular updates to test library
- Validate detection capabilities
- Create custom tests for specific environments
Troubleshooting
| Commande | Description |
|---|
Get-Help Invoke-AtomicTest -Full | Obtenir une aide détaillée |
Test-AtomicTestInputArgs T1003.001 | Valider les arguments d’entrée |
Get-AtomicTestPrerequisites T1003.001 | Vérifier les prérequis |
Repair-AtomicTest T1003.001 | Essayer de résoudre les problèmes de test |
Common Issues
- Antivirus interference with test execution
- Missing prerequisites or dependencies
- Insufficient privileges for test execution
- Network connectivity issues for external resources
- Path-related issues on different operating systems