macOS Memory Dumping
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Swap-Dateien, wie /private/var/vm/swapfile0
, dienen als Caches, wenn der physische Speicher voll ist. Wenn im physischen Speicher kein Platz mehr ist, werden die Daten in eine Swap-Datei übertragen und bei Bedarf wieder in den physischen Speicher zurückgebracht. Es können mehrere Swap-Dateien vorhanden sein, mit Namen wie swapfile0, swapfile1 und so weiter.
Die Datei, die sich unter /private/var/vm/sleepimage
befindet, ist während des Hibernate-Modus entscheidend. Daten aus dem Speicher werden in dieser Datei gespeichert, wenn OS X in den Ruhezustand wechselt. Nach dem Aufwachen des Computers ruft das System die Speicher Daten aus dieser Datei ab, sodass der Benutzer dort weitermachen kann, wo er aufgehört hat.
Es ist erwähnenswert, dass diese Datei auf modernen MacOS-Systemen aus Sicherheitsgründen typischerweise verschlüsselt ist, was die Wiederherstellung erschwert.
Um zu überprüfen, ob die Verschlüsselung für das sleepimage aktiviert ist, kann der Befehl sysctl vm.swapusage
ausgeführt werden. Dies zeigt an, ob die Datei verschlüsselt ist.
Eine weitere wichtige speicherbezogene Datei in MacOS-Systemen ist das Speicher-Druckprotokoll. Diese Protokolle befinden sich in /var/log
und enthalten detaillierte Informationen über die Speichernutzung und Druckereignisse des Systems. Sie können besonders nützlich sein, um speicherbezogene Probleme zu diagnostizieren oder zu verstehen, wie das System im Laufe der Zeit mit dem Speicher umgeht.
Um den Speicher auf einem MacOS-Gerät zu dumpen, können Sie osxpmem verwenden.
Hinweis: Die folgenden Anweisungen funktionieren nur für Macs mit Intel-Architektur. Dieses Tool ist jetzt archiviert und die letzte Version wurde 2017 veröffentlicht. Die mit den folgenden Anweisungen heruntergeladene Binärdatei richtet sich an Intel-Chips, da Apple Silicon 2017 noch nicht verfügbar war. Es kann möglich sein, die Binärdatei für die arm64-Architektur zu kompilieren, aber das müssen Sie selbst ausprobieren.
Wenn Sie diesen Fehler finden: osxpmem.app/MacPmem.kext konnte nicht geladen werden - (libkern/kext) Authentifizierungsfehler (Dateibesitz/ Berechtigungen); überprüfen Sie die System-/Kernelprotokolle auf Fehler oder versuchen Sie kextutil(8)
können Sie ihn beheben, indem Sie:
Andere Fehler könnten behoben werden, indem das Laden des kext in "Sicherheit & Datenschutz --> Allgemein" erlaubt wird, einfach erlauben.
Sie können auch diesen Oneliner verwenden, um die Anwendung herunterzuladen, den kext zu laden und den Speicher zu dumpen:
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)