
Elite is the client-side component of the Covenant project. Covenant is a .NET command and control framework that aims to highlight the attack surface of .NET, make the use of offensive .NET tradecraft easier, and serve as a collaborative command and control platform for red teamers.
Le projet parent Covenant ne nécessite plus d’application côté client. Elite a été temporairement déprécié. Veuillez plutôt utiliser l’interface web incluse dans le projet Covenant.
Elite pourra éventuellement être mis à jour pour fonctionner avec le projet Covenant en tant qu’interface alternative, mais pour l’instant ce projet n’est plus mis à jour et ne fonctionnera pas avec Covenant v0.3 ou version ultérieure.
Elite est une application client .NET Core conçue pour interagir avec Covenant.
Covenant est un framework de commande et contrôle .NET qui vise à mettre en évidence la surface d’attaque de .NET, faciliter l’utilisation des techniques offensives .NET et servir de plateforme de commande et contrôle collaborative pour les équipes rouges.
Covenant est une application ASP.NET Core multiplateforme qui comprend une API robuste pour permettre une architecture client-serveur autorisant la collaboration multi-utilisateurs. Il y a trois composants principaux dans l’architecture de Covenant :
Covenant possède plusieurs fonctionnalités clés :
Tout d’abord, vous devez démarrer Covenant ! Allez consulter le README de Covenant pour voir comment faire.
La façon la plus simple d’utiliser Elite est d’installer dotnet core. Vous pouvez télécharger dotnet core pour votre plateforme ici.
Une fois dotnet core installé, nous pouvons compiler et exécuter Elite en utilisant l’interface CLI dotnet :
$ ~/Elite/Elite > dotnet build
$ ~/Elite/Elite > dotnet run
Elite peut aussi être exécuté avec Docker. Il y a quelques pièges avec Docker, donc je ne recommande d’utiliser Docker que si vous êtes familier avec Docker ou prêt à en apprendre les subtilités.
Tout d’abord, construisez l’image Docker :
$ ~/Elite/Elite > docker build -t elite .
Maintenant nous pouvons exécuter Elite dans un conteneur Docker :
$ ~/Elite/Elite > docker run -it --rm --name elite -v /absolute/path/to/Elite/Data:/app/Data elite --username AdminUser --computername <Covenant IP>
Les paramètres --username AdminUser et --computername <Covenant IP> sont des arguments passés à Elite. Cela indique à Elite de se connecter à une instance Covenant hébergée à l’adresse IP spécifiée et de se connecter en tant qu’utilisateur nommé AdminUser.
Le paramètre -it est un paramètre Docker qui indique que nous devons lancer Elite dans un terminal interactif (tty). C’est important, car Elite est une application console interactive ! Le paramètre -v /absolute/path/to/Elite/Data:/app/Data monte un dossier Data partagé entre votre hôte et le conteneur, et vous permet de copier/coller facilement des outils externes et des charges utiles générées pendant l’opération avec Elite. Assurez-vous de remplacer /absolute/path/to/Elite/Data par le chemin de votre propre dossier Elite Data.
Il vous sera également demandé de fournir un mot de passe pour l’utilisateur AdminUser. Vous pouvez aussi le définir de manière non interactive avec le paramètre --password d’Elite, mais cela laissera votre mot de passe en clair dans l’historique des commandes, ce qui n’est pas idéal.
Vous avez des questions ou souhaitez discuter davantage de Covenant/Elite ? Rejoignez le canal #Covenant sur le Slack BloodHound Gang.
Indicators. Cela permet à un opérateur de mener des actions qui sont suivies pendant toute l’opération et de résumer facilement ces actions à l’équipe bleue pendant ou à la fin de l’évaluation à des fins de déconfliction et de formation. Cette fonctionnalité en est encore à ses débuts et peut encore être améliorée.