
Framework C2 em C# focado em operações de Estágio 1
Framework C2 em C# focado em operações de Estágio 1
Atlas é baseado em obter um ponto de apoio dentro de um ambiente e utilizá-lo para contrabandear armamento C# (atualmente estritamente C#) utilizando um implante baseado em HTTP. Não é exatamente muito seguro em termos de OPSEC no estado atual... de forma alguma. Atualmente tem como alvo apenas ambientes Windows.
Nota: As configurações padrão de conexão no implante estão definidas para conectar ao localhost na porta 8080, isso pode ser alterado aqui
Após gerar um executável do cliente, teamserver e implante, basta executar Teamserver.exe para iniciar o teamserver
Para iniciar um novo listener, use o comando StartListener. Este comando aceita dois parâmetros: nome do listener e a porta na qual executar
O comando Listeners lista todos os listeners, ViewListener retorna dados sobre o listener especificado e RemoveListener pode ser usado para remover um listener da lista
Listar implantes conectados pode ser feito usando o comando Implants
Conectar a um implante é tão simples quanto Connect <ImplantId>. Viu o que eu fiz?...ok, vou me retirar. Assim como o comando Connect é usado para selecionar um implante, ViewImplant pode ser usado para visualizar mais informações sobre o implante selecionado. O comando Disconnect remove a seleção do implante atualmente selecionado, conforme mostrado abaixo.
Para usar uma tarefa, a tarefa deve primeiro ser selecionada usando SetTask. As opções podem ser visualizadas usando TaskOpts e definidas usando SetTaskOpt. As tarefas são executadas usando SendTask
É possível visualizar a saída de uma tarefa executada anteriormente usando TaskOut. TasksOut pode ser usado para visualizar todas as tarefas executadas anteriormente relacionadas ao implante selecionado.
O Atlas permite que operadores executem comandos tanto do PowerShell quanto do Cmd usando as tarefas PSShell e CMDShell, respectivamente. PSShell abre um novo runspace e executa o comando, portanto, mesmo que powershell.exe esteja na lista negra, comandos do PowerShell ainda podem ser executados. Este método também ignora o Modo de Idioma Restrito. CMDShell abre um processo cmd.exe e passa o comando para o processo. A execução de um comando do PowerShell foi mostrada acima, portanto não será mostrada novamente aqui. Nota lateral sobre CMDShell: muitos comandos comuns executados (incluindo, mas não se limitando a whoami, ipconfig, pwd e cd) foram implementados na funcionalidade do implante para evitar a necessidade de executar tais comandos via um processo cmd.exe.
Carregar assemblies requer alguns passos, diferente de algo como CobaltStrike que faz tudo usando execute-assembly. Primeiro, um operador deve usar o utilitário ByteConvert (deve-se informar ao ByteConvert se o arquivo é local ou remoto) para converter um arquivo armazenado localmente ou remoto em um array de bytes e armazená-lo na variável assemBytes. Uma vez feito isso, a tarefa Load é usada para carregar o assembly no processo do implante.
Para visualizar assemblies carregados no processo do implante, os operadores podem usar as tarefas AssemQuery e AssemMethodQuery. A primeira retorna todos os assemblies carregados, enquanto a segunda retorna todos os métodos públicos relacionados a um assembly carregado
A captura de tela confirma que o assembly TestAssem foi de fato carregado no processo do implante.
AssemMethodQuery pode então ser usado para retornar informações sobre TestAssem que um operador pode usar para obter informações necessárias para executar métodos públicos
O Atlas oferece a opção de executar um assembly a partir de seu ponto de entrada ou de um método exposto especificado. ExecuteAssem pode ser usado para executar a partir do ponto de entrada. Esta tarefa aceita apenas o nome do assembly. ExecuteAssemMethod permite a execução de outros métodos usando informações obtidas de AssemMethodQuery.
Para uma lista completa de funcionalidades, visite o wiki
Abra o .sln e compile todos os 3 componentes no modo Release; janelas de console e executáveis devem ser gerados em \bin\debug de cada componente. Preciso melhorar isso.
cpupload/downloadO Atlas foi projetado exclusivamente para fins educacionais/éticos. Não endosso nem sou responsável por ações tomadas por usuários do Atlas.