
Cria VMs Windows de análise de malware para que você não precise.
= Malboxes :toc: preamble :toclevels: 2 :twob: https://twitter.com/obilodeau :twhg: https://twitter.com/hugospns // github stuff ifdef::env-github[:github:]
ifndef::github[] // local logo image::docs/logos/main.svg[Logo do Malboxes] endif::[]
ifdef::github[] // logo on github image::https://raw.githubusercontent.com/GoSecure/malboxes/master/docs/logos/main.svg?sanitize=true[Logo do Malboxes]
.Saúde do projeto // Travis Build Status image:https://img.shields.io/travis/GoSecure/malboxes/master.svg[Build Status (Travis CI), link=https://travis-ci.org/GoSecure/malboxes] // BlackHat Arsenal 2017 image:https://raw.githubusercontent.com/toolswatch/badges/master/arsenal/usa/2017.svg?sanitize=true[Black Hat Arsenal, link=https://www.toolswatch.org/2017/06/the-black-hat-arsenal-usa-2017-phenomenal-line-up-announced/] // Gitter Chat image:https://badges.gitter.im/malboxes_/Lobby.svg[link="https://gitter.im/malboxes_/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"] endif::[]
Constrói máquinas virtuais Windows para análise de malware para que você não precise.
https://github.com/gosecure/malboxes
== Requisitos
=== Especificações mínimas para a máquina de build
=== Fedora
dnf install ruby-devel gcc-c++ zlib-devel
vagrant plugin install winrm winrm-fs
=== Debian
apt install vagrant git python3-pip
=== Ubuntu
apt install git python3-pip
=== ArchLinux
pacman -Sy vagrant packer python-pip git
== Instalação
=== Linux/Unix
pip install malboxes:=== Windows
NOTE: A partir do Windows 10, o Hyper-V está sempre rodando abaixo do sistema operacional. Como o VT-X precisa ser operado exclusivamente por apenas um hipervisor, https://github.com/GoSecure/malboxes/issues/39[isso faz com que o VirtualBox (e o malboxes) falhem]. Para desabilitar o Hyper-V e permitir que o VirtualBox execute, execute o seguinte comando em um prompt de comando administrativo e reinicie: bcdedit /set hypervisorlaunchtype off
==== Usando Chocolatey
As etapas a seguir assumem que você tem o https://chocolatey.org/[Chocolatey] instalado. Caso contrário, siga o <<Manualmente,procedimento de instalação manual>>.
==== Manualmente
C:\Windows\System32\=== Para implantar na AWS (opcional) Execute este comando após a instalação normal:
vagrant plugin install vagrant-aws
NOTE: O recurso AWS foi testado apenas no Linux por enquanto e o EC2 não suporta a versão desktop de 32 bits do Windows 10.
== Uso
=== Criação da box
Isso cria sua box base que é importada no Vagrant. Depois, você pode reutilizar a mesma box várias vezes por análise de amostra.
Execute:
malboxes build <template>
Você também pode listar todos os templates suportados com:
malboxes list
Isso construirá uma box Vagrant pronta para investigação de malware que você pode incluir em um Vagrantfile posteriormente.
Por exemplo:
malboxes build win10_x64_analyst
<<_configuration,A seção de configuração>> contém mais informações sobre o que pode ser configurado com malboxes.
=== Instâncias por análise
malboxes spin win10_x64_analyst <name>
Isso criará um Vagrantfile preparado para uso em análise de malware. Mova-o para um diretório de sua escolha e execute:
vagrant up
Por padrão, o diretório local será compartilhado na VM na Área de Trabalho. Isso pode ser alterado comentando a parte relevante do Vagrantfile.
Por exemplo:
malboxes spin win7_x86_analyst 20160519.cryptolocker.xyz
=== Para implantar na AWS (opcional)
O Malboxes pode fazer upload e interagir com uma VM nos serviços da Amazon Web. Para isso, siga estas etapas:
. O Malboxes precisará de um bucket S3 na AWS para fazer upload da VM antes de convertê-la em uma AMI (Amazon Machine Image). Se você não tiver um, link:https://docs.aws.amazon.com/quickstarts/latest/s3backup/step-1-create-bucket.html[crie um agora.]
. Sua instância também requer um link:https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups[grupo de segurança] com pelo menos uma regra permitindo conexões de entrada para WinRM (Tipo: WinRM-HTTP, Protocolo: TCP, Faixa de Porta: 5985, Origem: IP público do host).
. Em seguida, você precisa de uma função de serviço vmimport configurada.
Siga a seção chamada VM Import Service Role de https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html[este guia].
Essas etapas devem ser realizadas com uma conta que tenha permissões iam:CreateRole e iam:PutRolePolicy.
. Se a <<_configuration,configuração padrão>> for usada, altere o hipervisor para aws e preencha as opções obrigatórias relacionadas. Caso contrário, certifique-se de adicionar todas as opções sobre AWS à sua configuração personalizada.
. Finalmente, você pode seguir os mesmos passos descritos nas seções <<Criação da box>> e <<Instâncias por análise>> para iniciar sua instância!
NOTE: A importação da AMI pode demorar muito tempo (cerca de uma hora), no entanto você pode verificar o status da tarefa fazendo <<Status da importação AMI, isto>>. No momento, apenas uma AMI pode ser construída por template.
==== Status da importação AMI Instale awscli usando pip:
pip install awscli
link:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration[Configure] o awscli com:
aws configure
Então execute:
aws ec2 describe-import-image-tasks
==== RDP
Para conectar a uma instância na nuvem usando RDP, execute este comando no mesmo local do seu Vagrantfile:
vagrant rdp -- /cert-ignore
Para que isso funcione, a instância precisará de um grupo de segurança permitindo conexões de entrada RDP (Tipo: RDP, Protocolo: TCP, Faixa de Porta: 3389, Origem: IP público do host).
NOTE: Você pode ignorar o seguinte erro com segurança, pois o rsync ainda não foi implementado: No host IP was given to the Vagrant core NFS helper. This is an internal error that should be reported as a bug.
==== Parando uma Instância
Para parar uma instância na nuvem, execute este comando no mesmo local do seu Vagrantfile:
vagrant halt
== Configuração
A configuração do Malboxes está localizada em um diretório que segue as convenções usuais do sistema operacional:
~/.config/malboxes/~/Library/Application Support/malboxes/C:\Users\<username>\AppData\Local\malboxes\malboxes\