5.7 KiB
Dumpowanie pamięci w systemie macOS
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć reklamę swojej firmy w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
Artefakty pamięci
Pliki wymiany (Swap Files)
Pliki wymiany, takie jak /private/var/vm/swapfile0
, służą jako bufory podręczne, gdy pamięć fizyczna jest pełna. Gdy nie ma już miejsca w pamięci fizycznej, jej dane są przenoszone do pliku wymiany, a następnie przywracane do pamięci fizycznej w miarę potrzeby. Może istnieć wiele plików wymiany o nazwach takich jak swapfile0, swapfile1, itd.
Obraz hibernacji (Hibernate Image)
Plik znajdujący się pod adresem /private/var/vm/sleepimage
jest kluczowy podczas trybu hibernacji. Dane z pamięci są przechowywane w tym pliku podczas hibernacji systemu OS X. Po wybudzeniu komputera system odzyskuje dane z pamięci z tego pliku, umożliwiając użytkownikowi kontynuowanie tam, gdzie skończył.
Warto zauważyć, że w nowoczesnych systemach MacOS ten plik jest zwykle szyfrowany ze względów bezpieczeństwa, co utrudnia jego odzyskanie.
- Aby sprawdzić, czy szyfrowanie jest włączone dla sleepimage, można uruchomić polecenie
sysctl vm.swapusage
. Pokaże to, czy plik jest zaszyfrowany.
Dzienniki nacisku na pamięć (Memory Pressure Logs)
Innym ważnym plikiem związanym z pamięcią w systemach MacOS są dzienniki nacisku na pamięć. Te dzienniki znajdują się w /var/log
i zawierają szczegółowe informacje na temat wykorzystania pamięci systemu i zdarzeń związanych z naciskiem na pamięć. Mogą być szczególnie przydatne do diagnozowania problemów związanymi z pamięcią lub zrozumienia sposobu zarządzania pamięcią przez system w czasie.
Dumpowanie pamięci za pomocą osxpmem
Aby zdumpować pamięć w systemie MacOS, można użyć osxpmem.
Uwaga: Poniższe instrukcje będą działać tylko dla komputerów Mac z architekturą Intel. Ten narzędzie jest teraz zarchiwizowane, a ostatnie wydanie miało miejsce w 2017 roku. Pobrany binarny plik za pomocą poniższych instrukcji jest przeznaczony dla chipów Intel, ponieważ Apple Silicon nie istniał w 2017 roku. Możliwe jest skompilowanie binarnego pliku dla architektury arm64, ale będziesz musiał to sprawdzić samodzielnie.
#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
Jeśli napotkasz ten błąd: osxpmem.app/MacPmem.kext nie załadował się - (libkern/kext) błąd uwierzytelniania (właściciel pliku/uprawnienia); sprawdź dzienniki systemowe/jądra w poszukiwaniu błędów lub spróbuj kextutil(8)
Możesz go naprawić wykonując:
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
Inne błędy można naprawić, pozwalając na załadowanie kext w "Bezpieczeństwo i prywatność --> Ogólne", po prostu pozwól na to.
Możesz również użyć tego onelinera, aby pobrać aplikację, załadować kext i zrzucić pamięć:
{% 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 %}
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.