
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.
O projeto principal Covenant já não requer uma aplicação cliente. O Elite foi temporariamente descontinuado. Em vez disso, utilize a interface web incluída no projeto Covenant.
O Elite poderá eventualmente ser atualizado para acompanhar o projeto Covenant como uma interface alternativa, mas por enquanto este projeto não é atualizado e não funcionará com o Covenant v0.3 ou superior.
O Elite é uma aplicação cliente .NET Core desenvolvida para interagir com o Covenant.
O Covenant é um framework de comando e controle .NET que visa destacar a superfície de ataque do .NET, facilitar o uso de táticas ofensivas .NET e servir como uma plataforma colaborativa de comando e controle para equipes vermelhas.
O Covenant é uma aplicação ASP.NET Core, multiplataforma, que inclui uma API robusta para permitir uma arquitetura cliente-servidor que possibilita a colaboração de vários usuários. Existem três componentes principais na arquitetura do Covenant:
O Covenant possui várias funcionalidades importantes:
Primeiro, você precisa iniciar o Covenant! Consulte o README do Covenant para saber como fazer isso.
A maneira mais fácil de usar o Elite é instalando o dotnet core. Você pode baixar o dotnet core para sua plataforma aqui.
Depois de instalar o dotnet core, podemos compilar e executar o Elite usando a CLI dotnet:
$ ~/Elite/Elite > dotnet build
$ ~/Elite/Elite > dotnet run
O Elite também pode ser executado com Docker. Existem algumas armadilhas com o Docker, portanto, recomendo o uso do Docker apenas se você estiver familiarizado com ele ou estiver disposto a aprender as sutilezas.
Primeiro, construa a imagem Docker:
$ ~/Elite/Elite > docker build -t elite .
Agora podemos executar o Elite em um contêiner Docker:
$ ~/Elite/Elite > docker run -it --rm --name elite -v /absolute/path/to/Elite/Data:/app/Data elite --username AdminUser --computername <Covenant IP>
Os parâmetros --username AdminUser e --computername <Covenant IP> são argumentos passados para o Elite. Isso instrui o Elite a se conectar a uma instância do Covenant hospedada no endereço IP especificado e fazer login como um usuário chamado AdminUser.
O parâmetro -it é um parâmetro do Docker que indica que devemos iniciar o Elite em um tty interativo. Isso é importante, pois o Elite é uma aplicação de console interativa! O parâmetro -v /absolute/path/to/Elite/Data:/app/Data monta uma pasta Data compartilhada entre o seu host e o contêiner, e permite que você copie/cole facilmente ferramentas externas e payloads gerados durante a operação com o Elite. Certifique-se de substituir /absolute/path/to/Elite/Data pelo local da sua própria pasta Data do Elite.
Você também será solicitado a fornecer uma senha para o usuário AdminUser. Alternativamente, você pode definir isso de forma não interativa com o parâmetro --password do Elite, mas isso deixará sua senha em texto simples no histórico de comandos, o que não é ideal.
Tem perguntas ou quer conversar mais sobre o Covenant/Elite? Junte-se ao canal #Covenant no BloodHound Gang Slack.
Indicators. Isso permite que um operador realize ações que são rastreadas durante toda a operação e resuma facilmente essas ações para a equipe azul durante ou no final de uma avaliação para fins de desconflicção e educacionais. Esta funcionalidade ainda está no início e ainda tem espaço para melhorias.