<?xml version="1.0" encoding="ISO-8859-15"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sergio Hernando &#187; foremost</title>
	<atom:link href="http://www.sahw.com/wp/archivos/tag/foremost/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sahw.com/wp</link>
	<description>Seguridad de la Información y Auditoría de Sistemas</description>
	<lastBuildDate>Sun, 05 Sep 2010 21:10:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Auditoría forense: file carving con foremost</title>
		<link>http://www.sahw.com/wp/archivos/2008/12/01/auditoria-forense-file-carving-con-foremost/</link>
		<comments>http://www.sahw.com/wp/archivos/2008/12/01/auditoria-forense-file-carving-con-foremost/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 23:49:49 +0000</pubDate>
		<dc:creator>Sergio Hernando</dc:creator>
				<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Analisis Forense]]></category>
		<category><![CDATA[foremost]]></category>
		<category><![CDATA[scalpel]]></category>

		<guid isPermaLink="false">http://www.sahw.com/wp/?p=2732</guid>
		<description><![CDATA[Hola, Tiempo atrás hablamos sobre el file carving sobre FUSE. Por resumir un poco, y copiando lo que comentaba en el artículo que os enlazo, comentar que el file carving es un proceso cuya misión es recuperar ficheros en un escenario forense basando el análisis en contenidos y no en metadatos, con lo que este [...]]]></description>
			<content:encoded><![CDATA[<p>Hola,</p>
<p>Tiempo atrás hablamos sobre el <a href="http://www.sahw.com/wp/archivos/2007/06/22/auditoria-forense-file-carving-sobre-fuse/"><em>file carving</em> sobre FUSE</a>. Por resumir un poco, y copiando lo que comentaba en el artículo que os enlazo, comentar que el <em>file carving</em> es un proceso cuya misión es recuperar ficheros en un escenario forense basando el análisis en contenidos y no en metadatos, con lo que este tipo de técnicas son especialmente útiles cuando se pretender recuperar estructuras corruptas. Los tipos usuales de <em>carving</em> son el basado en bloques, el de cabeceras y pies, el basado en características, los limitados en tamaño de fichero, el <em>carving</em> con validación, el <em>carving</em> semántico, el de recuperación de fragmentos y el basado en estructura de ficheros.</p>
<p>Hoy vamos a realizar una tarea de <em>carving</em> mucho más sencilla. De hecho, es la más simple que se me ocurre, y para ello vamos a necesitar un programa que si no aparece en todas las distribuciones forenses, aparece en la práctica mayoría: <em>foremost</em></p>
<p>Foremost es un programa de consola que permite recuperar ficheros en función de cabeceras, pies y estructura interna de datos. Como gran ventaja, permite procesar directamente imágenes obtenidas mediante <a href="http://www.freebsd.org/cgi/man.cgi?query=dd&sektion=1">dd</a>, directamente sobre la unidad a analizar, y admite otros formatos de imágenes forenses extendidos, como <a href="http://www.guidancesoftware.com/products/ef_index.asp">Encase Forensics</a> o <a href="http://www.forensicswiki.org/wiki/Safeback">Safeback</a>.</p>
<p><strong>Obtención del fuente</strong></p>
<p>Foremost se puede descargar en <a href="http://foremost.sourceforge.net">http://foremost.sourceforge.net</a>. Si queréis usar wget, aquí os dejo un enlace directo</p>
<blockquote><p>nas# wget http://ovh.dl.sourceforge.net/sourceforge/foremost/foremost-1.0.tar.gz</p></blockquote>
<p><strong>Compilación</strong></p>
<p>Es muy sencilla. Nada problemática. Se queja de un par de <em>warnings</em>, pero ni caso.</p>
<blockquote><p>make && make install</p></blockquote>
<p><strong>Ejecutando el carving</strong></p>
<p>Para empezar, podemos bajarnos dos imágenes de ejemplo, creadas específicamente para poder lanzar herramientas contra ellas. Cualquiera de las dos vale.</p>
<p><a href="http://dftt.sourceforge.net/test11/index.html">http://dftt.sourceforge.net/test11/index.html</a><br />
<a href="http://dftt.sourceforge.net/test12/index.html">http://dftt.sourceforge.net/test12/index.html</a></p>
<p>Desempaquetamos la imagen, y lanzamos la aplicación. En este caso, le diremos a <em>foremost</em> que localice todos los tipos de fichero (<em>-t all</em>) que tiene internamente definidos sobre el fichero de imagen ejemplo que hemos descargado (<em>11-carve-fat.dd</em>)</p>
<blockquote><p>nas# /usr/local/bin/foremost -t all -i 11-carve-fat.dd<br />
Processing: 11-carve-fat.dd<br />
|*|<br />
nas#</p></blockquote>
<p>De una manera automática, se generará un directorio que se llama <em>output</em>, dentro del cual hay un fichero llamado audit.txt que contiene los resultados:</p>
<blockquote><p>
Foremost version 1.0 by Jesse Kornblum, Kris Kendall, and Nick Mikus<br />
Audit File</p>
<p>Foremost started at Sun Nov 30 22:31:59 2008<br />
Invocation: /usr/local/bin/foremost -t all -i 11-carve-fat.dd<br />
Output directory: /mnt/carving/output<br />
Configuration file: /usr/local/etc/foremost.conf<br />
------------------------------------------------------------------<br />
File: 11-carve-fat.dd<br />
Start: Sun Nov 30 22:31:59 2008<br />
Length: Unknown</p>
<p>Num	 Name (bs=512)	       Size	 File Offset	 Comment </p>
<p>0:	     19717.jpg 	      29 KB 	   10095104<br />
1:	     19777.jpg 	     433 KB 	   10125824<br />
2:	     20645.jpg 	      96 KB 	   10570240<br />
3:	     20841.gif 	       5 KB 	   10670592 	  (88 x 31)<br />
4:	       321.wmv 	       7 MB 	     164352<br />
5:	     21929.wmv 	    1012 KB 	   11227648<br />
6:	     20853.mov 	     537 KB 	   10676740<br />
7:	     16021.wav 	     311 KB 	    8202752<br />
8:	       281.doc 	      20 KB 	     143872<br />
9:	     16693.xls 	      24 KB 	    8546816<br />
10:	     23957.ppt 	      13 KB 	   12265984<br />
11:	     23981.zip 	      77 KB 	   12278272<br />
12:	     16741.pdf 	       1 MB 	    8571392 	  (PDF is Linearized)<br />
13:	     19477.pdf 	     119 KB 	    9972224<br />
Finish: Sun Nov 30 22:32:02 2008</p>
<p>14 FILES EXTRACTED</p>
<p>jpg:= 3<br />
gif:= 1<br />
wmv:= 2<br />
mov:= 1<br />
rif:= 1<br />
ole:= 3<br />
zip:= 1<br />
pdf:= 2<br />
------------------------------------------------------------------</p>
<p>Foremost finished at Sun Nov 30 22:32:02 2008</p></blockquote>
<p><strong>Creación y análisis de una imagen real</strong></p>
<p>A modo de ejemplo, vamos a crear una imagen de un dispositivo iPod. No es el dispositivo más indicado para una prueba, pero al ser de poco tamaño, generaremos una imagen de manera rápida. Una vez insertado en el puerto USB, debería aparecer en <a href="http://es.wikipedia.org/wiki/Dmesg">dmesg</a> algo parecido a:</p>
<blockquote><p>
umass0: <apple iPod, class 0/0, rev 2.00/10.01, addr 2> on uhub4<br />
da0 at umass-sim0 bus 0 target 0 lun 0<br />
da0: </apple><apple iPod 2.70> Removable Direct Access SCSI-4 device<br />
da0: 40.000MB/s transfers<br />
da0: 495MB (1015040 512 byte sectors: 64H 32S/T 495C)<br />
</apple></p></blockquote>
<p>Generamos una imagen llamada <em>dumpusb</em>, que será volcada en la carpeta /mnt:</p>
<blockquote><p>#nas dd if=/dev/da0 of=/mnt/dumpusb</p></blockquote>
<p>Observamos el resultado del <em>dump</em>, ya que nos hará saber si es correcto o no. En este caso hay coincidencia entre registros de entrada y salida, y se nos informa de la tasa de extracción y consolidación de la imagen.</p>
<blockquote><p>1015040+0 records in<br />
1015040+0 records out<br />
519700480 bytes transferred in 761.919000 secs (682094 bytes/sec)</p></blockquote>
<p>Volvemos a lanzar <em>foremost</em>:</p>
<blockquote><p>nas# /usr/local/bin/foremost -t all -i dumpusb</p></blockquote>
<p>Con los siguientes (escasos) resultados:</p>
<blockquote><p>Foremost version 1.0 by Jesse Kornblum, Kris Kendall, and Nick Mikus<br />
Audit File</p>
<p>Foremost started at Mon Dec  1 00:09:26 2008<br />
Invocation: /usr/local/bin/foremost -t all -i dumpusb<br />
Output directory: /mnt/carving/output<br />
Configuration file: /usr/local/etc/foremost.conf<br />
------------------------------------------------------------------<br />
File: dumpusb<br />
Start: Mon Dec  1 00:09:26 2008<br />
Length: Unknown</p>
<p>Num	 Name (bs=512)	       Size	 File Offset	 Comment </p>
<p>0:	    681667.jpg 	      15 KB 	  349013804<br />
Finish: Mon Dec  1 00:09:43 2008</p>
<p>1 FILES EXTRACTED</p>
<p>jpg:= 1<br />
------------------------------------------------------------------</p>
<p>Foremost finished at Mon Dec  1 00:09:43 2008</p></blockquote>
<p><strong>foremost vs scalpel</strong></p>
<p>En distribuciones forenses más actuales es frecuente encontrar una solución que se llama <em>scalpel</em>. Se trata de una reescritura completa de <em>foremost</em>, es software libre y puede ser empleado con (prácticamente) la misma finalidad. </p>
<p><em>Scalpel</em> trabaja con un fichero, llamado <em>scalpel.conf</em>, donde se define el patrón de búsqueda de los tipos de fichero que queremos localizar, similar al que utliza <em>foremost</em> (<em>foremost.conf</em>)</p>
<p>Se puede descargar en <a href="http://www.digitalforensicssolutions.com/Scalpel/">http://www.digitalforensicssolutions.com/Scalpel/</a>.</p>
<p>Un saludo,</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sahw.com/wp/archivos/2008/12/01/auditoria-forense-file-carving-con-foremost/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
