Ir al contenido

Atomic Red Team

ComandoDescripción
git clone https://github.com/redcanaryco/atomic-red-team.gitClonar repositorio de Atomic Red Team
cd atomic-red-teamNavegar al repositorio
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUserInstalar módulos de PowerShell
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -ForceImportar módulo de PowerShell
Invoke-AtomicTest T1003.001 -ShowDetailsMostrar detalles de prueba

Atomic Red Team es una biblioteca de pruebas mapeadas al framework MITRE ATT&CK que los equipos de seguridad pueden usar para probar rápida, portátil y reproduciblemente sus entornos.

Instalación y Configuración

ComandoDescripción
Get-AtomicTechniqueEnumerar todas las técnicas disponibles
Get-AtomicTechnique -Path "C:\AtomicRedTeam\atomics"Listar técnicas de ruta específica
`Get-AtomicTechnique \Where-Object {$_.DisplayName -match “credential”}`
Get-AtomicTechnique T1003Obtener detalles para técnica específica

Uso Básico

ComandoDescripción
Invoke-AtomicTest T1566.001Spearphishing Attachment
Invoke-AtomicTest T1566.002Enlace de Spearphishing
Invoke-AtomicTest T1190Explotar Aplicación Expuesta Públicamente
Invoke-AtomicTest T1133Servicios Remotos Externos
Invoke-AtomicTest T1200Adiciones de Hardware

Descubrimiento de Pruebas

ComandoDescripción
Invoke-AtomicTest T1059.001Ejecución de PowerShell
Invoke-AtomicTest T1059.003Windows Command Shell
Invoke-AtomicTest T1059.004Unix Shell
Invoke-AtomicTest T1059.006Ejecución de Python
Invoke-AtomicTest T1053.005Tarea/Trabajo Programado

Técnicas de MITRE ATT&CK

Acceso Inicial

ComandoDescripción
Invoke-AtomicTest T1547.001Claves de Ejecución del Registro
Invoke-AtomicTest T1053.005Tarea Programada
Invoke-AtomicTest T1543.003Servicio de Windows
Invoke-AtomicTest T1136.001Creación de cuenta local
Invoke-AtomicTest T1098Manipulación de Cuenta

Ejecución

ComandoDescripción
Invoke-AtomicTest T1548.002Omitir Control de Cuentas de Usuario
Invoke-AtomicTest T1055Process Injection
Invoke-AtomicTest T1134Manipulación de Token de Acceso
Invoke-AtomicTest T1068Explotación para Escalada de Privilegios

Persistencia

ComandoDescripción
Invoke-AtomicTest T1027Archivos o Información Ofuscados
Invoke-AtomicTest T1070.004Eliminación de Archivos
Invoke-AtomicTest T1562.001Deshabilitar o Modificar Herramientas
Invoke-AtomicTest T1218.010Regsvr32
Invoke-AtomicTest T1036Enmascaramiento

Escalada de Privilegios

ComandoDescripción
Invoke-AtomicTest T1003.001Volcado de memoria de LSASS
Invoke-AtomicTest T1003.002Security Account Manager
Invoke-AtomicTest T1003.003NTDS.dit
Invoke-AtomicTest T1110.001Password Spraying
Invoke-AtomicTest T1555.003Credenciales de Navegadores Web

Evasión de Defensa

ComandoDescripción
Invoke-AtomicTest T1087.001Descubrimiento de Cuenta Local
Invoke-AtomicTest T1087.002Descubrimiento de Cuenta de Dominio
Invoke-AtomicTest T1018Descubrimiento de Sistema Remoto
Invoke-AtomicTest T1083Descubrimiento de Archivos y Directorios
Invoke-AtomicTest T1057Descubrimiento de Procesos

Acceso a Credenciales

ComandoDescripción
Invoke-AtomicTest T1021.001Protocolo de Escritorio Remoto
Invoke-AtomicTest T1021.002Recursos compartidos de administración de SMB/Windows
Invoke-AtomicTest T1021.003Modelo de Objetos de Componentes Distribuidos
Invoke-AtomicTest T1021.006Administración remota de Windows
Invoke-AtomicTest T1550.002Pass the Hash

Descubrimiento

ComandoDescripción
Invoke-AtomicTest T1005Datos del Sistema Local
Invoke-AtomicTest T1039Datos de Network Shared Drive
Invoke-AtomicTest T1113Captura de Pantalla
Invoke-AtomicTest T1123Captura de Audio
Invoke-AtomicTest T1115Datos del Portapapeles

Movimiento Lateral

ComandoDescripción
Invoke-AtomicTest T1071.001Protocolos Web
Invoke-AtomicTest T1071.004DNS
Invoke-AtomicTest T1090.003Proxy de múltiples saltos
Invoke-AtomicTest T1573.002Criptografía Asimétrica

Recolección

ComandoDescripción
Invoke-AtomicTest T1041Exfiltración a través del Canal C2
Invoke-AtomicTest T1048.003Exfiltración a través de Protocolo No-C2 Sin Cifrar/Ofuscado
Invoke-AtomicTest T1567.002Exfiltración a Cloud Storage

