
ARTi-C2 est un framework de post-exploitation utilisé pour exécuter des cas de test Atomic Red Team avec des capacités de déploiement et d'exécution rapides de charges utiles via le DLR de .NET.
ARTC2 est un framework d'exécution moderne qui aide les équipes de sécurité à passer à l'échelle l'exécution de scénarios d'attaque à partir de points de compromission uniques ou multiples. Il vise à produire des renseignements d'attaque exploitables qui améliorent l'efficacité des produits de sécurité et la réponse aux incidents.
Les fonctionnalités et capacités principales d'ARTC2 proviennent de SILENTTRINITY, et les tests atomiques exécutés via Boo sont issus de ATOMIC-RED-TEAM. Toutes les autres améliorations ont été conçues pour garantir que le savoir-faire opérationnel, l'agilité, l'évolutivité et l'exécution rapide ne soient pas compromis.
| CAPACITÉ | DESCRIPTION |
|---|---|
| Déploiement rapide | Automatisez et passez à l'échelle les efforts de test à partir de points de compromission uniques ou multiples situés dans différents environnements régionaux |
| Commande & Contrôle moderne | Communications Implant et Serveur : Utilise les capacités de C2 chiffré ECDHE de SILENTRINITY pour chiffrer le trafic C2 via HTTPS. Communications Client et Serveur : Utilise Asyncio, WebSockets et une CLI prompt-toolkit. Fonctionnalités notables : - Marquage de l'emplacement de l'implant : Utile pour gérer les signaux et les points d'arrêt dans différentes régions. Intégration NGROK - Idéal pour préparer des charges utiles et les déployer avec des URLs ngrok |
| En-tête de signature standard | JSON PID: , Date(UTC), IsHighIntegrity, HostName, CurrentUser , IsUserAdmin, IPv4, IPv6 |
| Prise en charge de la journalisation JSON | Rationalisez, ingérez, décodez et analysez les preuves avec votre pile ELK ou toute plateforme d'analyse capable d'analyser du JSON. |
| Exécution de code en mémoire sans stade | Exécutez les tests Atomic Red Team à partir d'un processus PowerShell non managé avec une intégrité faible, moyenne et élevée. |
| Formations d'attaque dynamiques | Exécutez des chaînes d'attaque sans recompiler ou redémarrer ARTC2. Prend actuellement en charge trois fonctions d'attaque différentes. Attack Chains, Attack Profiles et Attack Scenarios |
| Livraison modulaire de charges utiles | ARTC2 exploite le framework SILENTRINITY qui utilise des stagers powershell non managé et powershell sans stade pour compiler et exécuter les charges utiles des tests atomiques Red Team en mémoire, "TELLE QUELLE" |
| Gestion opérationnelle | Les ID de tâche sont inclus pour l'exécution du contrôleur et la collecte de preuves. Ils sont utiles pour l'analyse des événements et la corrélation des preuves. "job_id": "D3l820IWpyi67" |
| Mises à jour atomiques | Le pipeline de portage ART est déclenché par les mises à jour du dépôt sur ATOMIC-RED-TEAM |
Les organisations ont besoin de :
Par défaut, les journaux d'ARTIC-C2 sont écrits dans le répertoire de travail actuel de l'outil, dans ./logs/.
Les journaux de session incluent :
utc_timestamp : horodatage UTCsession : GUID de session ciblejob_id : ID unique d'exécution de tâchettp_data : ID de techniqueevidence : preuves encodées en Base64 collectées depuis un point de compromission cibleevidence_status : statut indiquant si la TTP exécutée a été bloquée.
EN-TÊTE DE SIGNATURE D'EXÉCUTION
Les en-têtes de signature d'exécution sont utilisés pour vérifier si des défenses bloquent les atomiques. Parfois, les commandes atomiques peuvent ne pas renvoyer de données dans STDOUT. Cependant, si l'en-tête de signature d'exécution renvoie des informations d'en-tête, cela indique que le code source a été compilé, chargé dans le CLR et exécuté sur le point de compromission cible. L'en-tête de signature d'exécution inclut :
PID : utilisé lors de l'exécution de la techniqueDate : horodatage UTC produit depuis le point de compromission cibleIsHighIntegrity : statut d'intégrité du processusHostName : nom d'hôte du point de compromission cibleCurrentUser : utilisateur actuel. Idéal pour suivre quand les utilisateurs sont usurpésIsUserAdmin : statut administrateurIPv4 : informations d'adresse IPv4IPv6 : informations d'adresse IPv6EXEMPLE DE JOURNAL D'ÉVÉNEMENT D'EXÉCUTION
T1069.001-2 a été exécuté en mémoire
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"}
EXEMPLE DE JOURNAL DE COLLECTE DE PREUVES
Des preuves ont été collectées depuis le point de compromission cible après l'exécution de 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"}
EXEMPLE DE SIGNATURE D'EN-TÊTE