Équipe rouge atomique
Copier toutes les commandes
Générer PDF
Atomic Red Team est une bibliothèque d'essais cartographiée au cadre MITRE ATT&CK que les équipes de sécurité peuvent utiliser pour tester rapidement, de façon portable et reproductible leur environnement.
Installation et configuration
Command |
Description |
git clone https://github.com/redcanaryco/atomic-red-team.git |
Clone Atomic Red Team repository |
cd atomic-red-team |
Navigate to repository |
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUser |
Install PowerShell modules |
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force |
Import PowerShell module |
Invoke-AtomicTest T1003.001 -ShowDetails |
Show test details |
Utilisation de base
Command |
Description |
Invoke-AtomicTest T1003.001 |
Execute specific atomic test |
Invoke-AtomicTest T1003.001 -TestNumbers 1 |
Execute specific test number |
Invoke-AtomicTest T1003.001 -ShowDetails |
Show test details without executing |
Invoke-AtomicTest T1003.001 -CheckPrereqs |
Check prerequisites |
Invoke-AtomicTest T1003.001 -GetPrereqs |
Install prerequisites |
Invoke-AtomicTest T1003.001 -Cleanup |
Run cleanup for test |
Découverte d'essai
Command |
Description |
Get-AtomicTechnique |
List all available techniques |
Get-AtomicTechnique -Path "C:\AtomicRedTeam\atomics" |
List techniques from specific path |
Get-AtomicTechnique \| Where-Object {$_.DisplayName -match "credential"} |
Search techniques by keyword |
Get-AtomicTechnique T1003 |
Get details for specific technique |
MITRE ATT&CK Techniques
Accès initial
Command |
Description |
Invoke-AtomicTest T1566.001 |
Spearphishing Attachment |
Invoke-AtomicTest T1566.002 |
Spearphishing Link |
Invoke-AtomicTest T1190 |
Exploit Public-Facing Application |
Invoke-AtomicTest T1133 |
External Remote Services |
Invoke-AtomicTest T1200 |
Hardware Additions |
Exécution
Command |
Description |
Invoke-AtomicTest T1059.001 |
PowerShell execution |
Invoke-AtomicTest T1059.003 |
Windows Command Shell |
Invoke-AtomicTest T1059.004 |
Unix Shell |
Invoke-AtomicTest T1059.006 |
Python execution |
Invoke-AtomicTest T1053.005 |
Scheduled Task/Job |
Persistance
Command |
Description |
Invoke-AtomicTest T1547.001 |
Registry Run Keys |
Invoke-AtomicTest T1053.005 |
Scheduled Task |
Invoke-AtomicTest T1543.003 |
Windows Service |
Invoke-AtomicTest T1136.001 |
Local Account creation |
Invoke-AtomicTest T1098 |
Account Manipulation |
Escalade des privilèges
Command |
Description |
Invoke-AtomicTest T1548.002 |
Bypass User Account Control |
Invoke-AtomicTest T1055 |
Process Injection |
Invoke-AtomicTest T1134 |
Access Token Manipulation |
Invoke-AtomicTest T1068 |
Exploitation for Privilege Escalation |
Évasion de la défense
Command |
Description |
Invoke-AtomicTest T1027 |
Obfuscated Files or Information |
Invoke-AtomicTest T1070.004 |
File Deletion |
Invoke-AtomicTest T1562.001 |
Disable or Modify Tools |
Invoke-AtomicTest T1218.010 |
Regsvr32 |
Invoke-AtomicTest T1036 |
Masquerading |
Accès aux titres de créance
Command |
Description |
Invoke-AtomicTest T1003.001 |
LSASS Memory dump |
Invoke-AtomicTest T1003.002 |
Security Account Manager |
Invoke-AtomicTest T1003.003 |
NTDS.dit |
Invoke-AtomicTest T1110.001 |
Password Spraying |
Invoke-AtomicTest T1555.003 |
Credentials from Web Browsers |
Découverte
Command |
Description |
Invoke-AtomicTest T1087.001 |
Local Account Discovery |
Invoke-AtomicTest T1087.002 |
Domain Account Discovery |
Invoke-AtomicTest T1018 |
Remote System Discovery |
Invoke-AtomicTest T1083 |
File and Directory Discovery |
Invoke-AtomicTest T1057 |
Process Discovery |
Mouvement latéral
Command |
Description |
Invoke-AtomicTest T1021.001 |
Remote Desktop Protocol |
Invoke-AtomicTest T1021.002 |
SMB/Windows Admin Shares |
Invoke-AtomicTest T1021.003 |
Distributed Component Object Model |
Invoke-AtomicTest T1021.006 |
Windows Remote Management |
Invoke-AtomicTest T1550.002 |
Pass the Hash |
Recouvrement
Command |
Description |
Invoke-AtomicTest T1005 |
Data from Local System |
Invoke-AtomicTest T1039 |
Data from Network Shared Drive |
Invoke-AtomicTest T1113 |
Screen Capture |
Invoke-AtomicTest T1123 |
Audio Capture |
Invoke-AtomicTest T1115 |
Clipboard Data |
Commande et contrôle
Command |
Description |
Invoke-AtomicTest T1071.001 |
Web Protocols |
Invoke-AtomicTest T1071.004 |
DNS |
Invoke-AtomicTest T1090.003 |
Multi-hop Proxy |
Invoke-AtomicTest T1573.002 |
Asymmetric Cryptography |
Exfiltration
Command |
Description |
Invoke-AtomicTest T1041 |
Exfiltration Over C2 Channel |
Invoke-AtomicTest T1048.003 |
Exfiltration Over Unencrypted/Obfuscated Non-C2 Protocol |
Invoke-AtomicTest T1567.002 |
Exfiltration to Cloud Storage |
Impact
Command |
Description |
Invoke-AtomicTest T1485 |
Data Destruction |
Invoke-AtomicTest T1486 |
Data Encrypted for Impact |
Invoke-AtomicTest T1490 |
Inhibit System Recovery |
Invoke-AtomicTest T1498 |
Network Denial of Service |
Utilisation avancée
Paramètres personnalisés
Command |
Description |
Invoke-AtomicTest T1003.001 -InputArgs @{"output_file"="C:\temp\lsass.dmp"} |
Pass custom parameters |
Invoke-AtomicTest T1087.001 -InputArgs @{"username"="testuser"} |
Specify username parameter |
Exécution par lots
Command |
Description |
Invoke-AtomicTest T1003.001,T1003.002,T1003.003 |
Execute multiple tests |
Get-AtomicTechnique \| ForEach-Object {Invoke-AtomicTest $_.Technique} |
Execute all available tests |
Enregistrement et sortie
Command |
Description |
Invoke-AtomicTest T1003.001 -LoggingModule "Attire-ExecutionLogger" |
Enable logging |
Invoke-AtomicTest T1003.001 -ExecutionLogPath "C:\logs\atomic.log" |
Specify log path |
Invoke-AtomicTest T1003.001 -TimeoutSeconds 60 |
Set execution timeout |
Configuration
Fichier de configuration (config.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
Variables d'environnement
Variable |
Description |
$env:ATOMIC_RED_TEAM_PATH |
Path to Atomic Red Team directory |
$env:ATOMIC_LOG_PATH |
Path for execution logs |
$env:ATOMIC_TIMEOUT |
Default timeout for tests |
Utilisation Linux/macOS
Installation
Command |
Description |
git clone https://github.com/redcanaryco/atomic-red-team.git |
Clone repository |
cd atomic-red-team |
Navigate to directory |
chmod +x atomics/*/src/* |
Make scripts executable |
Exécution
Command |
Description |
bash atomics/T1059.004/src/T1059.004.sh |
Execute bash-based test |
python3 atomics/T1059.006/src/T1059.006.py |
Execute Python-based test |
./atomics/T1083/src/T1083-1.sh |
Execute specific test variant |
Intégration avec SIEM
Intégration de spunk
Command |
Description |
Invoke-AtomicTest T1003.001 -LoggingModule "Splunk" |
Log to Splunk |
index=atomic_red_team technique=T1003.001 |
Search Splunk for test results |
ELK Intégration des piles
Command |
Description |
Invoke-AtomicTest T1003.001 -LoggingModule "Elasticsearch" |
Log to Elasticsearch |
Développement de tests personnalisés
Structure d'essai
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
_
Exécution du test personnalisé
Command |
Description |
Invoke-AtomicTest -AtomicsFolder "C:\CustomAtomics" T9999.001 |
Execute custom test |
Rapports et analyse
Command |
Description |
Get-AtomicTestResults |
Get execution results |
Export-AtomicTestResults -Format CSV -Path "results.csv" |
Export results to CSV |
Get-AtomicCoverage |
Show MITRE ATT&CK coverage |
Show-AtomicTestMatrix |
Display test matrix |
Automatisation et calendrier
PowerShell programmé Emploi
powershell
$trigger = New-JobTrigger -Daily -At "2:00 AM"
Register-ScheduledJob -Name "AtomicRedTeam" -Trigger $trigger -ScriptBlock {
Import-Module Invoke-AtomicRedTeam
Invoke-AtomicTest T1003.001 -Cleanup
}
_
Essais en continu
Command |
Description |
Start-AtomicContinuousTesting -Techniques @("T1003.001","T1087.001") -Interval 3600 |
Run tests every hour |
Considérations en matière de sécurité
- Effectuer des essais dans des environnements isolés seulement
- Assurer un nettoyage approprié après l'exécution des essais
- Surveiller les faux positifs dans les outils de sécurité
- Documenter toutes les exécutions expérimentales aux fins de conformité
- Utiliser les principes de moindre privilège
- Mettre en place des contrôles d'accès appropriés
- Sauvegarde régulière avant le test
- Coordination avec le centre d'opérations de sécurité
Meilleures pratiques
- Commencez par des techniques à faible impact
- Toujours effectuer les vérifications préalables d'abord
- Utiliser les fonctions de nettoyage après essai
- Documenter les résultats des essais et les observations
- Coordonner avec les activités de l'équipe bleue
- Essai dans les environnements hors production d'abord
- Mettre en œuvre une exploitation et un suivi appropriés
- Mises à jour régulières pour tester la bibliothèque
- Valider les capacités de détection
- Créer des tests personnalisés pour des environnements spécifiques
Dépannage
Command |
Description |
Get-Help Invoke-AtomicTest -Full |
Get detailed help |
Test-AtomicTestInputArgs T1003.001 |
Validate input arguments |
Get-AtomicTestPrerequisites T1003.001 |
Check prerequisites |
Repair-AtomicTest T1003.001 |
Attempt to fix test issues |
Questions communes
- Interactions antivirus avec l'exécution des tests
- Prérequis ou dépendances manquants
- Privilèges insuffisants pour l'exécution des essais
- Problèmes de connectivité réseau pour les ressources externes
- Questions liées au cheminement des différents systèmes d'exploitation