Como provisionar máquinas virtuais para estudo de malwares e engenharia reversa.

A GoSecure possui uma ferramenta voltada para análise de malware e engenharia reversa chamada Malboxes, com ela podemos provisionar VMs Windows, destruí-las e faze-las do zero de novo bem facilmente. Vi essa necessidade durante o curso do Rafael Sousa, e outros estudos semelhantes.
Requisitos
- Vagrant
- Packer
- Git
- Python pip
- Virtualbox
Instalação
A forma de instalação já está no repositório oficial deles, portanto vou apenas falar das minhas customizações feitas para estudar Assembly, C, e eventualmente, engenharia reversa.
Criei uma pasta chamada REV, para colocar tudo o que preciso.
Eu instalo os seguintes programas:
Executo o comando vagrant init, que inicializa o ambiente Vagrant no diretório criando uma arquivo chamado Vagrantfile caso ainda não exista.
vagrant init
Então a estrutura ficou assim:
REV
├── IDAPRO
│ ├── (arquivos do IDA)
├── tools
│ ├── codeblocks-20.03-32bit-mingw-64bit-setup.exe
│ ├── masm32.exe
│ └── retoolkit_2022.10_setup.exe
└── Vagrantfile
Para o meu uso, basta deixar os executáveis disponíveis, nem sempre eu preciso de todas essas ferramentas instaladas.
Caso queira, por meio do vagrant é possível criar automações, de forma que, sempre que iniciar aquela máquina virtual o vagrant irá configura-la da maneira que você precisa.
Provisionando a VM
O comando malboxes build win10_x64_analyst, le o arquivo de configuração disponível em /home/USERNAME/.config/malboxes/config.js para saber quais as preferencias do usuário para a criação da máquina. Ele pode ser editado da seguinte forma a fim de definir os path das ferramentas:
"ida_path": "/home/USERNAME/Downloads/IDAPRO",
"tools_path": "/home/cherno/Downloads/Tools",
Há uma segunda opção; por padrão quando provisionarmos a VM, o diretório atual será sincronizado com um diretório dentro da VM, logo, basta manter os executáveis na mesma pasta que usaremos para provisionar a máquina.
Observe abaixo, a visao na máquina host Linux, e como ficaria na VM Windows depois de criada.
- Host Linux
- VM Windows
.
├── IDAPRO
├── tools
└── Vagrantfile
C:\Users\malboxes\Desktop\host>tree /F
Folder PATH listing
Volume serial number is 0C1D-FBA3
C:.
│ Vagrantfile
│
├───tools
│ masm32.exe
│ codeblocks-20.03-32bit-mingw-64bit-setup.exe
│ retoolkit_2022.10_setup.exe
│
└───IDAPRO
├─── (arquivos do IDA)
Agora que está tudo no jeito, basta buildar e executar a máquina:
malboxes build win10_x64_analyst
malboxes spin win10_x64_analyst rev
vagrant up
Caso precise desabilitar o defender, basta executar o script em C:\Tools\disable_defender dentro da máquina provisionada.
Obrigado por ler!