hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md
2023-06-03 13:10:46 +00:00

6.1 KiB

Dumping de la mémoire macOS

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Artéfacts de mémoire

Fichiers d'échange

  • /private/var/vm/swapfile0: Ce fichier est utilisé comme cache lorsque la mémoire physique est pleine. Les données en mémoire physique seront poussées dans le fichier d'échange, puis échangées de nouveau dans la mémoire physique si elles sont à nouveau nécessaires. Plus d'un fichier peut exister ici. Par exemple, vous pourriez voir swapfile0, swapfile1, et ainsi de suite.

  • /private/var/vm/sleepimage: Lorsque macOS entre en hibernation, les données stockées en mémoire sont placées dans le fichier sleepimage. Lorsque l'utilisateur revient et réveille l'ordinateur, la mémoire est restaurée à partir de sleepimage et l'utilisateur peut reprendre là où il s'était arrêté.

    Par défaut, dans les systèmes MacOS modernes, ce fichier sera chiffré, il pourrait donc ne pas être récupérable.

    • Cependant, le chiffrement de ce fichier pourrait être désactivé. Vérifiez la sortie de sysctl vm.swapusage.

Dumping de la mémoire avec osxpmem

Pour effectuer un dumping de la mémoire sur une machine MacOS, vous pouvez utiliser osxpmem.

Remarque : Les instructions suivantes ne fonctionneront que pour les Mac avec une architecture Intel. Cet outil est maintenant archivé et la dernière version date de 2017. Le binaire téléchargé en suivant les instructions ci-dessous cible les puces Intel car Apple Silicon n'était pas disponible en 2017. Il est peut-être possible de compiler le binaire pour l'architecture arm64, mais vous devrez essayer par vous-même.

#Dump raw format
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem

#Dump aff4 format
sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4

Si vous rencontrez cette erreur : osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8), vous pouvez la résoudre en effectuant les étapes suivantes :

sudo cp -r osxpmem.app/MacPmem.kext "/tmp/"
sudo kextutil "/tmp/MacPmem.kext"
#Allow the kext in "Security & Privacy --> General"
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem

D'autres erreurs peuvent être corrigées en autorisant le chargement du kext dans "Sécurité et confidentialité --> Général", il suffit de l'autoriser.

Vous pouvez également utiliser cette commande oneliner pour télécharger l'application, charger le kext et effectuer le dump de la mémoire :

{% code overflow="wrap" %}

sudo su
cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip; unzip osxpmem-2.1.post4.zip; chown -R root:wheel osxpmem.app/MacPmem.kext; kextload osxpmem.app/MacPmem.kext; osxpmem.app/osxpmem --format raw -o /tmp/dump_mem

{% endcode %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