Forensics : comment faire des investigations sur une instance Public Cloud ?
Objectif
Dans le cas d'un incident de sécurité, réaliser des investigations numériques sur les données du disque peut s'avérer nécessaire tout comme investiguer la RAM pour récolter des indices d'intérêt. Ce guide vous accompagnera pas à pas pour récupérer les données nécessaires à vos investigations.
Prérequis
- S'assurer que vos investigations portent sur une instance Public Cloud car ce guide ne s'appliquera que pour les instances Public Cloud.
- Avoir la OpenStack CLI prête à être utilisée sur votre système.
- Un utilisateur OpenStack a été créé avec (a minima) les rôles Compute Operator et Backup Operator.
En pratique
Récupérer la RAM d'une instance Public Cloud active
OVHcloud n'a aucun accès à votre instance et OpenStack ne propose aucune fonctionnalité permettant de capturer la RAM d'une instance en cours d'exécution. Par conséquent, dans cette situation, nous vous recommandons de vous connecter sur votre instance et de lancer l'outil de capture de votre choix.
Récupérer le disque d'une instance Public Cloud
Afin de récupérer le disque d'une instance Public Cloud, le moyen le plus simple est d'utiliser l'utilitaire en ligne de commande OpenStack. Si l'outil n'a pas été installé sur votre système, vous pouvez lire notre guide ainsi que notre guide pour créer un utilisateur OpenStack.
Réaliser une copie de sauvegarde
Tout d'abord, nous allons réaliser une copie de sauvegarde de l'instance Public Cloud. Cette opération peut être faite soit en utilisant l'espace client OVHcloud ou bien en utilisant la OpenStack CLI. Dans ce guide, nous appliquerons la seconde option.
En dehors des instances Metal, cette action est transparente et ne redémarrera pas votre instance.
Vous devez commencer par récupérer le fichier openrc.sh. Dans le menu de gauche de l'univers Public Cloud, sous la catégorie "Paramètres", rendez-vous dans la section Utilisateurs & Roles, puis, à droite de votre utilisateur OpenStack, cliquez sur le bouton ... et sélectionnez Télécharger le fichier OpenStack RC. Une boîte de dialogue vous demandera de choisir la Region afin de vous permettre de télécharger le bon fichier de configuration. Sélectionnez la même Region que l'instance Public Cloud que vous souhaitez investiguer.

Ce fichier ne peut pas être utilisé sous Windows. Nous recommandons d'utiliser WSL sous Windows pour utiliser la CLI OpenStack puisque cela résoud de nombreuses problématiques.
Cette documentation vous aidera à configurer les bonnes variables d'environnement sous Windows.
Le fichier openrc.sh peut maintenant être chargé en utilisant la commande source openrc.sh. Vous serez invité à saisir le mot de passe de l'utilisateur sélectionné.
Une fois fait, vous pouvez lancer la commande openstack list server qui listera toutes vos instances déployées sur la région que vous avez précédemment choisie et où vous devriez retrouver l'instance que vous souhaitez investiguer :
Afin de réaliser une sauvegarde de l'instance pwned-instance, lancez la commande suivante :
En fonction de la taille du disque de votre instance, la sauvegarde de votre instance peut prendre jusqu'à 15 minutes. Dans cet exemple, l'action de sauvegarder une instance de type D2-2 a pris moins d'une minute. Malheureusement, OpenStack ne fournit aucun indice de progression sur la tâche en cours. Il vous faudra donc exécuter la commande suivante de façon périodique jusqu'à ce que le statut de l'image devienne active :
Télécharger la copie de sauvegarde
Maintenant que la sauvegarde a été faite, nous allons pouvoir télécharger l'image de cette sauvegarde en local pour pouvoir mener les investigations. La commande suivante vous permettra de télécharger l'image sur votre système :
De même que précédemment, cette commande ne vous affichera aucune barre de progression. Attendez jusqu'à ce que la commande vous rende la main, ce qui indiquera que le téléchargement est terminé. Vous devriez alors voir l'image sur votre disque. Il est tout à fait possible que la taille du fichier soit inférieure à la taille du disque de votre instance. En effet, le redimensionnement automatique du disque est activé.
Manipuler des images au format qcow2
Le format de fichier qcow2 signifie QEMU Copy On Write. Il s'agit du format d'image de disque utilisé par défaut par QEMU. Pour manipuler ces fichiers, QEMU fournit des outils qui vous seront très certainement utiles.
Monter des images qcow2
Pour monter des images qcow2, assurez-vous que QEMU est disponible sur votre système.
Vous devez commencer par activer sur votre système le support de Network Block Device (NBD) afin de pouvoir utiliser qemu-nbd. Voici la commande :
Puis, vous pouvez charger l'image en tant que network block device :
Ainsi, le périphérique peut être utilisé comme n'importe quel autre périphérique de stockage et être monté :
Une fois que vous avez terminé, vous pouvez libérer l'image :
Convertir une image qcow2 en raw
Malheureusement, le format de fichier qcow2 n'est pas supporté pas les logiciels de forensics. Pour utiliser ce type de solution, vous devrez procéder à la conversion du format qcow2 vers le format raw.
QEMU fournit un convertisseur que vous pouvez utiliser en utilisant la ligne de commande suivante :
A noter que le fichier raw produit aura strictement la taille du disque de l'instance. En effet, le format raw ne supporte pas l'allocation de taille dynamique, contrairement au format qcow2.
Aller plus loin
Le convertisseur de QEMU supporte un grand nombre de formats de fichier en sortie, comme expliqué dans la documentation suivante : https://docs.openstack.org/image-guide/convert-images.html
Échangez avec notre communauté d'utilisateurs.