El día 9 de diciembre del año 2018, Brett Shavers publicó un artículo en el sitio DFIR Training bajo el título "Something I see with forensic software preferences, (Algo que veo con las preferencias del software forense)". Si aún no lo han leído ustedes, les recomiendo encarecidamente que lo hagan, (sólo si les gusta que les hagan pensar un poco). Desde la primera lectura que hice de él, (lo he leído en varias ocasiones), llevo queriendo escribir algo relacionado con el contenido de ese artículo. Hoy es ese día.
Como habrán podido ver ustedes, el título del presente artículo es "Deber de conocer y entender; Necesidad de saber". ¿Qué diantres significa eso?
Cada uno de nosotros siempre va a tener algún tipo de
No existe la herramienta perfecta.Por ese mismo hecho, porque no existe la herramienta perfecta, es un deber inexcusable del analista conocer qué herramientas tiene a su disposición, qué alternativas puede usar para lograr su objetivo: realizar de forma satisfactoria su trabajo. En DFIR existen múltiples caminos para llegar a un mismo resultado.
Igualmente, el analista debe entender cómo funciona la herramienta que está usando. Puede darse el caso de que ustedes usen una herramienta con todas sus configuraciones por defecto y no encuentren lo que están buscando por eso mismo: porque usan ustedes la configuración por defecto. ¿Necesitan pasar entonces a otra herramienta? O, ¿Es posible que cambiando algún valor de su configuración encuentren lo que están buscando?
Las herramientas han sido desarrolladas para cumplir un propósito específico. Desde la utilidad más 'pequeña', (en tamaño), hasta la suite forense más avanzada y cara de esta industria, han sido escritas para cumplir con una finalidad y cada una presentará una serie de ventajas y de inconvenientes, que pueden suplirse entre ellas. Si hay una herramienta que no cumple con sus expectativas y no conocen ustedes otras herramientas porque se aferran a la primera, ¿Cómo pretenden llevar a cabo su trabajo?
Deben saber ustedes que una herramienta que se ejecuta en un Sistema sobre un objetivo puede no trabajar de igual modo si se ejecuta en otro Sistema sobre el mismo objetivo.
Por otro lado, el analista debe saber qué necesita buscar. Parece obvio, ¿No? No se puede llevar a cabo un análisis si no se sabe lo que se va a buscar, si no se marca una finalidad. Siempre he tenido la creencia de que ninguna pregunta sobra a la hora de obtener información de un caso, por absurda que pueda parecer. Cualquier detalle puede ayudar al analista en su trabajo.
Igual de importante que todo lo que les he expuesto hasta ahora, es que deben saber que tienen que buscar un equilibrio. El analista debe tener en consideración los recursos utilizados, el esfuerzo empleado, el tiempo invertido, la finalidad del caso, … Y eso, en mi opinión, no se consigue empeñándose en el uso de una única herramienta.
Si conocemos herramientas y entendemos cómo funcionan podremos ser capaces de cumplir con nuestro objetivo de una manera mucho más eficaz de lo que pudiera parecer a priori.
Permítanme que les explique esto de una forma mucho más dinámica:
Un ejemplo muy sencillo
El día 8 de enero de este año 2019, a las 13.09 horas, sonó mi teléfono. Al otro lado estaba un familiar que precisaba de mi ayuda, de mis conocimientos. Este familiar estaba realizando un trabajo con un fichero '.psd' alojado en un dispositivo USB y me dijo que lo había 'perdido' y necesitaba recuperarlo. únicamente ese fichero. Para colmo, en lugar de no tocarlo, en lugar de alejarse de ese dispositivo para ni siquiera mirarlo, lo volvió a conectar a su equipo para intentar recuperarlo, sin saber muy bien qué ejecutó.
Cuando fui a recoger el dispositivo USB procedí a hacerle algunas preguntas:
* ¿Cuándo se le 'perdió' el fichero?
* ¿Cómo se le ha 'perdido' el fichero?
* ¿Cuándo creó el fichero?
* ¿Cuándo lo usó por última vez?
* ¿Cómo se llamaba el fichero?
* ¿Qué formato tenía el fichero?
* ¿Qué contenido había dentro del fichero?
* ¿Cuánto ocupaba el fichero?
* ¿Dónde estaba alojado el fichero?
* ¿Con qué versión de Photoshop estaba trabajando?
* ¿A cuantos cafés me iba a invitar? 😉
Y algunas otras preguntas más. Como les he dicho anteriormente, ninguna pregunta sobra para hacer un trabajo eficaz.
Antes de conectar el dispositivo USB en la estación de trabajo, procedo a bloquear, y a verificar, la escritura de dispositivos USB:
'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies'
'WriteProtect=1'
No voy a trabajar directamente sobre el dispositivo, a pesar de tenerlo conectado en modo de sólo lectura en el Sistema. Voy a crear una imagen forense. Para este caso he optado por utilizar Magnet Acquire. Me gusta cómo funciona porque presenta un log muy detallado del dispositivo y del proceso de adquisición.
Ahora, con la imagen creada, devuelvo el dispositivo USB a su propietario y es hora de cumplir con la petición.
Es posible que ustedes estén pensando que la opción más viable para este caso sería efectuar un 'carving' sobre la imagen forense. Es cierto. Es una opción. Vamos a verlo con un par de ejemplos.
Voy a mostrarles el proceso con dos herramientas de uso muy extendido, y muy potentes: 'Foremost' y 'Photorec'.
Foremost
Podemos ejecutar la herramienta e indicarle que únicamente busque ficheros con extensión '.psd'.
Pero parece ser que tenemos algún problema. Probamos a ejecutarlo sin indicación de extensión de ficheros.
La herramienta ha trabajado, pero no hemos obtenido ningún fichero '.psd'. ¿Qué ocurre? Que el fichero de configuración 'foremost.conf' no contiene la información relativa a los 'números mágicos' de los ficheros '.psd'.
Así que, si no disponemos de ejemplos de ese tipo de ficheros en nuestra estación de trabajo, podemos consultar sitios como https://www.garykessler.net/library/file_sigs.html o https://www.filesignatures.net/, donde podemos buscar esos datos relativos a la cabecera y pie de un tipo de fichero.
Una vez que hemos encontrado los datos que nos interesan debemos introducirlos dentro de un fichero 'foremost.conf'
Nuevamente, procedemos a ejecutar 'Foremost' con indicación del tipo de fichero que deseamos recuperar. Pero tampoco funciona de este modo la herramienta.
Si utilizamos 'Foremost' con un fichero de configuración personalizado debemos buscar todos los tipos de fichero que se encuentren en él. De este modo, ejecutamos de nuevo la herramienta sin especificar el tipo de fichero. En esta ocasión ha conseguido extraer 9 ficheros '.psd'.
Conforme. ¿Y ahora? ¿Qué hacemos?
Podrán decir ustedes que podemos entregar estos resultados al 'cliente', a lo que yo les diré: ¿Sin comprobarlos?
Podrán decir ustedes que podemos comprobar los resultados obtenidos, a lo que yo les diré: ¿Van a abrir todos los ficheros extraídos, uno a uno? En este caso sólo han sido 9 ficheros. ¿Si se tratara de algunas decenas o cientos?
Como conocemos el contenido del fichero, y sabemos que tiene una parte de texto en su interior, podemos buscar ese contenido en los ficheros recuperados, haciendo uso de 'egrep'.
Y podemos intentar abrirlo si obtenemos un resultado positivo, pero dependiendo del tipo de fichero de que se trate, es muy posible que nos podamos encontrar con errores a la hora de abrir el fichero. Y este tipo de errores es muy habitual en ficheros que no disponen de un 'footer', de un 'número mágico' al final del archivo, como es el caso de los ficheros '.psd'.
Llegados a este punto, valoren ustedes el tiempo invertido, el esfuerzo empleado, y los resultados obtenidos: En este ejemplo, no ha sido posible recuperar el fichero de la petición.
Si desean ustedes ver un artículo más detallado sobre 'Foremost' pueden leer el artículo "Mi nombre es #Foremost: Yo… he visto cosas que vosotros no creeríais"
Photorec
Podemos ejecutar 'Photorec' directamente sobre la imagen forense.
En este caso, 'Photorec' sí nos permite seleccionar directamente el tipo de fichero '.psd' sin necesidad de entrar en su configuración.
Dejamos el resto de la configuración por defecto y procesamos todo el disco entero.
En este caso, la aplicación ha conseguido extraer 3 ficheros '.psd'. Podemos, ahora, buscar qué fichero de los que ha conseguido recuperar contiene la información que nos interesa. A priori, el fichero con el nombre 'f1110816.psd', con un tamaño de 156.864 KB, es el que nos interesa.
Efectivamente, lo abrimos y el resultado es positivo. No obstante, procedemos a ejecutar de nuevo 'Photorec', pero esta vez variando su configuración.
Con esta nueva ejecución la aplicación extrae 2 ficheros. Tras buscar el contenido de interés dentro de ellos, nos indica que el fichero que nos interesa es el que lleva por nombre 'f1110784.psd', con un tamaño de 74.800 KB.
Efectivamente, lo abrimos y se trata del fichero que tenemos que recuperar. Deben saber ustedes que depende de la configuración que llevemos a cabo en la aplicación, se nos mostrarán unos resultados u otros.
El camino fácil
Nunca, jamás, deben ustedes subestimar la información que les proporcionen para cumplir con un objetivo porque la solución al caso, con la información de la que disponen, puede estar a simple vista. Igualmente, nunca, jamás, deben subestimar ninguna herramienta, porque la solución puede estar ahí.
Para realizar un trabajo eficaz en este caso no he optado por usar alguna herramienta de 'carving'. He optado por utilizar 'The Sleuth Kit'.
Lo primero que hago es ver qué particiones tiene el dispositivo USB, mediante la utilidad 'mmls'
Después de ello, genero una línea de tiempo, únicamente con el contenido de ficheros '.psd', mediante las utilidades 'fls' y 'mactime', filtrando los resultados con 'egrep'.
Tras el estudio de la línea de tiempo, mediante las fechas proporcionadas y el nombre del fichero, procedo a ver la información de un fichero ubicado en el inodo 83, bajo el nombre '_ote.psd', que se presenta como borrado, mediante la utilidad 'istat'.
Este sí es el fichero que estoy buscando. Así que lo extraigo mediante la utilidad 'icat'.
Y procedo a su apertura para comprobarlo.
Si desean ver ustedes algo más sobre 'The Sleuth Kit' pueden leer el artículo "Sobre las líneas de tiempo: El límite, tu imaginación".
Conclusiones
Como se habrán percatado ustedes, con 'Foremost', en este caso, no ha sido posible extraer el fichero de interés. Lo contrario ha ocurrido con 'Photorec', que nos ha recuperado dos ficheros, con distintos nombres y tamaños.
Si comparamos los ficheros extraídos empleando herramientas de 'carving' con el fichero extraído con 'The Sleuth Kit' podrán ustedes ver la diferencia.
Esto se trata únicamente de un pequeño ejemplo. Pero,
La solución a un caso no tiene porque ser la misma que para otro caso. La solución puede estar en algo más complejo, como la recuperación manual de ficheros, empleando 'xxd', o en algo muy sencillo, como el procesado de la imagen forense en una avanzada suite forense.
A veces, la solución será algo enrevesada y otras veces se encontrará a simple vista. A veces no se dispondrán de datos y otras veces los datos proporcionarán una puerta a la resolución del problema.
Lo que tienen que tener en cuenta ustedes es que, para cada caso, deben buscar un equilibrio sopesando el tiempo, los recursos, el esfuerzo... Y todo eso no se puede llevar a cabo si ustedes no conocen herramientas, si no entienden cómo funcionan y, por supuesto, si no saben lo que buscan.
Por ello, no se aferren a una herramienta como si fuera la única, como si fuera la mejor. Piensen en el amplio abanico del que pueden disponer, en el uso que puede tener cada una de esas herramientas.
Esto es todo.
No hay comentarios:
Publicar un comentario