
Un pacchetto Python viene utilizzato per eseguire i test di Atomic Red Team (Atomics) attraverso molteplici ambienti di sistemi operativi.
Questo pacchetto Python viene utilizzato per eseguire test Atomic Red Team (Atomics) su più ambienti di sistemi operativi.
(Novità?)
atomic-operator consente ai professionisti della sicurezza di testare le loro capacità di rilevamento e difesa rispetto alle tecniche prescritte definite in atomic-red-team. Utilizzando un framework di test come atomic-operator, puoi identificare sia le tue capacità difensive che le lacune nella copertura difensiva.
Inoltre, atomic-operator può essere utilizzato in molte altre situazioni come:
iaas:awsatomic-operator è un pacchetto solo Python ospitato su PyPi e funziona con Python 3.6 e successivi.
Se desideri una versione PowerShell, dai un'occhiata a Invoke-AtomicRedTeam.
pip install atomic-operator
I passaggi successivi ti guideranno nella configurazione e nell'esecuzione di atomic-operator.
Puoi installare atomic-operator su OS X, Linux o Windows. Puoi anche installarlo direttamente dal sorgente. Per installare, vedi i comandi sotto l'intestazione del sistema operativo pertinente, di seguito.
Le seguenti librerie sono richieste e installate da 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
# Satisfy ModuleNotFoundError: No module named 'setuptools_rust'
brew install rust
pip3 install --upgrade pip
pip3 install setuptools_rust
# Back to our regularly scheduled programming . . .
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
Puoi eseguire atomic-operator dalla riga di comando o all'interno dei tuoi script Python. Per usare atomic-operator dalla riga di comando, inserisci semplicemente quanto segue nel tuo terminale:
atomic-operator --help
atomic-operator run -- --help
Nota che per vedere i dettagli sul comando run esegui
atomic-operator run -- --helpe NONatomic-operator run --help
Per utilizzare atomic-operator devi avere uno o più test atomic-red-team (Atomics) sul tuo sistema locale. atomic-operator ti offre la possibilità di scaricare il repository Atomic Red Team. Puoi farlo eseguendo quanto segue dalla riga di comando:
atomic-operator get_atomics
# You can specify the destination directory by using the --destination flag
atomic-operator get_atomics --destination "/tmp/some_directory"
Per eseguire un test devi fornire alcune proprietà aggiuntive (e opzioni se desiderato). Il metodo principale per eseguire i test si chiama run.
# This will run ALL tests compatiable with your local operating system
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624"
Puoi selezionare test individuali quando fornisci una o più tecniche specifiche. Ad esempio, eseguendo quanto segue sulla riga di comando:
atomic-operator run --techniques T1564.001 --select_tests
Verrà mostrato all'utente un elenco di selezione dei test associati a quella tecnica. Un utente può selezionare uno o più test usando la barra spaziatrice per evidenziare il test desiderato:
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)
Quanto segue ti permetterà di fornire argomenti di input personalizzati per i test. Lo fai fornendo un dizionario di chiavi e valori come dizionario al parametro input_arguments sul metodo run.
atomic-operator run --techniques T1564.001 --input_arguments '{"project-id": "some_value", "another_key": "another value"}'
# Per favore includi apici singoli attorno al valore di input_arguments.
Per eseguire un test in remoto devi fornire alcune proprietà aggiuntive (e opzioni se desiderato). Il metodo principale per eseguire i test si chiama run.
# This will run ALL tests compatiable with your local operating system
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624" --hosts "10.32.1.0" --username "my_username" --password "my_password"