atomic-operator
Exécute les tests MITRE Atomic Red Team sous Windows, Linux et macOS pour l'émulation d'adversaire et la validation de détection. Executes MITRE Atomic Red Team tests across Windows, Linux, and macOS for adversary emulation and detection validation.
↗ https://github.com/swimlane/atomic-operatorOverview
atomic-operator is a Python framework that runs the community-maintained Atomic Red Team test library (mapped to MITRE ATT&CK techniques) against local or remote hosts. It automates fetching prerequisites, executing the atomic test commands, and cleaning up afterward, making it useful for purple-team exercises to validate whether detections fire for a given technique.
Common Usage
Install
pip install atomic-operator
Run a single technique locally by ATT&CK ID
atomic-operator run T1003 --check-prereqs
Run against a remote Windows host over WinRM
atomic-operator run T1055 --hosts 10.10.10.5 --username admin --password 'Passw0rd!'
Run against a remote Linux/macOS host over SSH
atomic-operator run T1070 --hosts 10.10.10.20 --username user --ssh-key-path ~/.ssh/id_rsa
Run and automatically clean up afterward
atomic-operator run T1053 --cleanup
Python API Usage
from atomic_operator import AtomicOperator
runner = AtomicOperator()
runner.run(
techniques=["T1059.001"],
check_prereqs=True,
cleanup=True,
)
Tips
- Pair with a SIEM/EDR dashboard open in another window to watch which techniques actually generate alerts
--check-prereqswill attempt to install missing dependencies for a test — review what it’s about to do before running unattended on production hosts- Only run against lab or explicitly authorized detection-validation environments; several atomics are genuinely destructive (e.g. credential dumping, persistence)
Help / Man page
usage: atomic-operator run [-h] [--hosts HOSTS] [--username USERNAME]
[--password PASSWORD] [--ssh-key-path PATH]
[--check-prereqs] [--cleanup] [--test-guids GUIDS]
technique [technique ...]
positional arguments:
technique ATT&CK technique ID(s), e.g. T1003 T1055
options:
--hosts HOSTS Comma-separated list of remote hosts (default: local)
--username USERNAME Remote auth username
--password PASSWORD Remote auth password
--ssh-key-path PATH SSH private key for *nix targets
--check-prereqs Verify/install test prerequisites before running
--cleanup Run the test's cleanup commands afterward
--test-guids GUIDS Run specific atomic test GUIDs instead of all for a technique
Vue d’ensemble
atomic-operator est un framework Python qui exécute la bibliothèque de tests Atomic Red Team maintenue par la communauté (mappée sur les techniques MITRE ATT&CK) contre des hôtes locaux ou distants. Il automatise la récupération des prérequis, l’exécution des commandes de test atomiques et le nettoyage ensuite, ce qui le rend utile pour les exercices purple team afin de valider si les détections se déclenchent pour une technique donnée.
Utilisation courante
# Installer
pip install atomic-operator
# Lancer une seule technique en local par son ID ATT&CK
atomic-operator run T1003 --check-prereqs
# Lancer contre un hôte Windows distant via WinRM
atomic-operator run T1055 --hosts 10.10.10.5 --username admin --password 'Passw0rd!'
# Lancer contre un hôte Linux/macOS distant via SSH
atomic-operator run T1070 --hosts 10.10.10.20 --username user --ssh-key-path ~/.ssh/id_rsa
# Lancer et nettoyer automatiquement ensuite
atomic-operator run T1053 --cleanup
Utilisation via l’API Python
from atomic_operator import AtomicOperator
runner = AtomicOperator()
runner.run(
techniques=["T1059.001"],
check_prereqs=True,
cleanup=True,
)
Conseils
- Gardez un tableau de bord SIEM/EDR ouvert dans une autre fenêtre pour observer quelles techniques génèrent réellement des alertes
--check-prereqstentera d’installer les dépendances manquantes d’un test : vérifiez ce qu’il s’apprête à faire avant de le lancer sans surveillance sur des hôtes de production- À lancer uniquement contre des environnements de lab ou explicitement autorisés pour la validation de détection ; plusieurs atomics sont réellement destructeurs (par exemple dumping d’identifiants, persistance)
Aide / Page de manuel
usage: atomic-operator run [-h] [--hosts HOSTS] [--username USERNAME]
[--password PASSWORD] [--ssh-key-path PATH]
[--check-prereqs] [--cleanup] [--test-guids GUIDS]
technique [technique ...]
positional arguments:
technique ATT&CK technique ID(s), e.g. T1003 T1055
options:
--hosts HOSTS Comma-separated list of remote hosts (default: local)
--username USERNAME Remote auth username
--password PASSWORD Remote auth password
--ssh-key-path PATH SSH private key for *nix targets
--check-prereqs Verify/install test prerequisites before running
--cleanup Run the test's cleanup commands afterward
--test-guids GUIDS Run specific atomic test GUIDs instead of all for a technique