Saltar a contenido

Atomic Red Team

"Clase de la hoja"

########################################################################################################################################################################################################################################################## Copiar todos los comandos
########################################################################################################################################################################################################################################################## Generar PDF seleccionado/button

■/div titulada

Atomic Red Team es una biblioteca de pruebas mapeadas al marco MITRE ATT plagaCK que los equipos de seguridad pueden utilizar para probar sus entornos de forma rápida, portable y reproducible.

Instalación

Command Description
git clone https://github.com/redcanaryco/atomic-red-team.git Clone Atomic Red Team repository
cd atomic-red-team Navigate to repository
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUser Install PowerShell modules
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force Import PowerShell module
Invoke-AtomicTest T1003.001 -ShowDetails Show test details

Uso básico

Command Description
Invoke-AtomicTest T1003.001 Execute specific atomic test
Invoke-AtomicTest T1003.001 -TestNumbers 1 Execute specific test number
Invoke-AtomicTest T1003.001 -ShowDetails Show test details without executing
Invoke-AtomicTest T1003.001 -CheckPrereqs Check prerequisites
Invoke-AtomicTest T1003.001 -GetPrereqs Install prerequisites
Invoke-AtomicTest T1003.001 -Cleanup Run cleanup for test

Test Discovery

Command Description
Get-AtomicTechnique List all available techniques
Get-AtomicTechnique -Path "C:\AtomicRedTeam\atomics" List techniques from specific path
Get-AtomicTechnique \| Where-Object {$_.DisplayName -match "credential"} Search techniques by keyword
Get-AtomicTechnique T1003 Get details for specific technique

MITRE ATT limitadaCK Técnicas

Acceso inicial

Command Description
Invoke-AtomicTest T1566.001 Spearphishing Attachment
Invoke-AtomicTest T1566.002 Spearphishing Link
Invoke-AtomicTest T1190 Exploit Public-Facing Application
Invoke-AtomicTest T1133 External Remote Services
Invoke-AtomicTest T1200 Hardware Additions

Ejecución

Command Description
Invoke-AtomicTest T1059.001 PowerShell execution
Invoke-AtomicTest T1059.003 Windows Command Shell
Invoke-AtomicTest T1059.004 Unix Shell
Invoke-AtomicTest T1059.006 Python execution
Invoke-AtomicTest T1053.005 Scheduled Task/Job

Persistencia

Command Description
Invoke-AtomicTest T1547.001 Registry Run Keys
Invoke-AtomicTest T1053.005 Scheduled Task
Invoke-AtomicTest T1543.003 Windows Service
Invoke-AtomicTest T1136.001 Local Account creation
Invoke-AtomicTest T1098 Account Manipulation

Escalada de Privilege

Command Description
Invoke-AtomicTest T1548.002 Bypass User Account Control
Invoke-AtomicTest T1055 Process Injection
Invoke-AtomicTest T1134 Access Token Manipulation
Invoke-AtomicTest T1068 Exploitation for Privilege Escalation

Evasión de Defensa

Command Description
Invoke-AtomicTest T1027 Obfuscated Files or Information
Invoke-AtomicTest T1070.004 File Deletion
Invoke-AtomicTest T1562.001 Disable or Modify Tools
Invoke-AtomicTest T1218.010 Regsvr32
Invoke-AtomicTest T1036 Masquerading

Acceso Credencial

Command Description
Invoke-AtomicTest T1003.001 LSASS Memory dump
Invoke-AtomicTest T1003.002 Security Account Manager
Invoke-AtomicTest T1003.003 NTDS.dit
Invoke-AtomicTest T1110.001 Password Spraying
Invoke-AtomicTest T1555.003 Credentials from Web Browsers

Discovery

Command Description
Invoke-AtomicTest T1087.001 Local Account Discovery
Invoke-AtomicTest T1087.002 Domain Account Discovery
Invoke-AtomicTest T1018 Remote System Discovery
Invoke-AtomicTest T1083 File and Directory Discovery
Invoke-AtomicTest T1057 Process Discovery

Movimiento Lateral

Command Description
Invoke-AtomicTest T1021.001 Remote Desktop Protocol
Invoke-AtomicTest T1021.002 SMB/Windows Admin Shares
Invoke-AtomicTest T1021.003 Distributed Component Object Model
Invoke-AtomicTest T1021.006 Windows Remote Management
Invoke-AtomicTest T1550.002 Pass the Hash

Colección

Command Description
Invoke-AtomicTest T1005 Data from Local System
Invoke-AtomicTest T1039 Data from Network Shared Drive
Invoke-AtomicTest T1113 Screen Capture
Invoke-AtomicTest T1123 Audio Capture
Invoke-AtomicTest T1115 Clipboard Data

Mando y control

Command Description
Invoke-AtomicTest T1071.001 Web Protocols
Invoke-AtomicTest T1071.004 DNS
Invoke-AtomicTest T1090.003 Multi-hop Proxy
Invoke-AtomicTest T1573.002 Asymmetric Cryptography

Exfiltración

Command Description
Invoke-AtomicTest T1041 Exfiltration Over C2 Channel
Invoke-AtomicTest T1048.003 Exfiltration Over Unencrypted/Obfuscated Non-C2 Protocol
Invoke-AtomicTest T1567.002 Exfiltration to Cloud Storage

Impacto

Command Description
Invoke-AtomicTest T1485 Data Destruction
Invoke-AtomicTest T1486 Data Encrypted for Impact
Invoke-AtomicTest T1490 Inhibit System Recovery
Invoke-AtomicTest T1498 Network Denial of Service

