Beim Versuch, auf RAM / dev / mem zuzugreifen, wird "Operation nicht zulässig" angezeigt.

9

Ich benutze Ubuntu 12.04

Ich habe das folgende Tutorial gelesen, wie man unter Linux auf den Inhalt des RAM zugreift ....

http://www.rootninja.com/using-dd-to-search-for-strings-in-memory-or-devices/

Code:

dd if=/dev/mem | hexdump -C | grep “string to search for”

Also führe ich den Code aus ...

Code:

sudo dd if=/dev/mem | hexdump -C > NAMEOFOUTPUTFILEHERE.txt

Und ... es beginnt, HEX-Code abzupumpen, bis einige Sekunden später steht:

dd: reading `/dev/mem': Operation not permitted
2056+0 records in 
2056+0 records out
1052672 bytes (1.1 MB) copied, 0.44834 s, 2.3 MB/s

Im Grunde genommen kann ich ungefähr 3,3 MB RAM-Dump-Inhalt abrufen - bis das Programm stoppt und sagt "Operation nicht erlaubt".

Ich frage mich also, warum ich nicht den gesamten RAM-Inhalt ausgeben kann. Ist dies eine absichtliche Einschränkung in Ubuntu, um böswillige Hacker zu stoppen? Oder ist es etwas anderes? Weiß das jemand? Vielen Dank


quelle
3
OK ... vergiss es ... es stellt sich heraus, dass Ubuntu 1 MB Limit für die RAM-Extraktion hat, wie im Kernel definiert. Und das ist natürlich eine gute Sicherheit, denn dann kann ein Hacker Ihre Passwörter nicht aus dem RAM usw. extrahieren. Und so ... ja ... dieser Thread ist jetzt gelöst. Hier ist die vollständige Info für alle Interessierten ...
1
Wenn Ihr Kernel mit STRICT_DEVMEM = y kompiliert wurde (siehe z. B. / boot / config-KERNELVERSION), wird nur die erste 1 MB aus / dev / mem gelesen. Dies ist weniger ein Problem mit der Kernelversion, da der Kernel Ihres eigenen Computers kompiliert wurde. Die meisten Distributionskerne haben diese Einschränkung aus gutem Grund. Sie können das forensische Kernelmodul fmem herunterladen und modifizieren, um dies zu umgehen. auf eigene Gefahr! rmmod es so schnell wie möglich danach. Das fmem-Modul bietet ein / dev / fmem-Gerät ohne Sicherheitsbeschränkungen.
1
"Ich kann ungefähr 3,3 MB RAM-Dump-Inhalt erhalten-". Ähm, bist du? Ich sehe nur 1052672 bytes (1.1 MB) copied. Nicht 3,3 MB (noch 2,3 MB / s, was eine Geschwindigkeit war).
Hennes

Antworten:

4

Der Linux-Kernel auf Ihrer Ubuntu-Installation wird mit einer Einstellung * ausgeliefert, die die RAM-Extraktion auf 1 MB begrenzt.

Wenn Sie nicht möchten, dass Sie den Kernel entweder ohne ihn neu kompilieren können (offensichtliche Einschränkung: Sie verringern die Sicherheit!), Oder Sie können das forensische Kernelmodul fmem herunterladen und modifizieren, um dies zu umgehen. Das bietet ein / dev / fmem-Gerät ohne Sicherheit.

Wie von Opello erwähnt: Sie können auch strict-devmem=0im Kernel cmdline verwenden.


* : STRICT_DEVMEM=y(siehe zB / boot / config-KERNELVERSION)

Hennes
quelle
3
Sie können auch strict-devmem=0die Kernel-Cmdline übergeben.
Opello
Nur auf Fedora und verwandten Distributionen, wenn * sogar * an diesem Tag
mirh