Covenant C2 preenche o vazio deixado pelo Empire PowerShell
Jan 27, 2023
Ferramentas de pós-exploração são utilizadas por agentes de ameaças para se moverem lateralmente dentro de uma rede e escalar seus privilégios a fim de roubar dados, liberar malware, criar backdoors e mais. Equipes vermelhas e hackers éticos também usam essas ferramentas; de fato, simular os esforços dos adversários desempenha um papel chave na implementação de controles eficazes para proteger sistemas, aplicações e arquivos.
Até recentemente, um dos frameworks de pós-exploração mais utilizados era o PowerShell Empire (PSEmpire). Ele permitia que os adversários usassem agentes PowerShell e Python para implantar itens maliciosos, variando de keyloggers a mimikatz, em ambientes Windows, Linux e macOS enquanto evitavam detecção. No entanto, em 2019, a página do projeto Empire GitHub anunciou que o PowerShell Empire não estava mais sendo suportado. Isso provavelmente se deveu ao fato de que as ferramentas de detecção e resposta a endpoints (EDR) estavam se tornando mais eficazes na detecção do uso malicioso do PowerShell.
Assim, muitos atacantes e profissionais de cibersegurança passaram a utilizar frameworks C2 de código aberto de próxima geração. Este artigo explora uma dessas ferramentas de pós-exploração: Covenant C2.
Conteúdo relacionado selecionado:
Sobre Covenant C2
Covenant C2 é um framework de comando e controle (C&C) que facilita a exploração de aplicações web e seus ambientes de rede de suporte. Este framework de código aberto altamente escalável está disponível no GitHub. Implementa-se em minutos, mesmo para aqueles com experiência mínima em framework C2, e oferece uma interface web intuitiva (ver Figura 1) que facilita a adição de novos agentes, fontes de dados e integrações, e para extrair dados e credenciais.
Figura 1. Painel do Covenant (fonte: GitHub)
Arquitetura
Covenant é construído sobre uma arquitetura altamente escalável escrita em C# que permite aos desenvolvedores construir facilmente integrações com a estrutura. Ele suporta perfis multiusuário com autenticação e utiliza bancos de dados leves e confiáveis como SQLLite e PostgreSQL. Seu suporte multiplataforma inclui Windows, macOS e distribuições Linux como Kali.
O Covenant Server executa funcionalidades de comando e controle, permitindo que os usuários operem colaborativamente uns com os outros. Ele utiliza grunts — agentes que se comportam muito como os soldados rasos na guerra antiga que eram utilizados como bucha de canhão. Esses grunts se comunicam com o Covenant server enquanto realizam suas tarefas designadas e evitam detecção.
Implementando Covenant
Um servidor Covenant pode estar operacional em questão de minutos. No Windows, o único pré-requisito é o .NET Core SDK. Para construir e iniciar a aplicação Covenant ASP .NET Core, basta executar os seguintes comandos:
git clone --recurse-submodules https://github.com/cobbr/Covenant
cd Covenant/Covenant
dotnet build
dotnet run
Alternativamente, você pode usar um Docker container.
Em seguida, acesse a máquina localhost usando a porta 7443 e você poderá começar a usar a Covenant UI com o seu navegador preferido.
Usando Covenant
A primeira tarefa é configurar um listener, conforme detalhado aqui. Em seguida, crie um payload para implantar seus grunts em máquinas remotas onde eles estabelecerão comunicações com o servidor Covenant.
Então você pode usar as seguintes páginas na Covenant UI para criar, executar e revisar tarefas.
Página de Grunhidos
Use a página Grunts para revisar seus grunts e fazê-los executar tarefas.
Figura 2. Página de detalhes do Grunt (fonte: GitHub)
Exemplo: Implementando mimikatz
Por exemplo, o vídeo abaixo ilustra como usar um Grunt para implantar mimikatz:
Figura 3. Usando um grunt para implantar mimikatz
Você pode revisar o resultado da tarefa executada usando a interface do navegador.
Figura 4. Revisando o resultado de uma tarefa realizada por um grunt
Página de Tarefas
A página de Tasks page oferece uma lista ordenável e pesquisável de todas as tarefas disponíveis que você pode atribuir aos seus Grunts.
Figura 5. Página de Tarefas
Página de Tarefas
A Página de Tarefas mostra as tarefas que você atribuiu aos grunts e o status delas.
Figura 6. Página de tarefas
Página de Dados
O propósito das tarefas é capturar dados, que são resumidos na Data Page. A aba Indicators fornece um registro de auditoria da atividade, que você pode passar para sua equipe azul para reforçar seus esforços de segurança.
Figura 7. Página de dados
Conclusão
Covenant C2 é um excelente exemplo de como projetos open-source C2 de pós-exploração têm passado o bastão do PowerShell Empire para capacitar equipes de red team. Inclui muitos recursos impressionantes que o tornam ideal para esforços colaborativos de hacking ético. Existem muitos ótimos recursos no Covenant GitHub para ajudá-lo a começar. Se o framework Covenant é novidade para você, é hora de conferir.
Compartilhar em
Saiba Mais
Sobre o autor
Joe Dibley
Pesquisador de Segurança
Pesquisador de Segurança na Netwrix e membro da Equipe de Pesquisa de Segurança da Netwrix. Joe é um especialista em Active Directory, Windows e uma ampla variedade de plataformas de software empresarial e tecnologias, Joe pesquisa novos riscos de segurança, técnicas de ataque complexas e as respectivas mitigações e detecções.
Saiba mais sobre este assunto
Exemplo de Análise de Risco: Como Avaliar Riscos
O Triângulo da CIA e Sua Aplicação no Mundo Real
Criar usuários do AD em massa e enviar suas credenciais por e-mail usando PowerShell
Como adicionar e remover grupos AD e objetos nos grupos com PowerShell
Atributos do Active Directory: Último Logon