En découvrant de quelle machine provenait la fuite, **l'IAA** vous fournit un dump de celle-ci, afin d'identifier comment elle a été compromise.
Félicitations ! Vous avez trouvé grâce à l'exercice précédent que la fuite provenait directement du routeur **pfSense** de l'IAA.
En découvrant cela, l'entreprise vous fournit un dump de la machine.
Votre mission est maintenant d'identifier comment elle s'est fait compromettre.
Cela ne vous paraît pas un mince affaire, pfSense n'étant pas basé sur un système d'exploitation classique...
On constate que nous avons deux fichiers:
Lors de l'ouverture avec volatility, on constate qu'il n'est pas possible d'analyser le fichier avec volatility 2 ni 3.
Avec un peu de recherche sur internet, il est possible de trouver le blog d'Antoine Brodin qui explique comment analyser un dump mémoire de FreeBSD avec volatility 3.
Plus bas dans son blog, il référence ces deux dépôts github, l'un avec son plugin volatility, et l'autre avec sa version de dwarf2json permettant d'exporter les symboles du noyau FreeBSD 14.
On peut donc suivre les étapes suivantes :
Cloner le dépôt volatility 3 d'Antoine Brodin :
git clone https://github.com/ant1/volatility3 -b freebsd-support
En lisant la documentation de volatility, le joueur devrait savoir qu'il doit placer le fichier ISF dans le bon répertoire (volatility3/symbols/).
On constate que le dump de disque est un fichier .qcow2.
Il suffit donc de monter le système de fichiers avec qemu:
sudo qemu-nbd --connect=/dev/nbd0 vm2008_stripped.qcow2
En essayant de monter le système de fichiers, on constate que le système de fichier n'est pas standard et utilise zfs.
Il suffit d'activer le module du noyau et de l'importer correctement.
sudo apt install zfsutils-linux
sudo modprobe zfs
sudo zpool import
sudo zpool import -f -o readonly=on -o altroot=/mnt/vm pfSense
Notre système de fichier est monté sur /mnt/vm.
Comme nous avons récupéré l'archive grâce au flag précédent, il est possible de calculer le checksum et donc de chercher le fichier avec celui-ci avec un find.

Grâce au volatility d'Antoine Brodin, il est possible de voir quel processus utilise l'archive.

Il faut pour cela connaître où est-ce que pfsense logs les installations / mises à jour de paquets, ou bien de faire un grep -r sur tout le disque.
Le dossier en question est /var/log/system.log.

On en déduit que cela correspond à une attaque par chaîne d'approvisionnement, puisque le paquet était installé le 2 octobre et que l'exfiltration a été relevée après la mise à jour du paquet, soit le 10 octobre.