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, όπως το /private/var/vm/swapfile0
, λειτουργούν ως cache όταν η φυσική μνήμη είναι γεμάτη. Όταν δεν υπάρχει άλλος χώρος στη φυσική μνήμη, τα δεδομένα της μεταφέρονται σε ένα αρχείο swap και στη συνέχεια επιστρέφονται στη φυσική μνήμη όταν χρειάζεται. Μπορεί να υπάρχουν πολλά αρχεία swap, με ονόματα όπως swapfile0, swapfile1, και ούτω καθεξής.
Το αρχείο που βρίσκεται στο /private/var/vm/sleepimage
είναι κρίσιμο κατά τη διάρκεια της λειτουργίας αδρανοποίησης. Δεδομένα από τη μνήμη αποθηκεύονται σε αυτό το αρχείο όταν το OS X αδρανοποιείται. Όταν ξυπνά ο υπολογιστής, το σύστημα ανακτά τα δεδομένα μνήμης από αυτό το αρχείο, επιτρέποντας στον χρήστη να συνεχίσει από εκεί που σταμάτησε.
Αξίζει να σημειωθεί ότι σε σύγχρονα συστήματα MacOS, αυτό το αρχείο είναι συνήθως κρυπτογραφημένο για λόγους ασφαλείας, καθιστώντας την ανάκτηση δύσκολη.
Για να ελέγξετε αν η κρυπτογράφηση είναι ενεργοποιημένη για το sleepimage, μπορείτε να εκτελέσετε την εντολή sysctl vm.swapusage
. Αυτό θα δείξει αν το αρχείο είναι κρυπτογραφημένο.
Ένα άλλο σημαντικό αρχείο που σχετίζεται με τη μνήμη στα συστήματα MacOS είναι το log πίεσης μνήμης. Αυτά τα logs βρίσκονται στο /var/log
και περιέχουν λεπτομερείς πληροφορίες σχετικά με τη χρήση μνήμης του συστήματος και τα γεγονότα πίεσης. Μπορούν να είναι ιδιαίτερα χρήσιμα για τη διάγνωση προβλημάτων που σχετίζονται με τη μνήμη ή για την κατανόηση του τρόπου διαχείρισης της μνήμης από το σύστημα με την πάροδο του χρόνου.
Για να κάνετε dump τη μνήμη σε μια μηχανή MacOS μπορείτε να χρησιμοποιήσετε το osxpmem.
Σημείωση: Οι παρακάτω οδηγίες θα λειτουργήσουν μόνο για Macs με αρχιτεκτονική Intel. Αυτό το εργαλείο είναι πλέον αρχειοθετημένο και η τελευταία έκδοση ήταν το 2017. Το δυαδικό αρχείο που κατεβάζεται χρησιμοποιώντας τις παρακάτω οδηγίες στοχεύει σε επεξεργαστές Intel καθώς η Apple Silicon δεν υπήρχε το 2017. Είναι πιθανό να μπορείτε να συντάξετε το δυαδικό αρχείο για αρχιτεκτονική arm64, αλλά θα πρέπει να το δοκιμάσετε μόνοι σας.
Αν βρείτε αυτό το σφάλμα: 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)
Μπορείτε να το διορθώσετε κάνοντας:
Άλλα σφάλματα μπορεί να διορθωθούν επιτρέποντας τη φόρτωση του kext στο "Ασφάλεια & Ιδιωτικότητα --> Γενικά", απλά επιτρέψτε το.
Μπορείτε επίσης να χρησιμοποιήσετε αυτήν την εντολή για να κατεβάσετε την εφαρμογή, να φορτώσετε το kext και να κάνετε dump τη μνήμη:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)