hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md

5.1 KiB

Vidage de mémoire macOS

Apprenez le hacking AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :

Artéfacts de mémoire

Fichiers de swap

  • /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 transférées dans le fichier de swap, puis échangées à nouveau en mémoire physique si nécessaire. Plusieurs fichiers peuvent exister ici. Par exemple, vous pourriez voir swapfile0, swapfile1, et ainsi de suite.
  • /private/var/vm/sleepimage : Lorsque OS X entre en hibernation, les données stockées en mémoire sont mises dans le fichier sleepimage. Lorsque l'utilisateur revient et réveille l'ordinateur, la mémoire est restaurée à partir du 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é, donc il pourrait ne pas être récupérable.

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

Vidage de mémoire avec osxpmem

Pour vider la mémoire sur une machine MacOS, vous pouvez utiliser osxpmem.

Note : Les instructions suivantes ne fonctionneront que pour les Macs avec architecture Intel. Cet outil est maintenant archivé et la dernière version date de 2017. Le binaire téléchargé en utilisant les instructions ci-dessous cible les puces Intel car Apple Silicon n'existait pas 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 corriger en faisant :

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 résolues en autorisant le chargement du kext dans "Sécurité & Confidentialité --> Général", il suffit de l'autoriser.

Vous pouvez également utiliser cette ligne de commande pour télécharger l'application, charger le kext et dumper 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
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :