
ARTi-C2 è un framework di post-exploitation utilizzato per eseguire casi di test Atomic Red Team con capacità di distribuzione ed esecuzione rapida di payload tramite DLR di .NET.
ARTC2 è un framework di esecuzione moderno che aiuta i team di sicurezza a scalare l'esecuzione di scenari di attacco da singoli e molteplici punti di violazione. L'obiettivo è produrre intelligence d'attacco utilizzabile per migliorare l'efficacia dei prodotti di sicurezza e la risposta agli incidenti.
Le funzionalità e capacità principali di ARTC2 provengono da SILENTTRINITY, e i test atomici eseguiti tramite Boo provengono da ATOMIC-RED-TEAM. Tutti gli altri miglioramenti funzionali sono stati sviluppati per garantire che l'arte operativa, l'agilità, la scalabilità e l'esecuzione rapida non siano compromesse.
| CAPACITÀ | DESCRIZIONE |
|---|---|
| Distribuzione rapida | Automatizza e scala gli sforzi di test da singoli e molteplici punti di violazione situati in diversi ambienti regionali |
| Comando e controllo moderni | Comunicazioni Implant e Server: Utilizza le capacità di comunicazione C2 crittografata ECDHE di SILENTRINITY per crittografare il traffico C2 su HTTPS. Comunicazioni Client e Server: Utilizza Asyncio, WebSockets e una CLI basata su prompt-toolkit. Caratteristiche notevoli: - Etichettatura della posizione dell'implant: utile per gestire segnali e punti di interruzione in diverse regioni. Integrazione NGROK - Ottimo per preparare i payload e distribuirli con URL ngrok |
| Intestazione di firma standard | JSON PID: , Date(UTC), IsHighIntegrity, HostName, CurrentUser , IsUserAdmin, IPv4, IPv6 |
| Supporto per logging JSON | Semplifica, inserisci, decodifica e analizza le prove con il tuo stack ELK o qualsiasi piattaforma di analisi pronta per analizzare JSON. |
| Esecuzione di codice in memoria senza stager | Esegui i test di Atomic Red Team da un processo PowerShell non gestito con integrità bassa, media e alta. |
| Formazioni d'attacco dinamiche | Esegui catene d'attacco senza ricompilare o riavviare ARTC2. Attualmente supporta tre diverse funzioni d'attacco: Attack Chains, Attack Profiles e Attack Scenarios |
| Consegna di payload modulare | ARTC2 sfrutta il framework SILENTRINITY che utilizza stager unmanaged powershell e stageless powershell per compilare ed eseguire i payload dei test atomici Red Team in memoria, "COSÌ COM'È" |
| Gestione operativa | Gli ID di lavoro sono inclusi per l'esecuzione del controllo e la raccolta delle prove. Sono utili per l'analisi degli eventi e la correlazione delle prove. "job_id": "D3l820IWpyi67" |
Le organizzazioni devono:
Per impostazione predefinita, i log di ARTIC-C2 vengono scritti nella directory di lavoro corrente di ARTIC-C2 in ./logs/. I log di sessione includono:
utc_timestamp: Timestamp UTCsession: GUID della sessione targetjob_id: ID univoco di esecuzione del lavorottp_data: ID della tecnicaevidence: Prove codificate in Base64 raccolte da un punto di violazioneevidence_status: Stato per indicare se il TTP eseguito è stato bloccato.
INTESTAZIONE DI FIRMA DI ESECUZIONE
Le intestazioni di firma di esecuzione vengono utilizzate per verificare se eventuali difese bloccano gli atomici. A volte, i comandi atomici potrebbero non restituire dati in STDOUT. Tuttavia, se l'intestazione di firma di esecuzione restituisce informazioni di intestazione, ciò indica che il codice sorgente è stato compilato, caricato nel CLR ed eseguito sul punto di violazione target. L'intestazione di firma di esecuzione include:
PID: utilizzato durante l'esecuzione della tecnicaDate: timbro UTC prodotto dal punto di violazioneIsHighIntegrity: stato di integrità del processoHostName: hostname del punto di violazioneCurrentUser: utente corrente. Ottimo per tracciare quando gli utenti vengono impersonatiIsUserAdmin: stato di amministratoreIPv4: informazioni sull'indirizzo IPv4IPv6: informazioni sull'indirizzo IPv6LOG DI ESECUZIONE DI ESEMPIO
T1069.001-2 è stato eseguito in 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"}
LOG DI RACCOLTA PROVE DI ESEMPIO
Le prove sono state raccolte dal punto di violazione target dopo l'esecuzione di 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"}
INTESTAZIONE DI FIRMA DI ESEMPIO
"{PID: 5556, Date(UTC): 2020-01-02T06:55:47Z, IsHighIntegrity: true, HostName: ad-dc1, CurrentUser: artic\\c2operator, IsUserAdmin: true,
IPv4: [10.1.0.100, 169.254.134.111], IPv6: [fe80::dde1:22a:7ba3:fe0b%5, fe80::b8f8:b421:27c8:866f%11]}
LOG DI PROVE DECODIFICATE IN BASE64 DI ESEMPIO