尝试访问RAM / dev / mem…表示“不允许操作”


9

我正在使用Ubuntu 12.04

我阅读了以下有关如何在Linux中访问RAM内容的教程。

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

码:

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

所以,我运行代码...

码:

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

并且...它开始输出十六进制代码,直到几秒钟后,它显示:

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

基本上,..我能够获得约3.3 MB的RAM转储内容,直到程序停止,并说“不允许操作”

所以我想知道为什么我不能转储RAM的全部内容?这是Ubuntu中故意阻止恶意黑客的限制吗?或者是别的什么?有人知道吗 谢谢


3
好吧...算了吧...事实证明,Ubuntu在内核中定义了1 MB的RAM提取限制。显然,这是一个很好的安全性,因为那样一来,黑客就无法从RAM等提取您的密码...所以...是啊....这线程现在解决下面是完整的信息,任何有兴趣....

1
如果您的内核是使用STRICT_DEVMEM = y编译的(请参见例如/ boot / config-KERNELVERSION),则仅从/ dev / mem中读取前1MB。这并不是内核版本问题,这是由于您自己计算机的内核是如何编译的。大多数发行版内核都会有充分的理由进行此限制。您可以下载并安装取证内核模块fmem来解决此问题;风险自负!rmmod之后尽快。fmem模块提供了/ dev / fmem设备,没有任何安全限制。

1
“能够获得约3.3 MB的RAM转储内容-”。嗯,你是吗?我所看到的是1052672 bytes (1.1 MB) copied。不是3.3MB(也不是2.3MB /秒的速度)。
Hennes

Answers:


4

Ubuntu安装中的linux内核带有设置*,该设置将RAM提取限制为1 MB。

如果您不希望在没有内核的情况下重新编译内核(明显的警告:您正在降低安全性!),或者可以下载并安装法医内核模块fmem来解决此问题。这就提供了一个/ dev / fmem设备,没有任何安全性。

如Opello所述:您还可以strict-devmem=0在内核cmdline中使用。


*:(STRICT_DEVMEM=y请参见例如/ boot / config-KERNELVERSION)


3
您也可以传入strict-devmem=0内核cmdline。
opello

仅在Fedora和相关发行版上,如果当天*即使*
mirh '18 -10-10
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.