Comando y Control

ComandoDescripción
Invoke-AtomicTest T1485Destrucción de Datos
Invoke-AtomicTest T1486Datos Cifrados para Impacto
Invoke-AtomicTest T1490Inhibir Recuperación del Sistema
Invoke-AtomicTest T1498Denegación de Servicio de Red

Exfiltración

ComandoDescripción
Invoke-AtomicTest T1003.001 -InputArgs @{"output_file"="C:\temp\lsass.dmp"}Pasar parámetros personalizados
Invoke-AtomicTest T1087.001 -InputArgs @{"username"="testuser"}Especificar parámetro de nombre de usuario

Impacto

ComandoDescripción
Invoke-AtomicTest T1003.001,T1003.002,T1003.003Ejecutar múltiples pruebas
`Get-AtomicTechnique \ForEach-Object {Invoke-AtomicTest $_.Technique}`

Uso Avanzado

Parámetros Personalizados

ComandoDescripción
Invoke-AtomicTest T1003.001 -LoggingModule "Attire-ExecutionLogger"Habilitar registro
Invoke-AtomicTest T1003.001 -ExecutionLogPath "C:\logs\atomic.log"Especificar ruta de registro
Invoke-AtomicTest T1003.001 -TimeoutSeconds 60Establecer tiempo de espera de ejecución

Ejecución por Lotes```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


### Environment Variables
| Variable | Descripción |
|---------|-------------|
| `$env:ATOMIC_RED_TEAM_PATH` | Ruta al directorio de Atomic Red Team |
| `$env:ATOMIC_LOG_PATH` | Ruta para registros de ejecución |
| `$env:ATOMIC_TIMEOUT` | Tiempo de espera predeterminado para pruebas |
## Linux/macOS Usage

### Installation
| Comando | Descripción |
|---------|-------------|
| `git clone https://github.com/redcanaryco/atomic-red-team.git` | Clonar repositorio |
| `cd atomic-red-team` | Navegar al directorio |
| `chmod +x atomics/*/src/*` | Hacer scripts ejecutables |
### Execution
| Comando | Descripción |
|---------|-------------|
| `bash atomics/T1059.004/src/T1059.004.sh` | Ejecutar prueba basada en bash |
| `python3 atomics/T1059.006/src/T1059.006.py` | Ejecutar prueba basada en Python |
| `./atomics/T1083/src/T1083-1.sh` | Ejecutar variante de prueba específica |
## Integration with SIEM

### Splunk Integration
| Comando | Descripción |
|---------|-------------|
| `Invoke-AtomicTest T1003.001 -LoggingModule "Splunk"` | Registrar en Splunk |
| `index=atomic_red_team technique=T1003.001` | Buscar Splunk para resultados de prueba |
### ELK Stack Integration
| Comando | Descripción |
|---------|-------------|
| `Invoke-AtomicTest T1003.001 -LoggingModule "Elasticsearch"` | Registrar en Elasticsearch |
## Custom Test Development

### Test Structure
```yaml
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

Custom Test Execution

ComandoDescripción
Invoke-AtomicTest -AtomicsFolder "C:\CustomAtomics" T9999.001Ejecutar prueba personalizada

Reporting and Analysis

ComandoDescripción
Get-AtomicTestResultsObtener resultados de ejecución
Export-AtomicTestResults -Format CSV -Path "results.csv"Exportar resultados a CSV
Get-AtomicCoverageMostrar cobertura de MITRE ATT&CK
Show-AtomicTestMatrixMostrar matriz de prueba

Automation and Scheduling

PowerShell Scheduled Jobs

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

Continuous Testing

ComandoDescripción
Start-AtomicContinuousTesting -Techniques @("T1003.001","T1087.001") -Interval 3600Ejecutar pruebas cada hora

Security Considerations

  • Run tests in isolated environments only
  • Ensure proper cleanup after test execution
  • Monitor for false positives in security tools
  • Document all test executions for compliance
  • Use least privilege principles
  • Implement proper access controls
  • Regular backup before testing
  • Coordinate with security operations center

Best Practices

  • Start with low-impact techniques
  • Always run prerequisite checks first
  • Use cleanup functions after testing
  • Document test results and observations
  • Coordinate with blue team activities
  • Test in non-production environments first
  • Implement proper logging and monitoring
  • Regular updates to test library
  • Validate detection capabilities
  • Create custom tests for specific environments

Troubleshooting

ComandoDescripción
Get-Help Invoke-AtomicTest -FullObtener ayuda detallada
Test-AtomicTestInputArgs T1003.001Validar argumentos de entrada
Get-AtomicTestPrerequisites T1003.001Verificar requisitos previos
Repair-AtomicTest T1003.001Intentar solucionar problemas de prueba

Common Issues

  • Antivirus interference with test execution
  • Missing prerequisites or dependencies
  • Insufficient privileges for test execution
  • Network connectivity issues for external resources
  • Path-related issues on different operating systems