
Se utiliza un paquete de Python para ejecutar pruebas de Atomic Red Team (Atomics) en múltiples entornos de sistemas operativos.
Este paquete de Python se utiliza para ejecutar pruebas de Atomic Red Team (Atómicas) en múltiples entornos de sistemas operativos.
atomic-operator permite a los profesionales de seguridad probar sus capacidades de detección y defensa contra las técnicas prescritas definidas en atomic-red-team. Al utilizar un marco de pruebas como atomic-operator, puedes identificar tanto tus capacidades defensivas como las brechas en la cobertura defensiva.
Además, atomic-operator se puede utilizar en muchas otras situaciones como:
iaas:awsatomic-operator es un paquete exclusivo de Python alojado en PyPi y funciona con Python 3.6 y superior.
Si deseas una versión de PowerShell, consulta Invoke-AtomicRedTeam.
pip install atomic-operator
Los siguientes pasos te guiarán en la configuración y ejecución de atomic-operator.
Puedes instalar atomic-operator en OS X, Linux o Windows. También puedes instalarlo directamente desde el código fuente. Para instalarlo, consulta los comandos correspondientes al sistema operativo relevante a continuación.
Las siguientes bibliotecas son requeridas e instaladas por 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
# Satisfacer ModuleNotFoundError: No module named 'setuptools_rust'
brew install rust
pip3 install --upgrade pip
pip3 install setuptools_rust
# Volviendo a nuestra programación habitual . . .
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
Puedes ejecutar atomic-operator desde la línea de comandos o dentro de tus propios scripts de Python. Para usar atomic-operator en la línea de comandos, simplemente ingresa lo siguiente en tu terminal:
atomic-operator --help
atomic-operator run -- --help
Ten en cuenta que para ver los detalles del comando run, ejecuta
atomic-operator run -- --helpy NOatomic-operator run --help
Para usar atomic-operator, debes tener una o más pruebas de atomic-red-team (Atómicas) en tu sistema local. atomic-operator te proporciona la capacidad de descargar el repositorio de Atomic Red Team. Puedes hacerlo ejecutando lo siguiente en la línea de comandos:
atomic-operator get_atomics
# Puedes especificar el directorio de destino usando la bandera --destination
atomic-operator get_atomics --destination "/tmp/some_directory"
Para ejecutar una prueba, debes proporcionar algunas propiedades adicionales (y opciones si lo deseas). El método principal para ejecutar pruebas se llama run.
# Esto ejecutará TODAS las pruebas compatibles con tu sistema operativo local
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624"
Puedes seleccionar pruebas individuales al proporcionar una o más técnicas específicas. Por ejemplo, ejecutando lo siguiente en la línea de comandos:
atomic-operator run --techniques T1564.001 --select_tests
Se le presentará al usuario una lista de selección de pruebas asociadas con esa técnica. Un usuario puede seleccionar una o más pruebas usando la barra espaciadora para resaltar la prueba deseada:
Seleccione Test(s) para la Técnica T1564.001 (Ocultar Artefactos: Archivos y Directorios Ocultos)
* Crear un archivo oculto en un directorio oculto (61a782e5-9a19-40b5-8ba4-69a4b9f3d7be)
Archivo oculto en Mac (cddb9098-3b47-4e01-9d3b-6f5f323288a9)
Crear archivo de sistema de Windows con Attrib (f70974c8-c094-4574-b542-2c545af95a32)
Crear archivo oculto de Windows con Attrib (dadb792e-4358-4d8d-9207-b771faa0daa5)
Archivos ocultos (3b7015f2-3144-4205-b799-b05580621379)
Ocultar un directorio (b115ecaf-3b24-4ed2-aefe-2fcb9db913d3)
Mostrar todos los archivos ocultos (9a1ec7da-b892-449f-ad68-67066d04380c)
Lo siguiente te permitirá proporcionar argumentos de entrada personalizados para las pruebas. Para ello, proporciona un diccionario de claves y valores como un diccionario al parámetro input_arguments en el método run.
atomic-operator run --techniques T1564.001 --input_arguments '{"project-id": "some_value", "another_key": "another value"}'
# Por favor, incluye comillas simples alrededor del valor de input_arguments.
Para ejecutar una prueba de forma remota, debes proporcionar algunas propiedades adicionales (y opciones si lo deseas). El método principal para ejecutar pruebas se llama run.