
ARTi-C2 es un marco de post-explotación utilizado para ejecutar casos de prueba de Atomic Red Team con capacidades rápidas de despliegue y ejecución de payloads a través del DLR de .NET.
ARTC2 es un marco de ejecución moderno que ayuda a los equipos de seguridad a escalar la ejecución de escenarios de ataque desde objetivos de punto de brecha único y múltiple. Su objetivo es producir inteligencia de ataque procesable que mejore la efectividad de los productos de seguridad y la respuesta a incidentes.
Las características y capacidades principales de ARTC2 provienen de SILENTTRINITY, y las pruebas atómicas ejecutadas a través de Boo provienen de ATOMIC-RED-TEAM. Todas las demás mejoras de funciones se construyeron para garantizar que la destreza operativa, la agilidad, la escalabilidad y la ejecución rápida no se vean comprometidas.
| CAPACIDAD | DESCRIPCIÓN |
|---|---|
| Despliegue Rápido | Automatiza y escala los esfuerzos de prueba desde puntos de brecha únicos y múltiples ubicados en diferentes entornos regionales |
| Mando y Control Moderno | Comunicaciones Implant y Servidor: Utiliza las capacidades de comunicación C2 cifradas con ECDHE de SILENTRINITY para cifrar el tráfico C2 sobre HTTPS. Comunicaciones Cliente y Servidor: Utiliza Asyncio, WebSockets y una CLI con prompt-toolkit. Las características notables incluyen: - Etiquetado de ubicación del implant: útil para gestionar señales y puntos de interrupción en diferentes regiones. Integración con NGROK - Ideal para preparar payloads y desplegarlos con URLs de ngrok |
| Encabezado de Firma Estándar | JSON PID: , Date(UTC), IsHighIntegrity, HostName, CurrentUser , IsUserAdmin, IPv4, IPv6 |
| Soporte de Registro JSON | Optimice, ingiera, decodifique y analice evidencia con su stack ELK o cualquier plataforma de análisis preparada para analizar JSON. |
| Ejecución de Código en Memoria sin Stager | Ejecute pruebas de Atomic Red Team desde un proceso de PowerShell no administrado con integridad baja, media y alta. |
| Formaciones de Ataque Dinámicas | Ejecute cadenas de ataque sin recompilar ni reiniciar ARTC2. Actualmente soporta tres funciones de ataque diferentes: Attack Chains, Attack Profiles y Attack Scenarios |
| Entrega Modular de Payloads | ARTC2 aprovecha el framework de SILENTRINITY que utiliza stagers de unmanaged powershell y stageless powershell para compilar y ejecutar payloads de pruebas atómicas de Red Team en memoria, "TAL CUAL" |
| Gestión Operativa | Los IDs de trabajo están incluidos para la ejecución del controlador y la recolección de evidencia. Son excelentes para el análisis de eventos y la correlación de evidencia. "job_id": "D3l820IWpyi67" |
Las organizaciones necesitan:
Por defecto, los registros de ARTIC-C2 se escriben en el directorio de trabajo actual de ARTIC-C2 en ./logs/. Los registros de sesión incluyen:
utc_timestamp: Marca de tiempo UTCsession: GUID de sesión objetivojob_id: ID único de ejecución de trabajottp_data: ID de técnicaevidence: Evidencia codificada en Base64 recolectada desde un punto de brecha objetivoevidence_status: Estado que indica si la TTP ejecutada fue bloqueada.
ENCABEZADO DE FIRMA DE EJECUCIÓN
Los encabezados de firma de ejecución se utilizan para verificar si alguna defensa bloquea los atómicos. A veces, los comandos atómicos pueden no devolver datos en STDOUT. Sin embargo, si el encabezado de firma de ejecución devuelve información de encabezado, esto indica que el código fuente se compiló, cargó en el CLR y se ejecutó en el punto de brecha objetivo. El encabezado de firma de ejecución incluye:
PID: utilizado durante la ejecución de la técnicaDate: sello UTC producido desde el punto de brecha objetivoIsHighIntegrity: Estado de integridad del procesoHostName: nombre de host del punto de brecha objetivoCurrentUser: Usuario actual. Excelente para rastrear cuando los usuarios son suplantadosIsUserAdmin: Estado de administradorIPv4: información de dirección IPv4IPv6: información de dirección IPv6EJEMPLO DE REGISTRO DE EVENTO DE EJECUCIÓN
T1069.001-2 se ejecutó en memoria
2021-08-21 07:42:21,146 - {"utc_timestamp": "2021-08-21T07:42:21Z", "msg": "Technique executed:", "controller": "Discovery/T1069.001-2", "last_updated_by": "ARMADO, Inc.",
"ttp_id": "T1069.001", "ttp_opts": {"OutString": {"Description": "Appends Out-String to the PowerShellCode", "Required": false, "Value": true}, "BypassLogging":
{"Description": "Bypasses ScriptBlock and Techniques logging", "Required": false, "Value": true}, "BypassAmsi": {"Description": "Bypasses AMSI", "Required": false, "Value": true}},
"decompressed_file": "n/a", "file_name": "n/a", "gzip_file": "n/a", "language": "boo", "references": ["System.Management.Automation"], "run_in_thread": "n/a", "job_id": "B5ppBWed5NF6c"}
EJEMPLO DE REGISTRO DE RECOLECCIÓN DE EVIDENCIA
Se recolectó evidencia del punto de brecha objetivo después de ejecutar T1069.001-2.
2021-08-21 07:42:25,076 - {"utc_timestamp": "2021-08-21T07:42:25Z", "session": "17ed378a-8cb9-4690-9087-e894c2b1e0a2", "job_id": "B5ppBWed5NF6c", "ttp_data": "T1069.001", "evidence": "IntQSUQ6IDU1NTYsIERhdGUoVVRDKTogMjAyMS0wOC0yMVQwNzo0MjoyNC45MDczMjQ5WiwgSXNIaWdoSW50ZWdyaXR5OiB0cnVlLCBIb3N0TmFtZTogYWQtZGMxLCBDdXJyZW50VXNlcjogZGVlcHJvb3RcXHJ1c3NlbF9oYW5jb2NrLCBJc1VzZXJBZG1pbjogdHJ1ZSwgSVB2NDogWzEwLjEuMC4xMDAsIDE2OS4yNTQuMTM0LjExMV0sIElQdjY6IFtmZTgwOjpkZGUxOjIyYTo3YmEzOmZlMGIlNSwgZmU4MDo6YjhmODpiNDIxOjI3Yzg6ODY2ZiUxMV19XHJcbk5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4tLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuQ2VydCBQdWJsaXNoZXJzICAgICAgICAgICAgICAgICAgICAgICAgIE1lbWJlcnMgb2YgdGhpcyBncm91cCBhcmUgcGVybWl0dGVkIHRvIHB1Ymxpc2ggY2VydGlmaWNhdGVzIHRvIHRoZSBkaXJlY3RvcnkgICAgXHJcblJBUyBhbmQgSUFTIFNlcnZlcnMgICAgICAgICAgICAgICAgICAgICBTZXJ2ZXJzIGluIHRoaXMgZ3JvdXAgY2FuIGFjY2VzcyByZW1vdGUgYWNjZXNzIHByb3BlcnRpZXMgb2YgdXNlcnMgICAgICAgICAgICAgIFxyXG5BbGxvd2VkIFJPREMgUGFzc3dvcmQgUmVwbGljYXRpb24gR3JvdXAgTWVtYmVycyBpbiB0aGlzIGdyb3VwIGNhbiBoYXZlIHRoZWlyIHBhc3N3b3JkcyByZXBsaWNhdGVkIHRvIGFsbCByZWFkLW9ubHkgZG8uLi5cclxuRGVuaWVkIFJPREMgUGFzc3dvcmQgUmVwbGljYXRpb24gR3JvdXAgIE1lbWJlcnMgaW4gdGhpcyBncm91cCBjYW5ub3QgaGF2ZSB0aGVpciBwYXNzd29yZHMgcmVwbGljYXRlZCB0byBhbnkgcmVhZC1vbmx5Li4uXHJcbiI=",
"evidence_status": "1"}
EJEMPLO DE FIRMA DE ENCABEZADO