
Construit des machines virtuelles Windows d'analyse de malwares pour que vous n'ayez pas à le faire.
= 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]
.Santé du projet // 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::[]
Crée des machines virtuelles Windows pour l'analyse de logiciels malveillants, sans que vous ayez à le faire.
https://github.com/gosecure/malboxes
== Prérequis
=== Spécifications minimales pour la machine de construction
=== 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
== Installation
=== Linux/Unix
pip install malboxes :=== Windows
NOTE : À partir de Windows 10, Hyper-V est toujours en cours d'exécution en dessous du système d'exploitation. Puisque VT-X doit être exploité exclusivement par un seul hyperviseur, https://github.com/GoSecure/malboxes/issues/39[cela entraîne l'échec de VirtualBox (et de malboxes)]. Pour désactiver Hyper-V et permettre l'exécution de VirtualBox, exécutez la commande suivante dans une invite de commande administrative, puis redémarrez : bcdedit /set hypervisorlaunchtype off
==== Avec Chocolatey
Les étapes suivantes supposent que vous avez installé https://chocolatey.org/[Chocolatey]. Sinon, suivez la <<Manually,procédure d'installation manuelle>>.
==== Manuellement
C:\Windows\System32\=== Pour déployer sur AWS (optionnel) Exécutez cette commande après l'installation normale :
vagrant plugin install vagrant-aws
NOTE : La fonctionnalité AWS n'a été testée que sur Linux pour le moment et EC2 ne prend pas en charge la version de bureau 32 bits de Windows 10.
== Utilisation
=== Création de la box
Ceci crée votre box de base qui est importée dans Vagrant. Ensuite, vous pouvez réutiliser la même box plusieurs fois par analyse d'échantillon.
Exécutez :
malboxes build <template>
Vous pouvez également lister tous les modèles pris en charge avec :
malboxes list
Ceci construira une box Vagrant prête pour l'investigation de logiciels malveillants que vous pouvez maintenant inclure dans un Vagrantfile par la suite.
Par exemple :
malboxes build win10_x64_analyst
<<_configuration,La section configuration>> contient des informations supplémentaires sur ce qui peut être configuré avec malboxes.
=== Instances par analyse
malboxes spin win10_x64_analyst <name>
Ceci créera un Vagrantfile préparé pour l'analyse de logiciels malveillants. Déplacez-le dans un répertoire de votre choix et exécutez :
vagrant up
Par défaut, le répertoire local sera partagé dans la VM sur le Bureau. Cela peut être modifié en commentant la partie pertinente du Vagrantfile.
Par exemple :
malboxes spin win7_x86_analyst 20160519.cryptolocker.xyz
=== Pour déployer sur AWS (optionnel)
Malboxes peut télécharger et interagir avec une VM sur les services Amazon Web. Pour ce faire, suivez ces étapes :
. Malboxes aura besoin d'un bucket S3 sur AWS pour télécharger la VM avant de la convertir en AMI (Amazon Machine Image). Si vous n'en avez pas, link:https://docs.aws.amazon.com/quickstarts/latest/s3backup/step-1-create-bucket.html[créez-en un maintenant.]
. Votre instance nécessite également un link:https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups[groupe de sécurité] avec au moins une règle autorisant les connexions entrantes pour WinRM (Type : WinRM-HTTP, Protocol : TCP, Port Range : 5985, Source : IP publique de l'hôte).
. Ensuite, vous devez configurer un rôle de service vmimport.
Suivez la section nommée VM Import Service Role de https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html[ce guide].
Ces étapes doivent être effectuées avec un compte disposant des autorisations iam:CreateRole et iam:PutRolePolicy.
. Si la <<_configuration,configuration par défaut>> est utilisée, changez l'hyperviseur en aws et remplissez les options obligatoires correspondantes. Sinon, assurez-vous d'ajouter toutes les options concernant AWS à votre configuration personnalisée.
. Enfin, vous pouvez suivre les mêmes étapes décrites dans les sections <> et <> pour lancer votre instance !
NOTE : L'importation AMI peut prendre beaucoup de temps (environ une heure), mais vous pouvez vérifier l'état de la tâche en faisant <<AMI import status,ceci>>. Pour le moment, une seule AMI peut être construite par modèle.
==== Statut d'importation AMI Installez awscli avec pip :
pip install awscli
link:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration[Configurez] awscli avec :
aws configure
Puis exécutez :
aws ec2 describe-import-image-tasks
==== RDP
Pour vous connecter à une instance dans le cloud en utilisant RDP, exécutez cette commande au même emplacement que votre Vagrantfile :
vagrant rdp -- /cert-ignore
Pour que cela fonctionne, l'instance devra disposer d'un groupe de sécurité autorisant les connexions entrantes RDP (Type : RDP, Protocol : TCP, Port Range : 3389, Source : IP publique de l'hôte).
NOTE : Vous pouvez ignorer en toute sécurité l'erreur suivante car rsync n'est pas encore implémenté : No host IP was given to the Vagrant core NFS helper. This is an internal error that should be reported as a bug.
==== Arrêt d'une instance
Pour arrêter une instance dans le cloud, exécutez cette commande au même emplacement que votre Vagrantfile :
vagrant halt
== Configuration