Aller au contenu

Atomic Red Team

CommandeDescription
git clone https://github.com/redcanaryco/atomic-red-team.gitCloner le référentiel Atomic Red Team
cd atomic-red-teamAccédez au dépôt
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUserInstaller des modules PowerShell
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -ForceImporter le module PowerShell
Invoke-AtomicTest T1003.001 -ShowDetailsAfficher 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

CommandeDescription
Get-AtomicTechniqueLister 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 T1003Obtenir les détails pour une technique spécifique

Utilisation de Base

CommandeDescription
Invoke-AtomicTest T1566.001Pièce jointe de spearphishing
Invoke-AtomicTest T1566.002Lien de Spearphishing
Invoke-AtomicTest T1190Exploiter une Application Exposée Publiquement
Invoke-AtomicTest T1133Services à Distance Externes
Invoke-AtomicTest T1200Ajouts Matériels

Découverte des Tests

CommandeDescription
Invoke-AtomicTest T1059.001Exécution PowerShell
Invoke-AtomicTest T1059.003Windows Command Shell
Invoke-AtomicTest T1059.004Unix Shell
Invoke-AtomicTest T1059.006Exécution Python
Invoke-AtomicTest T1053.005Tâche/Job planifiée

Techniques MITRE ATT&CK

Accès Initial

CommandeDescription
Invoke-AtomicTest T1547.001Clés d’exécution du Registre
Invoke-AtomicTest T1053.005Tâche Programmée
Invoke-AtomicTest T1543.003Service Windows
Invoke-AtomicTest T1136.001Création de compte local
Invoke-AtomicTest T1098Manipulation de compte

Exécution

CommandeDescription
Invoke-AtomicTest T1548.002Contourner le Contrôle de compte d’utilisateur
Invoke-AtomicTest T1055Process Injection
Invoke-AtomicTest T1134Manipulation de Token d’Accès
Invoke-AtomicTest T1068Exploitation pour l’Escalade de Privilèges

Persistance

CommandeDescription
Invoke-AtomicTest T1027Fichiers ou Informations Obscurcis
Invoke-AtomicTest T1070.004Suppression de fichier
Invoke-AtomicTest T1562.001Désactiver ou Modifier des Outils
Invoke-AtomicTest T1218.010Regsvr32
Invoke-AtomicTest T1036Travestissement

Élévation de Privilèges

CommandeDescription
Invoke-AtomicTest T1003.001Dump mémoire LSASS
Invoke-AtomicTest T1003.002Gestionnaire de comptes de sécurité
Invoke-AtomicTest T1003.003NTDS.dit
Invoke-AtomicTest T1110.001Password Spraying
Invoke-AtomicTest T1555.003Identifiants depuis les navigateurs Web

Évasion de Défense

CommandeDescription
Invoke-AtomicTest T1087.001Découverte de compte local
Invoke-AtomicTest T1087.002Découverte de compte de domaine
Invoke-AtomicTest T1018Découverte de système distant
Invoke-AtomicTest T1083Découverte de fichiers et de répertoires
Invoke-AtomicTest T1057Découverte de Processus

Accès aux Identifiants

CommandeDescription
Invoke-AtomicTest T1021.001Protocole de bureau à distance (RDP)
Invoke-AtomicTest T1021.002Partages administratifs SMB/Windows
Invoke-AtomicTest T1021.003Distributed Component Object Model
Invoke-AtomicTest T1021.006Windows Remote Management
Invoke-AtomicTest T1550.002Pass the Hash

Découverte

CommandeDescription
Invoke-AtomicTest T1005Données du système local
Invoke-AtomicTest T1039Données du Network Shared Drive
Invoke-AtomicTest T1113Capture d’écran
Invoke-AtomicTest T1123Capture Audio
Invoke-AtomicTest T1115Données du Presse-papiers

Mouvement Latéral

CommandeDescription
Invoke-AtomicTest T1071.001Protocoles Web
Invoke-AtomicTest T1071.004DNS
Invoke-AtomicTest T1090.003Proxy multi-sauts
Invoke-AtomicTest T1573.002Cryptographie Asymétrique

Collection

CommandeDescription
Invoke-AtomicTest T1041Exfiltration sur canal C2
Invoke-AtomicTest T1048.003Exfiltration sur Protocole Non-C2 Non Chiffré/Obfusqué
Invoke-AtomicTest T1567.002Exfiltration vers Cloud Storage

Commande et Contrôle

CommandeDescription
Invoke-AtomicTest T1485Destruction de Données
Invoke-AtomicTest T1486Données Chiffrées pour Impact
Invoke-AtomicTest T1490Inhiber System Recovery
Invoke-AtomicTest T1498Déni de service réseau

Exfiltration

CommandeDescription
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

CommandeDescription
Invoke-AtomicTest T1003.001,T1003.002,T1003.003Exécuter plusieurs tests
`Get-AtomicTechnique \ForEach-Object {Invoke-AtomicTest $_.Technique}`

Utilisation Avancée

Paramètres Personnalisés

CommandeDescription
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 60Dé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

CommandeDescription
Invoke-AtomicTest -AtomicsFolder "C:\CustomAtomics" T9999.001Exécuter un test personnalisé

Reporting and Analysis

CommandeDescription
Get-AtomicTestResultsObtenir les résultats d’exécution
Export-AtomicTestResults -Format CSV -Path "results.csv"Exporter les résultats vers CSV
Get-AtomicCoverageAfficher la couverture MITRE ATT&CK
Show-AtomicTestMatrixAfficher 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

CommandeDescription
Start-AtomicContinuousTesting -Techniques @("T1003.001","T1087.001") -Interval 3600Exé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

CommandeDescription
Get-Help Invoke-AtomicTest -FullObtenir une aide détaillée
Test-AtomicTestInputArgs T1003.001Valider les arguments d’entrée
Get-AtomicTestPrerequisites T1003.001Vérifier les prérequis
Repair-AtomicTest T1003.001Essayer 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