macOS Memory Dumping
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Memory Artifacts
Swap Files
Τα αρχεία swap, όπως το /private/var/vm/swapfile0
, λειτουργούν ως cache όταν η φυσική μνήμη είναι γεμάτη. Όταν δεν υπάρχει άλλος χώρος στη φυσική μνήμη, τα δεδομένα της μεταφέρονται σε ένα αρχείο swap και στη συνέχεια επιστρέφονται στη φυσική μνήμη όταν χρειάζεται. Μπορεί να υπάρχουν πολλά αρχεία swap, με ονόματα όπως swapfile0, swapfile1, και ούτω καθεξής.
Hibernate Image
Το αρχείο που βρίσκεται στο /private/var/vm/sleepimage
είναι κρίσιμο κατά τη διάρκεια της λειτουργίας αδρανοποίησης. Δεδομένα από τη μνήμη αποθηκεύονται σε αυτό το αρχείο όταν το OS X αδρανοποιείται. Όταν ξυπνά ο υπολογιστής, το σύστημα ανακτά τα δεδομένα μνήμης από αυτό το αρχείο, επιτρέποντας στον χρήστη να συνεχίσει από εκεί που σταμάτησε.
Αξίζει να σημειωθεί ότι σε σύγχρονα συστήματα MacOS, αυτό το αρχείο είναι συνήθως κρυπτογραφημένο για λόγους ασφαλείας, καθιστώντας την ανάκτηση δύσκολη.
Για να ελέγξετε αν η κρυπτογράφηση είναι ενεργοποιημένη για το sleepimage, μπορείτε να εκτελέσετε την εντολή
sysctl vm.swapusage
. Αυτό θα δείξει αν το αρχείο είναι κρυπτογραφημένο.
Memory Pressure Logs
Ένα άλλο σημαντικό αρχείο που σχετίζεται με τη μνήμη στα συστήματα MacOS είναι το log πίεσης μνήμης. Αυτά τα logs βρίσκονται στο /var/log
και περιέχουν λεπτομερείς πληροφορίες σχετικά με τη χρήση μνήμης του συστήματος και τα γεγονότα πίεσης. Μπορούν να είναι ιδιαίτερα χρήσιμα για τη διάγνωση προβλημάτων που σχετίζονται με τη μνήμη ή για την κατανόηση του τρόπου διαχείρισης της μνήμης από το σύστημα με την πάροδο του χρόνου.
Dumping memory with osxpmem
Για να κάνετε dump τη μνήμη σε μια μηχανή MacOS μπορείτε να χρησιμοποιήσετε το osxpmem.
Note: Οι παρακάτω οδηγίες θα λειτουργήσουν μόνο για 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)
Last updated