
Incarcero est un outil qui crée des machines virtuelles (VM) préconfigurées avec des outils d'analyse de logiciels malveillants et des paramètres de sécurité adaptés à l'analyse de logiciels malveillants sans aucune interaction de l'utilisateur.
L'analyse de logiciels malveillants, c'est comme désamorcer des bombes. L'objectif est de démonter et comprendre un programme conçu pour nuire, qui est souvent obscurci (par exemple : packé) pour compliquer l'analyse.
Incarcero est un outil qui crée des machines virtuelles (VM) préconfigurées avec des outils d'analyse de logiciels malveillants et des paramètres de sécurité adaptés à l'analyse de logiciels malveillants, sans aucune intervention de l'utilisateur.
De plus, ce dépôt inclut probablement la plus grande collection de codes source de logiciels malveillants ainsi qu'un module permettant de télécharger des échantillons de logiciels malveillants provenant de bases de données en ligne populaires.
Remarque : Les binaires avec des noms génériques tels que valeur MD5 ou smbXXX.tmp n'ont pas été détectés comme malveillants par VirusTotal au moment du téléchargement, mais cela ne signifie pas qu'il ne s'agit pas d'un échantillon de logiciel malveillant. N'hésitez pas à configurer, analyser et effectuer de l'ingénierie inverse sur tous les échantillons de ce dépôt ; si vous le faites, veuillez me communiquer les résultats de votre enquête.
dnf install ruby-devel gcc-c++ zlib-devel
vagrant plugin install winrm winrm-fs
apt install vagrant git python3-pip
apt install git python3-pip
pacman -Sy vagrant packer python-pip git
sudo pip3 install git+https://github.com/0x48piraj/incarcero.git#egg=incarcero
REMARQUE : À partir de Windows 10, Hyper-V est toujours actif sous le système d'exploitation. Comme VT-X doit être utilisé exclusivement par un seul hyperviseur, cela fait échouer VirtualBox (et incarcero). Pour désactiver Hyper-V et permettre à VirtualBox de fonctionner, exécutez la commande suivante dans une invite de commandes administrative, puis redémarrez : bcdedit /set hypervisorlaunchtype off. Depuis la version 6 de Virtualbox, il prend en charge l'utilisation d'Hyper-V comme noyau d'exécution de repli (changelog)
Les étapes suivantes supposent que vous avez installé https://chocolatey.org/[Chocolatey]. Sinon, suivez la procédure d'installation manuelle.
Installez les dépendances :
choco install python vagrant packer git virtualbox
Rafraîchissez la console :
refreshenv
Installez incarcero :
pip3 install setuptools
pip3 install -U git+https://github.com/0x48piraj/incarcero.git#egg=incarcero
C:\Windows\System32\pip3 install setuptools
pip3 install -U git+https://github.com/0x48piraj/incarcero.git#egg=incarcero
Exécutez cette commande après l'installation normale :
vagrant plugin install vagrant-aws
REMARQUE : La fonctionnalité AWS n'a été testée que sous Linux pour le moment et EC2 ne prend pas en charge la version de bureau 32 bits de Windows 10.
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 :
incarcero build <template>
Vous pouvez également lister tous les modèles pris en charge avec :
incarcero list
Cela construira une box Vagrant prête pour l'investigation de logiciels malveillants que vous pouvez désormais inclure dans un Vagrantfile par la suite.
Par exemple :
incarcero build win10_x64_analyst
La section configuration contient plus d'informations sur ce qui peut être configuré avec incarcero.
incarcero spin win10_x64_analyst <name>
Cela créera un Vagrantfile préparé pour une utilisation en 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 correspondante du Vagrantfile.
Par exemple :
incarcero spin win7_x86_analyst 20160519.cryptolocker.xyz
incarcero peut télécharger et interagir avec une VM sur Amazon Web Services. Pour ce faire, suivez ces étapes :
. incarcero 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, créez-en un maintenant.
. Votre instance nécessite également un groupe de sécurité avec au moins une règle autorisant les connexions entrantes pour WinRM (Type : WinRM-HTTP, Protocole : TCP, Plage de ports : 5985, Source : IP publique de l'hôte).
. Ensuite, vous avez besoin d'un rôle de service vmimport configuré.
Suivez la section intitulée VM Import Service Role de ce guide.
Ces étapes doivent être effectuées avec un compte disposant des autorisations iam:CreateRole et iam:PutRolePolicy.
. Si la configuration par défaut est utilisée, changez l'hyperviseur en aws et remplissez les options obligatoires liées. 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 Création de la box et Instances par analyse pour lancer votre instance !
REMARQUE : L'importation de l'AMI peut prendre beaucoup de temps (environ une heure), mais vous pouvez vérifier l'état de la tâche en faisant ceci. Pour l'instant, un seul AMI peut être construit par modèle.
Installez awscli avec pip :
pip install awscli
Configurez awscli avec :
aws configure
Puis exécutez :
aws ec2 describe-import-image-tasks
Pour vous connecter à une instance dans le cloud via RDP, exécutez cette commande au même emplacement que votre Vagrantfile :
vagrant rdp -- /cert-ignore
Pour que cela fonctionne, l'instance nécessitera un groupe de sécurité autorisant les connexions entrantes RDP (Type : RDP, Protocole : TCP, Plage de ports : 3389, Source : IP publique de l'hôte).