
Un package Python est utilisé pour exécuter des tests Atomic Red Team (Atomics) sur plusieurs environnements de systèmes d'exploitation.
Ce package Python permet d'exécuter les tests Atomic Red Team (Atomiques) sur plusieurs systèmes d'exploitation.
atomic-operator permet aux professionnels de la sécurité de tester leurs capacités de détection et de défense face aux techniques définies dans atomic-red-team. En utilisant un framework de test comme atomic-operator, vous pouvez identifier à la fois vos capacités défensives et les lacunes de votre couverture défensive.
De plus, atomic-operator peut être utilisé dans de nombreuses autres situations, comme :
iaas:awsatomic-operator est un package uniquement Python hébergé sur PyPi et fonctionne avec Python 3.6 et plus.
Si vous souhaitez une version PowerShell, consultez Invoke-AtomicRedTeam.
pip install atomic-operator
Les étapes suivantes vous guideront dans l'installation et l'exécution d'atomic-operator.
Vous pouvez installer atomic-operator sur OS X, Linux ou Windows. Vous pouvez également l'installer directement à partir des sources. Pour installer, voir les commandes sous l'en-tête du système d'exploitation correspondant ci-dessous.
Les bibliothèques suivantes sont requises et installées par atomic-operator :
pyyaml==5.4.1
fire==0.4.0
requests==2.26.0
attrs==21.2.0
pick==1.2.0
pip install atomic-operator
git clone https://github.com/swimlane/atomic-operator.git
cd atomic-operator
# Satisfaire ModuleNotFoundError: No module named 'setuptools_rust'
brew install rust
pip3 install --upgrade pip
pip3 install setuptools_rust
# Retour à notre programme habituel...
pip install -r requirements.txt
python setup.py install
git clone https://github.com/swimlane/atomic-operator.git
cd atomic-operator
pip install -r requirements.txt
python setup.py install
Vous pouvez exécuter atomic-operator depuis la ligne de commande ou dans vos propres scripts Python. Pour utiliser atomic-operator en ligne de commande, entrez simplement la commande suivante dans votre terminal :
atomic-operator --help
atomic-operator run -- --help
Veuillez noter que pour voir les détails de la commande run, exécutez
atomic-operator run -- --helpet PASatomic-operator run --help
Pour utiliser atomic-operator, vous devez disposer d'un ou plusieurs tests atomic-red-team (Atomiques) sur votre système local. atomic-operator vous offre la possibilité de télécharger le dépôt Atomic Red Team. Vous pouvez le faire en exécutant la commande suivante :
atomic-operator get_atomics
# Vous pouvez spécifier le répertoire de destination avec l'option --destination
atomic-operator get_atomics --destination "/tmp/some_directory"
Pour exécuter un test, vous devez fournir des propriétés supplémentaires (et des options si souhaité). La méthode principale pour exécuter des tests s'appelle run.
# Ceci exécutera TOUS les tests compatibles avec votre système d'exploitation local
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624"
Vous pouvez sélectionner des tests individuels en fournissant une ou plusieurs techniques spécifiques. Par exemple, exécutez la commande suivante :
atomic-operator run --techniques T1564.001 --select_tests
Cela invitera l'utilisateur avec une liste de sélection des tests associés à cette technique. L'utilisateur peut sélectionner un ou plusieurs tests en utilisant la barre d'espace pour mettre en surbrillance le test souhaité :
Select Test(s) for Technique T1564.001 (Hide Artifacts: Hidden Files and Directories)
* Create a hidden file in a hidden directory (61a782e5-9a19-40b5-8ba4-69a4b9f3d7be)
Mac Hidden file (cddb9098-3b47-4e01-9d3b-6f5f323288a9)
Create Windows System File with Attrib (f70974c8-c094-4574-b542-2c545af95a32)
Create Windows Hidden File with Attrib (dadb792e-4358-4d8d-9207-b771faa0daa5)
Hidden files (3b7015f2-3144-4205-b799-b05580621379)
Hide a Directory (b115ecaf-3b24-4ed2-aefe-2fcb9db913d3)
Show all hidden files (9a1ec7da-b892-449f-ad68-67066d04380c)
Ce qui suit vous permet de fournir des arguments d'entrée personnalisés pour les tests. Pour ce faire, fournissez un dictionnaire de clés et de valeurs comme dictionnaire au paramètre input_arguments de la méthode run.
atomic-operator run --techniques T1564.001 --input_arguments '{"project-id": "some_value", "another_key": "another value"}'
# Veuillez inclure des guillemets simples autour de la valeur input_arguments.