Atomic Red Team
"Clase de la hoja"
########################################################################################################################################################################################################################################################## Copiar todos los comandos
■/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 |
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