
DARKSURGEON é um projeto packer para Windows para capacitar resposta a incidentes, perícia digital, análise de malware e defesa de rede.
DARKSURGEON é um projeto de packer do Windows para capacitar resposta a incidentes, perícia digital, análise de malware e defesa de rede.
O DARKSURGEON possui três objetivos declarados:
Se você nunca trabalhou com packer antes, este projeto tem uma premissa simples:
Fornecer todas as ferramentas necessárias para ter uma máquina virtual Windows produtiva, segura e privada, para que você gaste menos tempo ajustando seu ambiente e mais tempo combatendo os bandidos.
Por favor, note que este é um projeto alfa e estará sujeito a desenvolvimento contínuo, atualizações e quebra de pacotes.
O DARKSURGEON é baseado em alguns princípios-chave de desenvolvimento:
O DARKSURGEON é endurecido desde o início e vem com scripts para ativar modos de segurança Alto ou Baixo.
Todas as instalações padrão do DARKSURGEON têm os seguintes recursos de segurança ativados:
Além disso, o usuário pode especificar um modo de segurança Baixo ou Alto usando os scripts apropriados. A configuração padrão é construir uma imagem no modo de segurança Baixo.
O modo de segurança Baixo é usado principalmente para máquinas virtuais destinadas a engenharia reversa, análise de malware ou sistemas que não suportam controles de segurança VBS.
No modo de segurança Baixo, os seguintes recursos de endurecimento são configurados:
Nota: O modo de segurança Alto ainda está em desenvolvimento.
O modo de segurança Alto é usado principalmente para implantação em produção de sistemas sensíveis (ex: Estações de Trabalho de Acesso Privilegiado) e pode exigir ajustes ou configuração adicionais.
No modo de segurança Alto, os seguintes recursos de endurecimento são configurados:
Seja analisando binários desconhecidos ou trabalhando em projetos sensíveis, a telemetria do endpoint impulsiona as operações de detecção e resposta. O DARKSURGEON vem pré-configurado com as seguintes fontes de telemetria disponíveis para análise:
Seu ambiente operacional contém alguns dos dados mais sensíveis da sua rede, e é importante protegê-los de olhares curiosos. O DARKSURGEON implementa as seguintes estratégias para maximizar a privacidade sem prejudicar os fluxos de trabalho:
Desde o início, o DARKSURGEON vem equipado com ferramentas, scripts e binários para facilitar sua vida como defensor.
Análise Android:
Ferramentas, scripts e binários focados em análise Android e engenharia reversa.
Blue Team:
Ferramentas, scripts e binários focados em blue team, defesa de rede e desenvolvimento de alertas/detecção.
Depuradores:
Ferramentas, scripts e binários para depuração de artefatos binários.
Desmontadores:
Ferramentas, scripts e binários para desmontagem de artefatos binários.
Análise de Documentos: Ferramentas, scripts e binários para realizar análise de documentos.
Análise DotNet:
Ferramentas, scripts e binários para realizar análise de artefatos DotNet.
Análise Flash:
Ferramentas, scripts e binários para realizar análise de artefatos Flash.
Análise Forense:
Ferramentas, scripts e binários para realizar análise forense em artefatos de aplicativos e sistema operacional.
Editores Hexadecimais:
Análise Java:
Análise de Rede:
Análise de PE:
Módulos Powershell:
Bibliotecas Python:
Red Team:
Gerenciamento Remoto:
Utilitários:
Análise Visual Basic:
O DARKSURGEON é construído usando o aplicativo packer da HashiCorp. O tempo total de build para uma nova instância do DARKSURGEON é de cerca de 2 a 3 horas.
Nota: O Hyper-V é atualmente o único hipervisor suportado nesta versão alfa. Suporte para VirtualBox e VMWare está por vir.
powershell.exe New-DARKSURGEONISO.ps1packer build -only=[hyperv-iso|vmware|virtualbox] .\DARKSURGEON.jsonO DARKSURGEON foi projetado para ser modular e fácil de configurar. Um exemplo de configuração é fornecido no arquivo DARKSURGEON.json, mas você pode adicionar, remover ou ajustar qualquer um dos scripts subjacentes.
Precisa adicionar uma CA personalizada? Precisa adicionar um arquivo de licença para IDA? Sem problema. Você pode colocar quaisquer arquivos necessários no diretório configuration-files e eles serão copiados para o host para você.
Quer instalar um pacote personalizado ou precisa de alguns ajustes específicos no SO? Sem preocupações. Basta criar um novo script powershell (ou modificar um existente) no diretório configuration-scripts e adicioná-lo como uma etapa de build no arquivo JSON do packer.
Nota: O Hyper-V é atualmente o único hipervisor suportado nesta versão alfa. Suporte para VirtualBox e VMWare está por vir.
Assim que o DARKSURGEON for construído com sucesso, você receberá um arquivo de box vagrant de saída. O arquivo de box contém a imagem da máquina virtual e metadados do vagrant, permitindo que você levante rapidamente uma máquina virtual conforme necessário.
vagrant upO Vagrant agora extrairá a imagem da máquina virtual do arquivo de box, lerá os metadados e criará uma nova VM para você. Quer matar esta VM e obter uma nova?
Fácil, basta executar o seguinte:
vagrant destroy && vagrant up
Assim que a máquina virtual DARKSURGEON estiver em execução, você pode fazer login usando uma das duas contas locais:
Nota: Estas são contas padrão com credenciais padrão. Você pode considerar alterar as credenciais em sua build packer.
Conta de Administrador:
Nome de usuário: Darksurgeon
Senha: darksurgeon
Conta de Usuário Local:
Nome de usuário: Unprivileged
Senha: unprivileged
Se preferir não usar vagrant, você pode importar a imagem da VM manualmente ou ver uma das muitas outras opções de pós-processador fornecidas pelo packer.
Se preferir pular o processo de construção do DARKSURGEON e confiar no arquivo de box que construí, você pode simplesmente baixá-lo aqui.
Contribuições, correções e melhorias podem ser submetidas diretamente a este projeto como uma issue do GitHub ou pull request. As ferramentas serão revisadas e adicionadas caso a caso.
Acredito firmemente no valor do Windows Defender Device Guard e da Virtualization Based Security, que exigem o uso do Hyper-V para máxima eficácia. Como resultado, outros hipervisores não são recomendados na máquina host. Farei o meu melhor para acomodar outros hipervisores principais, mas encorajo todos os usuários a tentarem usar o Hyper-V.
Esta foi uma decisão de design tomada para garantir que todos os pacotes esperados entrassem na build final do packer. O lado positivo desta decisão é que garante que todas as ferramentas esperadas estarão disponíveis no produto finalizado. O lado negativo é que complexidade e fragilidade adicionais são inseridas no pipeline de build, pois erros transitórios ou do chocolatey podem causar falha na build.
Se você deseja ignorar essa funcionalidade, é livre para modificar o script subjacente para ignorar erros na instalação de pacotes.
Sim. Se você adicionar seu arquivo de licença (nomeado chocolatey.license.xml) ao diretório configuration-files ao realizar uma build packer, ele será automaticamente importado pelo script Set-ChocolateySettings.ps1. Certifique-se de que seu uso de uma licença chocolatey está de acordo com o Contrato de Licença de Usuário Final deles.
Flexibilidade é fundamental. Você pode optar por usar — ou não usar — qualquer um desses scripts, e em qualquer ordem. Ter arquivos individuais, embora aumente a complexidade do projeto, garante que o projeto possa ser completamente personalizado sem problemas.
Adicione o script Set-Breakpoint.ps1 ao processo do provisionador no ponto desejado. Isso fará com que a build do packer pare por 4 horas enquanto aguarda a conclusão do script.
Provavelmente é um problema de temporização causado pelo pressionamento de teclas emulado não fazer a imagem inicializar a partir da ISO do Windows montada. Reinicie sua VM e pressione qualquer botão algumas vezes até que o processo de build comece.
Devido ao tamanho dos pacotes baixados e instalados, você pode ter excedido o limite de tempo padrão da build do packer.
Conecte-se ao convidado e verifique o seguinte:
Test-NetConnection -ComputerName <Endereço IP do Packer> -Port 5985)Infelizmente, esses pacotes podem ser um alvo móvel. Novas atualizações podem tornar o checksum estático no pacote chocolatey incorreto, o antivírus pode sinalizar binários erroneamente, etc. Opções globais do chocolatey podem ser especificadas para evitar que esses erros ocorram, mas farei o meu melhor para responder a relatórios de bugs arquivados como issues em pacotes chocolatey subjacentes.
Você, como usuário deste projeto, deve revisar, aceitar e cumprir os termos de licença de cada pacote baixado/instalado. Se você não deseja cumprir os termos de licença de qualquer componente de software específico, remova esse pacote de sua build packer ou não use este projeto.
Licença MIT
Copyright (c) 2018
A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido o façam, sujeitas às seguintes condições:
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO INFRINGIMENTO. EM NENHUM CASO OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, DELITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.
Este projeto se apoia nos ombros de gigantes, e não posso agradecer adequadamente a todos os autores originais por seu trabalho, contribuições e inspiração.