{"id":1529,"date":"2013-10-07T16:58:36","date_gmt":"2013-10-07T19:58:36","guid":{"rendered":"http:\/\/eriberto.pro.br\/blog\/?p=1529"},"modified":"2017-06-20T12:00:41","modified_gmt":"2017-06-20T15:00:41","slug":"lime-linux-memory-extractor","status":"publish","type":"post","link":"https:\/\/eriberto.pro.br\/blog\/2013\/10\/07\/lime-linux-memory-extractor\/","title":{"rendered":"LiME &#8211; Linux Memory Extractor"},"content":{"rendered":"<p>H\u00e1 algum tempo, <a href=\"https:\/\/eriberto.pro.br\/blog\/?p=279\">neste link<\/a>, eu falei sobre o fmem, um m\u00f3dulo de kernel que fornece privil\u00e9gios para que seja poss\u00edvel o dump de mem\u00f3ria, muito usado em per\u00edcias digitais (forense computacional). Ocorre que o fmem possui algumas limita\u00e7\u00f5es, como a aquisi\u00e7\u00e3o de mem\u00f3ria somente at\u00e9 4 GB. Assim a solu\u00e7\u00e3o mais moderna e vers\u00e1til \u00e9 o LiME.<\/p>\n<p>O objetivo deste post ser\u00e1 mostrar, de forma simples e objetiva, como compilar e usar o m\u00f3dulo de kernel LiME, dispon\u00edvel em <a href=\"https:\/\/code.google.com\/p\/lime-forensics\">https:\/\/code.google.com\/p\/lime-forensics<\/a>. O trabalho se dar\u00e1 no Debian Wheezy (7.0).<\/p>\n<p>Inicialmente, como root, instale os cabe\u00e7alhos (headers) do kernel, o <em>gcc<\/em> e o <em>make<\/em>. Considerando o uso de um kernel de 64 bits, o comando ser\u00e1:<\/p>\n<pre># apt-get install linux-headers-amd64 gcc make<\/pre>\n<p>A seguir, fa\u00e7a download do LiME e, depois, o extraia. A extra\u00e7\u00e3o se dar\u00e1 com o comando tar:<\/p>\n<pre># tar -xvf lime-forensics-1.1-r17.tar.gz<\/pre>\n<p>Como pr\u00f3ximo passo, entre no diret\u00f3rio <em>src<\/em> e compile o c\u00f3digo:<\/p>\n<pre># cd src\r\n# make<\/pre>\n<p>Observe que ser\u00e1 criado um m\u00f3dulo de kernel (extens\u00e3o .ko). No meu caso, um <em>ls<\/em> mostra o seguinte:<\/p>\n<pre># ls\r\ndisk.c\u00a0 lime-3.2.0-4-amd64.ko\u00a0 lime.h\u00a0 main.c\u00a0 Makefile\u00a0 Makefile.sample\u00a0 tcp.c<\/pre>\n<p>Finalmente, carregue o m\u00f3dulo. Ser\u00e1 utilizado o comando <em>insmod<\/em> com algumas op\u00e7\u00f5es. Esse carregamento j\u00e1 realizar\u00e1 o dump de mem\u00f3ria automaticamente. O comando ser\u00e1 o seguinte:<\/p>\n<pre># insmod lime-3.2.0-4-amd64.ko \"path=\/root\/mem.dump format=lime\"<\/pre>\n<p>Depois do comando anterior, ser\u00e1 criado um arquivo em <em>\/root<\/em>, com o nome <em>mem.dump<\/em>, que conter\u00e1 o dump da mem\u00f3ria. O LiME trabalha com tr\u00eas formatos de dump: <em>raw<\/em>, <em>padded<\/em> e <em>lime<\/em>. O formato <em>raw<\/em> \u00e9 o mais puro e fornece uma c\u00f3pia id\u00eantica do conte\u00fado da RAM. No entanto, o formato <em>lime<\/em>, que cont\u00e9m headers extras que controlam endere\u00e7os de mem\u00f3ria por blocos, \u00e9 entendido pelo analisador <a href=\"https:\/\/code.google.com\/p\/volatility\">Volatility<\/a>. Assim sendo, este ser\u00e1 o m\u00e9todo preferencial.<\/p>\n<p>Caso seja necess\u00e1rio realizar um novo dump de mem\u00f3ria na m\u00e1quina, antes de tudo, remova o m\u00f3dulo LiME. Para tanto, utilize o comando:<\/p>\n<pre># rmmod lime<\/pre>\n<p>O manual do LiME em PDF, dispon\u00edvel no mesmo site de download, fornece diversas op\u00e7\u00f5es, como a aquisi\u00e7\u00e3o da mem\u00f3ria em dispositivos usando Android.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>H\u00e1 algum tempo, neste link, eu falei sobre o fmem, um m\u00f3dulo de kernel que fornece privil\u00e9gios para que seja poss\u00edvel o dump de mem\u00f3ria, muito usado em per\u00edcias digitais (forense computacional). Ocorre que o fmem possui algumas limita\u00e7\u00f5es, como a aquisi\u00e7\u00e3o de mem\u00f3ria somente at\u00e9 4 GB. Assim a solu\u00e7\u00e3o mais moderna e vers\u00e1til&hellip;&nbsp;<a href=\"https:\/\/eriberto.pro.br\/blog\/2013\/10\/07\/lime-linux-memory-extractor\/\" rel=\"bookmark\">Continue a ler &raquo;<span class=\"screen-reader-text\">LiME &#8211; Linux Memory Extractor<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[54,13,12,3,11],"tags":[124,80,127,125,126,575,626,621,123,576,667,623,577],"class_list":["post-1529","post","type-post","status-publish","format-standard","hentry","category-forense-computacional","category-hardware","category-kernel","category-linux","category-sistema-operacional","tag-devmem","tag-computador","tag-dcfldd","tag-dd","tag-dump","tag-fmem","tag-forense-computacional","tag-linux","tag-memoria","tag-pericia-digital","tag-planet-en","tag-seguranca","tag-volatility"],"_links":{"self":[{"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/posts\/1529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/comments?post=1529"}],"version-history":[{"count":1,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/posts\/1529\/revisions"}],"predecessor-version":[{"id":2315,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/posts\/1529\/revisions\/2315"}],"wp:attachment":[{"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/media?parent=1529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/categories?post=1529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/tags?post=1529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}