Persistência
Acesso Comum
O Cobalt Strike não inclui nenhum comando integrado especificamente para persistência, porém existe uma ferramenta boa chamada SharPersist, que é um kit de ferramentas de persistência do Windows escrito pela FireEye. Está escrito em C#, portanto pode ser executado via execute-assembly
.
Task Schedule
Abra o powershell (de qualquer máquina) e execute os comandos abaixo. Lembre-se de alterar o caminho web para o caminho configurado no CS.
Caso prefira, pode executar também a partir de um Linux
Agora é necessário ter o SharPersist
na máquina atacante para poder prosseguir (o execute-assebly
lê arquivos localmente). Abaixo estamos programando a máquina alvo para executar a cada 1 hora, o comando definido acima. Altere o comando de acordo com a saída do comando anterior:
Explicação:
-t
= Técnica de persistência desejada-c
= Comando a ser executado.-a
= Argumentos-n
= Nome da tarefa-m
= Adicionar a tarefa (também é possível remover, verificar e listar)-o
= Frequencia da tarefa
Startup Folder
Utilize o mesmo esquema de conversão de comando em base64 com unicode para o comando abaixo. Altere o valor do parâmentro -f
para definir o nome do arquivo. Deixe algo como setup, config, init, etc. Mas atente-se para não colocar o nome de um arquivo que já existe.
Registry AutoRun
Primeiro faça upload do arquivo malicioso gerado pelo CS
Agora acesse-o, alterando no comando abaixo o caminho do arquivo e o parâmetro -v
que é o nome da chave de registro que irá ser criada
Acesso SYSTEM
Antes de começar, lembre-se de que os processos SYSTEM
não podem ser autenticados no proxy da web, portanto não podemos usar HTTP Beacons. Então deve-se usar beacons P2P ou DNS. E é claro, tenha em mãos um usuário com altos privilégios.
Windows Services
Muitos serviços do Windows que são executados como SYSTEM, mas podemos criar o nosso próprio serviço que não terá impacto nos serviços existentes. Faça primeiro o upload do tcp-local_x64.svc.exe
e renomeie para mysther-svc.exe
. Agora execute:
Após isso, a máquina deve ser reiniciada para que o serviço fique ativo e, para acessar de fato o Beacon, devemos executar o comando abaixo:
WMI Event Subscriptions
A persistência por meio de eventos WMI pode ser alcançada aproveitando as três classes a seguir:
EventConsumer
= Ação que queremos realizar – neste caso, executar uma carga útil. Isso pode ser feito por meio de comandos do sistema operacional (como uma linha única do PowerShell) ou VBScriptEventFilter
= Gatilho sobre o qual podemos agir. Qualquer consulta WMI arbitrária pode ser usada como um filtro que oferece opções praticamente ilimitadas. Isso pode incluir quando um processo específico é iniciado, quando um usuário faz login, quando um dispositivo USB é inserido, em qualquer horário específico do dia ou em um intervalo de tempoFilterToConsumerBinding
= Simplesmente vincula um EventConsumer e um EventFilter
No comando abaixo, iremos utilizar o PowerLurk, que é uma ferramenta do PowerShell para criar esses eventos WMI. Neste exemplo, iremos carregar uma carga DNS no diretório do Windows, importando o PowerLurk.ps1 e criando uma nova assinatura de evento WMI que a executará sempre que o notepad.exe
(poderia ser qualquer outro programa) for iniciado.
Feito isso, basta esperar o alvo abrir o notepad.exe
, que irá gerar o Beacon no CS. Para remover o backdoor, basta executar o comando abaixo:
Sites
Last updated