Jak zrzucić obraz pamięci z systemu Linux?


18

Wiem, że zrzucam obrazy pamięci w systemie Windows. (eg-dumpit) Ale nie wiem, jak zrzucić obrazy pamięci w systemie Linux.

Chcę uzyskać obrazy pamięci w systemie Linux i od systemu Linux do systemu Linux z połączeniem ssh lub coś takiego.

Jak mogę uzyskać dostęp do systemu Linux?


5
Czy próbujesz uzyskać pamięć z uruchomionego procesu, pamięci jądra lub surowej pamięci fizycznej? Wszystkie są dostępne, ale metody dostępu są różne. Zobacz / dev / kmem, / dev / mem, / proc / kcore, / proc / $ pid / maps i / proc / $ pid / mem.
Casey

Spójrz na to SU Pytania i odpowiedzi: superuser.com/questions/164960/…
slm

Odpowiedzi:


26

Z Forensic's Wiki: Narzędzia: obrazowanie pamięci

fragment

Linux

/ dev / mem

W starszych systemach Linux program dd może być używany do odczytu zawartości pamięci fizycznej z pliku urządzenia / dev / mem. Jednak w najnowszych systemach Linux / dev / mem zapewnia dostęp tylko do ograniczonego zakresu adresów, a nie do pełnej pamięci fizycznej systemu. W innych systemach może nie być w ogóle dostępny. W całej serii jądra Linuksa 2.6 trendem było ograniczenie bezpośredniego dostępu do pamięci za pomocą plików pseudo-urządzeń. Zobacz na przykład komunikat towarzyszący tej łatce: http://lwn.net/Articles/267427/ .

/ dev / crash

W systemach Red Hat (i tych z podobnymi dystrybucjami, takimi jak Fedora lub CentOS), sterownik awarii może zostać załadowany w celu utworzenia pseudo-urządzenia / dev / crash w celu uzyskania dostępu do surowej pamięci fizycznej (za pomocą polecenia „awaria modprobe”). Ten moduł można również skompilować dla innych dystrybucji Linuksa przy niewielkim wysiłku (patrz na przykład http://gleeda.blogspot.com/2009/08/devcrash-driver.html ). Gdy sterownik awarii jest modyfikowany, kompilowany i ładowany w innych systemach, wynikowe urządzenie dostępu do pamięci nie jest bezpieczne do zobrazowania w całości. Należy zachować ostrożność, aby uniknąć adresów, które nie są wspierane przez pamięć RAM. W systemie Linux / proc / iomem udostępnia prawidłowe zakresy adresów obrazowi oznaczonemu „System RAM”.

Drugie spojrzenie: Linux Memory Forensics

Ten komercyjny produkt kryminalistyczny z pamięcią jest dostarczany ze zmodyfikowaną wersją sterownika awarii i skryptem do bezpiecznego zrzutu pamięci przy użyciu oryginalnego lub zmodyfikowanego sterownika w dowolnym systemie Linux.

fmem fmem - repozytorium github

fmem to moduł jądra, który tworzy urządzenie / dev / fmem, podobnie jak / dev / mem, ale bez ograniczeń. To urządzenie (fizyczna pamięć RAM) można skopiować za pomocą dd lub innego narzędzia. Działa na jądrach Linuksa 2.6. Zgodnie z GNU GPL.

LiME - Linux Memory Extractor

Linux Memory Extractor (LiME) to ładowalny moduł jądra (LKM), który pozwala na pozyskiwanie pamięci ulotnej z Linuksa i urządzeń opartych na Linuksie, takich jak Android. Narzędzie obsługuje zrzut pamięci do systemu plików urządzenia lub przez sieć.

Znalazłem ten przykład fmemużycia, który wydaje się być najłatwiejszym sposobem zrzutu pamięci do celów analizy, z którego nie można już korzystać /dev/mempo jądrach 2.6.x, jak rozumiem.

przykład fmem

$ ./run.sh
...
----Memory areas: -----
reg00: base=0x000000000 (    0MB), size= 1024MB, count=1: write-back
reg01: base=0x0c8800000 ( 3208MB), size=    2MB, count=1: write-combining
-----------------------
!!! Don't forget add "count=" to dd !!!


$ ls /dev/f*
/dev/fb0  /dev/fd0  /dev/fmem  /dev/full  /dev/fuse


$ sudo dd if=/dev/fmem of=/tmp/fmem_dump.dd bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0331212 s, 302 MB/s

* Źródło: Jak mogę zrzucić całą pamięć fizyczną do pliku?

Przykład LiME

Do analizy pamięci ulotnej dostępna jest również strona zatytułowana: Analiza pamięci systemu Linux . W tym samouczku wideo znajduje się dokładny przykład, który pokazuje użycie LiME i Volatility do zebrania zrzutu pamięci, a następnie jego analizy, wyodrębnienia historii Bash użytkownika ze zrzutu pamięci.

Co jeszcze?

Istnieje również pytanie i odpowiedzi U&L zatytułowane: Jak mogę zrzucić całą pamięć systemową? który zawiera dodatkowe przykłady i informacje.



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.