| Comando | Descripción |
|---|
git clone https://github.com/redcanaryco/atomic-red-team.git | Clonar repositorio de Atomic Red Team |
cd atomic-red-team | Navegar al repositorio |
Install-Module -Name invoke-atomicredteam,powershell-yaml -Scope CurrentUser | Instalar módulos de PowerShell |
Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force | Importar módulo de PowerShell |
Invoke-AtomicTest T1003.001 -ShowDetails | Mostrar 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
| Comando | Descripción |
|---|
Get-AtomicTechnique | Enumerar 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 T1003 | Obtener detalles para técnica específica |
Uso Básico
| Comando | Descripción |
|---|
Invoke-AtomicTest T1566.001 | Spearphishing Attachment |
Invoke-AtomicTest T1566.002 | Enlace de Spearphishing |
Invoke-AtomicTest T1190 | Explotar Aplicación Expuesta Públicamente |
Invoke-AtomicTest T1133 | Servicios Remotos Externos |
Invoke-AtomicTest T1200 | Adiciones de Hardware |
Descubrimiento de Pruebas
| Comando | Descripción |
|---|
Invoke-AtomicTest T1059.001 | Ejecución de PowerShell |
Invoke-AtomicTest T1059.003 | Windows Command Shell |
Invoke-AtomicTest T1059.004 | Unix Shell |
Invoke-AtomicTest T1059.006 | Ejecución de Python |
Invoke-AtomicTest T1053.005 | Tarea/Trabajo Programado |
Técnicas de MITRE ATT&CK
Acceso Inicial
| Comando | Descripción |
|---|
Invoke-AtomicTest T1547.001 | Claves de Ejecución del Registro |
Invoke-AtomicTest T1053.005 | Tarea Programada |
Invoke-AtomicTest T1543.003 | Servicio de Windows |
Invoke-AtomicTest T1136.001 | Creación de cuenta local |
Invoke-AtomicTest T1098 | Manipulación de Cuenta |
Ejecución
| Comando | Descripción |
|---|
Invoke-AtomicTest T1548.002 | Omitir Control de Cuentas de Usuario |
Invoke-AtomicTest T1055 | Process Injection |
Invoke-AtomicTest T1134 | Manipulación de Token de Acceso |
Invoke-AtomicTest T1068 | Explotación para Escalada de Privilegios |
Persistencia
| Comando | Descripción |
|---|
Invoke-AtomicTest T1027 | Archivos o Información Ofuscados |
Invoke-AtomicTest T1070.004 | Eliminación de Archivos |
Invoke-AtomicTest T1562.001 | Deshabilitar o Modificar Herramientas |
Invoke-AtomicTest T1218.010 | Regsvr32 |
Invoke-AtomicTest T1036 | Enmascaramiento |
Escalada de Privilegios
| Comando | Descripción |
|---|
Invoke-AtomicTest T1003.001 | Volcado de memoria de LSASS |
Invoke-AtomicTest T1003.002 | Security Account Manager |
Invoke-AtomicTest T1003.003 | NTDS.dit |
Invoke-AtomicTest T1110.001 | Password Spraying |
Invoke-AtomicTest T1555.003 | Credenciales de Navegadores Web |
Evasión de Defensa
| Comando | Descripción |
|---|
Invoke-AtomicTest T1087.001 | Descubrimiento de Cuenta Local |
Invoke-AtomicTest T1087.002 | Descubrimiento de Cuenta de Dominio |
Invoke-AtomicTest T1018 | Descubrimiento de Sistema Remoto |
Invoke-AtomicTest T1083 | Descubrimiento de Archivos y Directorios |
Invoke-AtomicTest T1057 | Descubrimiento de Procesos |
Acceso a Credenciales
| Comando | Descripción |
|---|
Invoke-AtomicTest T1021.001 | Protocolo de Escritorio Remoto |
Invoke-AtomicTest T1021.002 | Recursos compartidos de administración de SMB/Windows |
Invoke-AtomicTest T1021.003 | Modelo de Objetos de Componentes Distribuidos |
Invoke-AtomicTest T1021.006 | Administración remota de Windows |
Invoke-AtomicTest T1550.002 | Pass the Hash |
Descubrimiento
| Comando | Descripción |
|---|
Invoke-AtomicTest T1005 | Datos del Sistema Local |
Invoke-AtomicTest T1039 | Datos de Network Shared Drive |
Invoke-AtomicTest T1113 | Captura de Pantalla |
Invoke-AtomicTest T1123 | Captura de Audio |
Invoke-AtomicTest T1115 | Datos del Portapapeles |
Movimiento Lateral
| Comando | Descripción |
|---|
Invoke-AtomicTest T1071.001 | Protocolos Web |
Invoke-AtomicTest T1071.004 | DNS |
Invoke-AtomicTest T1090.003 | Proxy de múltiples saltos |
Invoke-AtomicTest T1573.002 | Criptografía Asimétrica |
Recolección
| Comando | Descripción |
|---|
Invoke-AtomicTest T1041 | Exfiltración a través del Canal C2 |
Invoke-AtomicTest T1048.003 | Exfiltración a través de Protocolo No-C2 Sin Cifrar/Ofuscado |
Invoke-AtomicTest T1567.002 | Exfiltración a Cloud Storage |
Comando y Control
| Comando | Descripción |
|---|
Invoke-AtomicTest T1485 | Destrucción de Datos |
Invoke-AtomicTest T1486 | Datos Cifrados para Impacto |
Invoke-AtomicTest T1490 | Inhibir Recuperación del Sistema |
Invoke-AtomicTest T1498 | Denegación de Servicio de Red |
Exfiltración
| Comando | Descripció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
| Comando | Descripción |
|---|
Invoke-AtomicTest T1003.001,T1003.002,T1003.003 | Ejecutar múltiples pruebas |
| `Get-AtomicTechnique \ | ForEach-Object {Invoke-AtomicTest $_.Technique}` |
Uso Avanzado
Parámetros Personalizados
| Comando | Descripció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 60 | Establecer 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
| Comando | Descripción |
|---|
Invoke-AtomicTest -AtomicsFolder "C:\CustomAtomics" T9999.001 | Ejecutar prueba personalizada |
Reporting and Analysis
| Comando | Descripción |
|---|
Get-AtomicTestResults | Obtener resultados de ejecución |
Export-AtomicTestResults -Format CSV -Path "results.csv" | Exportar resultados a CSV |
Get-AtomicCoverage | Mostrar cobertura de MITRE ATT&CK |
Show-AtomicTestMatrix | Mostrar 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
| Comando | Descripción |
|---|
Start-AtomicContinuousTesting -Techniques @("T1003.001","T1087.001") -Interval 3600 | Ejecutar 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
| Comando | Descripción |
|---|
Get-Help Invoke-AtomicTest -Full | Obtener ayuda detallada |
Test-AtomicTestInputArgs T1003.001 | Validar argumentos de entrada |
Get-AtomicTestPrerequisites T1003.001 | Verificar requisitos previos |
Repair-AtomicTest T1003.001 | Intentar 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