Uso avanzado

Parámetros personalizados

Command Description
Invoke-AtomicTest T1003.001 -InputArgs @{"output_file"="C:\temp\lsass.dmp"} Pass custom parameters
Invoke-AtomicTest T1087.001 -InputArgs @{"username"="testuser"} Specify username parameter

Batch Execution

Command Description
Invoke-AtomicTest T1003.001,T1003.002,T1003.003 Execute multiple tests
Get-AtomicTechnique \| ForEach-Object {Invoke-AtomicTest $_.Technique} Execute all available tests

Logging and Output

Command Description
Invoke-AtomicTest T1003.001 -LoggingModule "Attire-ExecutionLogger" Enable logging
Invoke-AtomicTest T1003.001 -ExecutionLogPath "C:\logs\atomic.log" Specify log path
Invoke-AtomicTest T1003.001 -TimeoutSeconds 60 Set execution timeout

Configuración

Config File (config.yaml)

# Atomic Red Team Configuration
atomics_folder: "C:\\AtomicRedTeam\\atomics"
log_folder: "C:\\AtomicRedTeam\\logs"
default_timeout: 120
check_prereqs: true
get_prereqs: false
cleanup: true

Medio ambiente

Variable Description
$env:ATOMIC_RED_TEAM_PATH Path to Atomic Red Team directory
$env:ATOMIC_LOG_PATH Path for execution logs
$env:ATOMIC_TIMEOUT Default timeout for tests

Uso Linux/macOS

Instalación

Command Description
git clone https://github.com/redcanaryco/atomic-red-team.git Clone repository
cd atomic-red-team Navigate to directory
chmod +x atomics/*/src/* Make scripts executable

Ejecución

Command Description
bash atomics/T1059.004/src/T1059.004.sh Execute bash-based test
python3 atomics/T1059.006/src/T1059.006.py Execute Python-based test
./atomics/T1083/src/T1083-1.sh Execute specific test variant

Integración con SIEM

Splunk Integration

Command Description
Invoke-AtomicTest T1003.001 -LoggingModule "Splunk" Log to Splunk
index=atomic_red_team technique=T1003.001 Search Splunk for test results

ELK Stack Integration

Command Description
Invoke-AtomicTest T1003.001 -LoggingModule "Elasticsearch" Log to Elasticsearch

Desarrollo de pruebas personalizadas

Estructura de ensayo

attack_technique: T1003.001
display_name: "LSASS Memory"
atomic_tests:
- name: Dump LSASS.exe Memory using ProcDump
  auto_generated_guid: 0be2230c-9ab3-4ac2-8826-3199b9a0ebf8
  description: |
    The memory of lsass.exe is often dumped for offline credential theft attacks.
  supported_platforms:
  - windows
  input_arguments:
    output_file:
      description: Path where resulting dump should be placed
      type: Path
      default: C:\Windows\Temp\lsass_dump.dmp
  executor:
    command: |
      procdump.exe -accepteula -ma lsass.exe #{output_file}
    name: command_prompt

Ejecución de pruebas personalizadas

Command Description
Invoke-AtomicTest -AtomicsFolder "C:\CustomAtomics" T9999.001 Execute custom test

Presentación de informes y análisis

Command Description
Get-AtomicTestResults Get execution results
Export-AtomicTestResults -Format CSV -Path "results.csv" Export results to CSV
Get-AtomicCoverage Show MITRE ATT&CK coverage
Show-AtomicTestMatrix Display test matrix

Automatización y programación

PowerShell Scheduled Empleo

$trigger = New-JobTrigger -Daily -At "2:00 AM"
Register-ScheduledJob -Name "AtomicRedTeam" -Trigger $trigger -ScriptBlock {
    Import-Module Invoke-AtomicRedTeam
    Invoke-AtomicTest T1003.001 -Cleanup
}

Pruebas continuas

Command Description
Start-AtomicContinuousTesting -Techniques @("T1003.001","T1087.001") -Interval 3600 Run tests every hour

Consideraciones de seguridad

  • Ejecutar pruebas en entornos aislados sólo
  • Asegurar una limpieza adecuada después de la ejecución de pruebas
  • Monitor for false positives in security tools
  • Documentar todas las ejecuciones de prueba para el cumplimiento
  • Utilizar principios mínimos de privilegio
  • Implementar controles adecuados de acceso
  • Respaldo regular antes de probar
  • Coordina con centro de operaciones de seguridad

Buenas prácticas

  • Empieza con técnicas de bajo impacto
  • Siempre realizar cheques de prerrequisitos primero
  • Use funciones de limpieza después de las pruebas
  • Resultados y observaciones de la prueba de documentos
  • Coordinar con actividades de equipo azul
  • Prueba en entornos no productivos primero
  • Implementar registros y monitoreo adecuados
  • Actualizaciones regulares para la biblioteca de pruebas
  • Capacidades de detección validadas
  • Crear pruebas personalizadas para entornos específicos

Solución de problemas

Command Description
Get-Help Invoke-AtomicTest -Full Get detailed help
Test-AtomicTestInputArgs T1003.001 Validate input arguments
Get-AtomicTestPrerequisites T1003.001 Check prerequisites
Repair-AtomicTest T1003.001 Attempt to fix test issues

Cuestiones comunes

  • Intromisión antivirus en la ejecución de pruebas
  • Falta de requisitos o dependencias
  • Privilegios insuficientes para la ejecución de pruebas
  • Cuestiones de conectividad de red para los recursos externos
  • Cuestiones relacionadas con la trayectoria en diferentes sistemas operativos