Tentativa de acessar RAM / dev / mem… diz “Operação não permitida”

9

Estou usando o Ubuntu 12.04

Eu li o seguinte tutorial sobre como acessar o conteúdo da RAM no Linux ....

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

Código:

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

Então, eu corro o código ...

Código:

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

E ... ele começa a liberar o código HEX, até alguns segundos depois, onde diz:

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

Então, basicamente ... eu consigo obter cerca de 3,3 MB de conteúdo de despejo de RAM - até o programa parar, dizendo "Operação não permitida"

Então, eu estou me perguntando por que não consigo despejar todo o conteúdo da RAM? Essa é uma limitação deliberada no Ubuntu, para impedir hackers mal-intencionados? Ou é outra coisa? Alguém sabe? obrigado


fonte
3
OK ... esqueça ... o Ubuntu tem 1 MB de limite de extração de RAM, conforme definido no kernel .. e obviamente isso é uma boa segurança, porque um hacker não pode extrair suas senhas da RAM, etc ... e então ... sim .... esta discussão agora é resolvido Aqui é a informação completa, para qualquer pessoa interessada ....
11
se o seu kernel foi compilado com STRICT_DEVMEM = y (veja por exemplo / boot / config-KERNELVERSION) então somente o primeiro 1MB é lido em / dev / mem. Este não é um problema de versão do kernel, como resultado de como o kernel da sua máquina foi compilado; a maioria dos núcleos de distribuição terá essa restrição por um bom motivo. Você pode baixar e modificar o módulo forense do kernel fmem para solucionar isso; por sua conta e risco! rmmod-lo o mais rápido possível depois. O módulo fmem fornece um dispositivo / dev / fmem sem nenhuma restrição de segurança.
11
"consigo obter cerca de 3,3 MB de conteúdo de despejo de RAM-". Você é? Tudo o que vejo é 1052672 bytes (1.1 MB) copied. Não 3.3MB (nem 2.3MB / s, que era uma velocidade).
Hennes

Respostas:

4

O kernel do linux na instalação do Ubuntu é fornecido com uma configuração * que limita a extração de RAM a 1 MB.

Se você não deseja recompilar o kernel sem ele (observação óbvia: você está diminuindo a segurança!) Ou pode fazer o download e modificar o módulo forense do kernel fmem para solucionar isso. Isso fornece um dispositivo / dev / fmem sem nenhuma segurança.

Conforme mencionado pelo Opello: você também pode usar strict-devmem=0no cmdline do kernel.


* : STRICT_DEVMEM=y(veja, por exemplo, / boot / config-KERNELVERSION)

Hennes
fonte
3
Você também pode passar strict-devmem=0no cmdline do kernel.
opello 6/01/16
Somente no Fedora e distros relacionados, se * até * este dia #
mirh