
Construye máquinas virtuales Windows para análisis de malware para que no tengas que hacerlo.
= 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[Malboxes Logo] endif::[]
ifdef::github[] // logo on github image::https://raw.githubusercontent.com/GoSecure/malboxes/master/docs/logos/main.svg?sanitize=true[Malboxes Logo]
.Estado del proyecto // Travis Build Status image:https://img.shields.io/travis/GoSecure/malboxes/master.svg[Estado de construcción (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::[]
Construye máquinas virtuales Windows para análisis de malware para que no tengas que hacerlo tú.
https://github.com/gosecure/malboxes
== Requisitos
=== Especificaciones mínimas para la máquina de construcción
=== 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
== Instalación
=== Linux/Unix
pip install malboxes:=== Windows
NOTA: A partir de Windows 10, Hyper-V siempre está ejecutándose debajo del sistema operativo.
Dado que VT-X necesita ser operado exclusivamente por un solo hipervisor,
https://github.com/GoSecure/malboxes/issues/39[esto causa que VirtualBox (y malboxes) fallen]. Para deshabilitar Hyper-V y permitir
que VirtualBox se ejecute, ejecuta el siguiente comando en un símbolo del sistema administrativo
y luego reinicia: bcdedit /set hypervisorlaunchtype off
==== Usando Chocolatey
Los siguientes pasos asumen que tienes https://chocolatey.org/[Chocolatey] instalado. De lo contrario, sigue el <<Manualmente,procedimiento de instalación manual>>.
==== Manualmente
C:\Windows\System32\=== Para desplegar en AWS (opcional) Ejecuta este comando después de la instalación normal:
vagrant plugin install vagrant-aws
NOTA: La funcionalidad AWS solo se ha probado en Linux por el momento y EC2 no soporta la versión de escritorio de 32 bits de Windows 10.
== Uso
=== Creación de la caja
Esto crea tu caja base que se importa en Vagrant. Después puedes reutilizar la misma caja varias veces para el análisis de muestras.
Ejecuta:
malboxes build <template>
También puedes listar todas las plantillas soportadas con:
malboxes list
Esto construirá una caja de Vagrant lista para la investigación de malware que luego puedes incluir en un Vagrantfile.
Por ejemplo:
malboxes build win10_x64_analyst
<<_configuration,La sección de configuración>> contiene más información sobre lo que se puede configurar con malboxes.
=== Instancias por análisis
malboxes spin win10_x64_analyst <name>
Esto creará un Vagrantfile preparado para usar en análisis de malware. Muévelo
a un directorio de tu elección y ejecuta:
vagrant up
Por defecto, el directorio local se compartirá en la VM en el Escritorio.
Esto se puede cambiar comentando la parte relevante del Vagrantfile.
Por ejemplo:
malboxes spin win7_x86_analyst 20160519.cryptolocker.xyz
=== Para desplegar en AWS (opcional)
Malboxes puede subir e interactuar con una VM en Amazon Web Services. Para hacerlo, sigue estos pasos:
. Malboxes necesitará un bucket S3 en AWS para subir la VM antes de convertirla a una AMI (Amazon Machine Image). Si no tienes uno, link:https://docs.aws.amazon.com/quickstarts/latest/s3backup/step-1-create-bucket.html[crea uno ahora].
. Tu instancia también requiere un link:https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups[grupo de seguridad] con al menos una regla que permita conexiones entrantes para WinRM (Tipo: WinRM-HTTP, Protocolo: TCP, Rango de puertos: 5985, Origen: IP pública del host).
. A continuación, necesitas un rol de servicio vmimport configurado.
Sigue la sección titulada VM Import Service Role de https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html[esta guía].
Estos pasos deben realizarse con una cuenta que tenga permisos iam:CreateRole y iam:PutRolePolicy.
. Si se usa la <<_configuration,configuración por defecto>>, cambia el hipervisor a aws y completa las opciones obligatorias relacionadas. De lo contrario, asegúrate de agregar todas las opciones sobre AWS a tu configuración personalizada.
. Finalmente, puedes seguir los mismos pasos descritos en las secciones <> y <> para lanzar tu instancia.
NOTA: La importación de AMI puede llevar mucho tiempo (aproximadamente una hora), sin embargo puedes verificar el estado de la tarea haciendo <<AMI import status, esto>>. Por el momento, solo se puede construir una AMI por plantilla.
==== Estado de la importación de AMI Instala awscli usando pip:
pip install awscli
link:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration[Configura] awscli con:
aws configure
Luego ejecuta:
aws ec2 describe-import-image-tasks
==== RDP
Para conectarte a una instancia en la nube usando RDP, ejecuta este comando en la misma ubicación de tu Vagrantfile:
vagrant rdp -- /cert-ignore
Para que esto funcione, la instancia requerirá un grupo de seguridad que permita conexiones entrantes RDP (Tipo: RDP, Protocolo: TCP, Rango de puertos: 3389, Origen: IP pública del host).
NOTA: Puedes ignorar el siguiente error de manera segura porque rsync aún no está implementado: No host IP was given to the Vagrant core NFS helper. This is an internal error that should be reported as a bug.
==== Detener una Instancia
Para detener una instancia en la nube, ejecuta este comando en la misma ubicación de tu Vagrantfile:
vagrant halt
== Configuración
La configuración de Malboxes se encuentra en un directorio que sigue las convenciones habituales del sistema operativo:
~/.config/malboxes/~/Library/Application Support/malboxes/C:\Users\<username>\AppData\Local\malboxes\malboxes\