
Um pacote Python é usado para executar testes Atomic Red Team (Atomics) em múltiplos ambientes de sistemas operacionais.
Este pacote Python é usado para executar testes do Atomic Red Team (Atomics) em vários ambientes de sistema operacional.
O atomic-operator permite que profissionais de segurança testem suas capacidades de detecção e defesa contra técnicas prescritas definidas no atomic-red-team. Ao utilizar um framework de teste como o atomic-operator, você pode identificar tanto suas capacidades defensivas quanto lacunas na cobertura defensiva.
Além disso, o atomic-operator pode ser usado em muitas outras situações, como:
iaas:awsinput_arguments como entrada para testes via linha de comandoO atomic-operator é um pacote exclusivo Python hospedado no PyPi e funciona com Python 3.6 ou superior.
Se você deseja uma versão PowerShell, confira o Invoke-AtomicRedTeam.
pip install atomic-operator
As próximas etapas irão guiá-lo na configuração e execução do atomic-operator.
Você pode instalar o atomic-operator no OS X, Linux ou Windows. Você também pode instalá-lo diretamente a partir da fonte. Para instalar, veja os comandos abaixo, sob o cabeçalho do sistema operacional relevante.
As seguintes bibliotecas são necessárias e instaladas pelo 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
Você pode executar o atomic-operator a partir da linha de comando ou dentro de seus próprios scripts Python. Para usar o atomic-operator na linha de comando, basta digitar o seguinte no seu terminal:
atomic-operator --help
atomic-operator run -- --help
Observe que para ver detalhes sobre o comando run, execute
atomic-operator run -- --helpe NÃOatomic-operator run --help
Para usar o atomic-operator, você deve ter um ou mais testes atomic-red-team (Atomics) no seu sistema local. O atomic-operator fornece a capacidade de baixar o repositório Atomic Red Team. Você pode fazer isso executando o seguinte na linha de comando:
atomic-operator get_atomics
# Você pode especificar o diretório de destino usando a flag --destination
atomic-operator get_atomics --destination "/tmp/some_directory"
Para executar um teste, você deve fornecer algumas propriedades adicionais (e opções, se desejado). O método principal para executar testes é chamado run.
# Isso executará TODOS os testes compatíveis com o seu sistema operacional local
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624"
Você pode selecionar testes individuais ao fornecer uma ou mais técnicas específicas. Por exemplo, executando o seguinte na linha de comando:
atomic-operator run --techniques T1564.001 --select_tests
Isso solicitará ao usuário uma lista de seleção de testes associados àquela técnica. O usuário pode selecionar um ou mais testes usando a barra de espaço para destacar o teste desejado:
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)
O seguinte permitirá que você forneça argumentos de entrada personalizados para os testes. Você faz isso fornecendo um dicionário de chaves e valores como um dicionário para o parâmetro input_arguments no método run.
atomic-operator run --techniques T1564.001 --input_arguments '{"project-id": "some_value", "another_key": "another value"}'
# Inclua aspas simples ao redor do valor de input_arguments.
Para executar um teste remotamente, você deve fornecer algumas propriedades adicionais (e opções, se desejado). O método principal para executar testes é chamado run.