44
#Objetivos de la informática forense El objetivo principal de la informática forense es generar evidencias legales para procedimientos judiciales. Las evidencias, desde el punto de vista que nos ocupa, son el conjunto de recursos y datos a los que ha tenido acceso un perito para extraerlos, analizarlos, verificar su autenticidad y poder así responder a las cuestiones técnicas planteadas por la parte que le contrate o por un tribunal. El proceso general de peritaje consta de al menos tres etapas: adquisición, análisis y presentación, aunque para el desarrollo de este curso vamos a extenderlo agrupando las actividades en cinco etapas. La primera es prepararse para una investigación, que empieza incluso antes de ser contratados o de que ocurra un incidente, ya que la preparación incluye formación, mantenimiento de equipos y recursos, reciclaje, además de preparación específica en función del incidente a atender. La segunda fase es la de adquisición de datos, que se realizan bien en la escena del incidente, bien en nuestro laboratorio, si es allí donde nos llevan los equipos afectados o involucrados en un incidente. El análisis de datos es el siguiente paso. Consiste en indexar, dar forma y comprender la información pertinente para la investigación de entre todo el conjunto de datos adquiridos en la fase previa. La identificación de evidencias es la quinta etapa y consiste en señalar, de todo lo adquirido y analizado, qué es lo relevante para el caso en el que trabajamos, lo que en caso de declaración ante un tribunal tendríamos que explicar y defender. Y por último está la generación del informe de conclusiones o informe pericial, en el que se detallan todas las actividades del proceso de investigación y las conclusiones obtenidas respecto a la información disponible y a las preguntas que el contratista nos formulase. Porque una cosa tenemos que tenerla muy clara: el trabajo forense o peritaje ha de ser de carácter científico, no subjetivo. El perito debe responder a preguntas de tipo técnico planteadas por su contratista, sea una parte involucrada en un incidente o por un tribunal. El perito no debe valorar, por ejemplo, si la acción de una persona es constitutiva de delito, sino localizar o verificar las evidencias que permitan a los juristas comprender los aspectos de la tecnología que escapan a su conocimiento y así poder tomar esa decisión de forma razonada. Al fin y al cabo, la ciencia forense es la aplicación de conocimientos, métodos y técnicas de investigación científica que buscan determinar la veracidad de unos hechos, su origen y su autoría. En informática forense, una gran parte del trabajo consiste en verificar la veracidad de la información, ya que las evidencias digitales son fácilmente modificables e incluso pueden ser evidencias totalmente inventadas. Confirmada la veracidad objetiva de una evidencia, el trabajo consiste en el cómo y, cuando es posible, en el quién; y cuando hablamos de "quién" podemos referirnos no solo a personas, quizás sea a

#Objetivos de la informática forense

  • Upload
    others

  • View
    34

  • Download
    0

Embed Size (px)

Citation preview

Page 1: #Objetivos de la informática forense

#Objetivos de la informática forense

El objetivo principal de la informática forense es generar

evidencias legales para procedimientos judiciales. Las

evidencias, desde el punto de vista que nos ocupa, son el

conjunto de recursos y datos a los que ha tenido acceso un

perito para extraerlos, analizarlos, verificar su autenticidad y

poder así responder a las cuestiones técnicas planteadas por la

parte que le contrate o por un tribunal. El proceso general de

peritaje consta de al menos tres etapas: adquisición, análisis y

presentación, aunque para el desarrollo de este curso vamos a

extenderlo agrupando las actividades en cinco etapas. La primera

es prepararse para una investigación, que empieza incluso antes

de ser contratados o de que ocurra un incidente, ya que la

preparación incluye formación, mantenimiento de equipos y

recursos, reciclaje, además de preparación específica en función

del incidente a atender. La segunda fase es la de adquisición de

datos, que se realizan bien en la escena del incidente, bien en

nuestro laboratorio, si es allí donde nos llevan los equipos

afectados o involucrados en un incidente. El análisis de datos

es el siguiente paso. Consiste en indexar, dar forma y

comprender la información pertinente para la investigación de

entre todo el conjunto de datos adquiridos en la fase previa. La

identificación de evidencias es la quinta etapa y consiste en

señalar, de todo lo adquirido y analizado, qué es lo relevante

para el caso en el que trabajamos, lo que en caso de declaración

ante un tribunal tendríamos que explicar y defender. Y por

último está la generación del informe de conclusiones o informe

pericial, en el que se detallan todas las actividades del

proceso de investigación y las conclusiones obtenidas respecto a

la información disponible y a las preguntas que el contratista

nos formulase. Porque una cosa tenemos que tenerla muy clara: el

trabajo forense o peritaje ha de ser de carácter científico, no

subjetivo. El perito debe responder a preguntas de tipo técnico

planteadas por su contratista, sea una parte involucrada en un

incidente o por un tribunal. El perito no debe valorar, por

ejemplo, si la acción de una persona es constitutiva de delito,

sino localizar o verificar las evidencias que permitan a los

juristas comprender los aspectos de la tecnología que escapan a

su conocimiento y así poder tomar esa decisión de forma

razonada. Al fin y al cabo, la ciencia forense es la aplicación

de conocimientos, métodos y técnicas de investigación científica

que buscan determinar la veracidad de unos hechos, su origen y

su autoría. En informática forense, una gran parte del trabajo

consiste en verificar la veracidad de la información, ya que las

evidencias digitales son fácilmente modificables e incluso

pueden ser evidencias totalmente inventadas. Confirmada la

veracidad objetiva de una evidencia, el trabajo consiste en el

cómo y, cuando es posible, en el quién; y cuando hablamos de

"quién" podemos referirnos no solo a personas, quizás sea a

Page 2: #Objetivos de la informática forense

equipos, a cuentas de servicios "online", etc. que otros

profesionales deberán vincular con una persona física.

#Tipos de investigación de un perito informático

Como perito informático, puedes encontrarte ante distintos tipos

de investigación. Las investigaciones públicas son las

desarrolladas a petición de organismos públicos oficiales como

juzgados o cuerpos policiales. Se trata de procedimientos

sujetos a los códigos civiles o penales aplicables según la

investigación en curso. Puede darse en casos de robo,

explotación sexual, tráfico de drogas, acoso o cualquier tipo de

investigaciones vinculadas a delitos. El perito en estos casos

puede ser un profesional privado o un miembro de los cuerpos

policiales. El trabajo puede tener dos tipos de finalidades que

no son excluyentes entre sí: puede ser una parte más de una

investigación policial o judicial, o tratarse de la valoración

profesional de una evidencia obtenida durante una de esas

investigaciones para aportar el conocimiento del perito a un

tribunal. Los trabajos de carácter privado, aunque no

necesariamente tengan que derivar en procedimientos judiciales,

también tienen que ajustarse a la legislación vigente y respetar

especialmente las leyes referentes a los derechos de las

personas. Además deberán respetarse las políticas de la propia

empresa que contrate los servicios del perito. Se trata de

investigaciones que no tienen por qué tener finalidad jurídica:

pueden tratarse de investigaciones internas de una empresa,

respuesta a incidentes, evaluaciones de seguridad y más. Cuando

se practiquen este tipo de servicios hay que tener en cuenta que

los solicitantes suelen ser empresas privadas, no se debe

bloquear la continuidad del negocio. Durante un ataque prima la

seguridad y continuidad de la empresa sobre la evidencia legal.

Se trabaja para entidades privadas que quieren obtener

información que puede o no llegar a instancias judiciales, es

decir, que puede quedar todo en una investigación interna sin

pasar a más, llegar a un arbitraje o llegar a una demanda,

generalmente de tipo civil. Algunos casos con los que puede

estar más relacionado el servicio de peritaje privado son

incidentes, sabotajes, espionaje industrial, malversación de

recursos de la empresa, disputas laborales y muchos otros. A

veces las investigaciones privadas pueden derivar en

procedimientos judiciales. La investigación de, por ejemplo, la

actividad de un empleado debe desempeñarse de acuerdo a la

legislación laboral y a los derechos de privacidad intrínsecos

al trabajador, no solo de acuerdo a las políticas de la empresa.

El descubrimiento durante una investigación privada de la

comisión de un delito debe derivar automáticamente en la

pertinente denuncia ante las autoridades. Por ejemplo, si se

está investigando una posible fuga de información de una empresa

y se encuentra contenido inapropiado –por ilegal– en un equipo,

debe denunciarse ante la policía o un juzgado. Así que podemos

Page 3: #Objetivos de la informática forense

decir que si tratamos todos los casos como si fueran a acabar en

un tribunal, podremos garantizar la calidad del trabajo sea cual

sea la deriva que tome el caso.

#Herramientas forenses

El trabajo de perito informático requiere de la preparación de

un espacio de trabajo y de una serie de herramientas a las que

en su conjunto llamaremos "laboratorio". Vamos a hablar a

grandes rasgos tanto de "software" como de "hardware". Existe

toda una industria dedicada al desarrollo de aplicaciones y

herramientas especializadas en la informática forense, y una de

las categorías principales de productos son las "suites" o

"kits". Son aplicaciones que se desarrollan y suministran como

conjuntos de herramientas en lugar de como aplicaciones

independientes y suelen abarcar todas las partes del proceso de

una investigación: adquisición de evidencias, procesado y

búsqueda automatizada de información relevante y generación de

informes. También podemos encontrar "suites" especializadas en

computadoras o en telefonía móvil. Algunas empresas que trabajan

este campo son AccessData, con FTK, y Guidance Software, con la

"suite" EnCase. En telefonía móvil tenemos a Cellebrite, con

UFED. También existen "suites" "open-source" como, por ejemplo,

The Sleuth Kit y su aplicación gráfica Autopsy, e incluso

distribuciones Linux especializadas en análisis forense con

multitud de herramientas "open source" preinstaladas como, por

ejemplo, Caine, Santoku o Kali; cada una con sus peculiaridades.

También existen herramientas específicas que sirven para

desarrollar tareas muy concretas, quizá no tan genéricas o

habituales como para encontrarlas en las "suites" antes

mencionadas. Un ejemplo lo tenemos en Wireshark, probablemente

la herramienta de análisis de tráfico de red más utilizada. Otro

de los ejemplos serían las aplicaciones OCR para reconocimiento

de texto en imágenes facilitando su indexación automatizada y

los analizadores esteganográficos para búsqueda de información

oculta. La otra parte del laboratorio es el "hardware". Y, como

base del equipamiento de nuestro laboratorio, tenemos que pensar

en la computadora principal de análisis de evidencias, que tiene

que tener gran potencia de procesado, abundante memoria RAM y

mucho espacio de almacenamiento para operar con archivos de gran

tamaño. Además es conveniente que tenga bahías de expansión y

puertos de prácticamente todo tipo que nos permitan conectar

diversos equipos, dispositivos y evidencias que en general

puedan caer en nuestras manos y también es conveniente tener

varias interfaces de red para experimentación, análisis de

tráfico, etc. Otros equipos que conviene tener en nuestro "kit"

forense son un bloqueador de escritura, que impide al sistema

operativo de una computadora escribir en la unidad de disco

conectada a través del mismo. También hay bloqueadores

"software"; sistemas de almacenamiento independiente de gran

capacidad para almacenar imágenes de discos completas que puede

Page 4: #Objetivos de la informática forense

que tengamos que conservar durante muchísimo tiempo; clonadores

independientes, que son aparatos que permiten conectar discos de

evidencias originales y discos limpios para copiar, bit a bit,

todos los datos de la evidencia en el disco limpio. También

calculan los "hashes" de original y copia para verificar la

integridad y bloquean la escritura en la evidencia original. Por

último, es interesante tener todo tipo de cables y adaptadores

de conexiones para poder adaptarnos a cualquier situación o

tecnología que podamos encontrarnos, así como piezas obsoletas o

de desecho de otros equipos para poder canibalizarlas si tenemos

que reconstruir equipos dañados o hacer prácticas antes de

trabajar con evidencias reales.

#Implicaciones legales de un peritaje mal hecho

El trabajo de un perito es el de asesoramiento técnico en su

materia de especialidad; en el tema que nos ocupa, la

informática y la información digital en prácticamente todos sus

formatos. Cuando un trabajo de investigación es impecable, la

persona que investiga es lo único que puede ser atacado, por lo

que la reputación es muy importante. Una buena reputación evita

que un trabajo bien hecho pueda ser desprestigiado mediante

falacias ad hominem. La buena reputación cuestan mucho ganarla

con estudio, con certificaciones, con títulos, con cada trabajo,

con cada informe y cada cliente satisfecho, pero basta practicar

un mal peritaje para perderla. Si el trabajo no es, hablando

desde el punto de vista forense, intachable, la evidencia

aportada puede ser desestimada, lo cual perjudica siempre a una

de las partes y además al perito, el cual pierde reputación y

puede tener que asumir responsabilidades legales. La adquisición

de evidencias debe ser siempre de acuerdo a la ley. En

investigaciones privadas deben respetarse todas las garantías y

derechos de los ciudadanos y de cualesquiera otras condiciones

adicionales que estos tengan, como por ejemplo ser un empleado,

un menor, etc., igual que en investigaciones judiciales. Por

ejemplo, no podemos investigar una computadora o "smartphone" si

no es el propietario quien hace entrega de la misma, o sería una

violación de la intimidad y del secreto de las comunicaciones.

En investigaciones judiciales no se debe tomar o acceder a nada

que no sea proporcionado por las autoridades o adquirido en base

a mandamientos judiciales, siempre según la legislación vigente

en cada momento y lugar. Es decir, se trabaja con lo que aporta

el tribunal, que es lo que este ha considerado que debe ser

evaluado. para que una evidencia sea aceptable tanto en casos

públicos como privados, esta debe ser reproducible, es decir,

otro perito tiene que poder llegar a las mismas conclusiones

partiendo de la misma evidencia. La trazabilidad de las

evidencias o la cadena de custodia es una herramienta documental

que garantiza la conservación de la evidencia. Para esto es

importante establecer protocolos sistemáticos de actuación y

calcular los "hashes" de las evidencias digitales, ya que

Page 5: #Objetivos de la informática forense

permiten comprobar que no han sido alteradas. Por último, es

aconsejable que los peritos, ya sea por pertenencia a una

asociación profesional o por contratación propia, estén

respaldados por un seguro de responsabilidad civil que les cubra

en el ejercicio de su profesión. Y si en algún momento el perito

duda sobre la legalidad de cualquier actividad que por

iniciativa propia o del cliente fuese a ejecutar, mejor

consultar antes con un asesor legal.

*Las evidencias son un conjunto de recursos y datos a los que

tiene acceso un perito para extraer y analizar la información.

*En una investigación pública, ¿Con que tipo de perito nos

podemos encontrar?

Privado o funcionario

*De las siguientes suites forenses, ¿Cuál trabaja

específicamente sobre Linux?

Caine

Page 6: #Objetivos de la informática forense

#Tipos de hardware para informática forense

Cuando nos planteamos adquirir "hardware" para realizar trabajos

de informática forense debemos pensar no solo en la seguridad,

también es muy importante la eficiencia, dado que el proceso de

información consume mucho tiempo, por lo que el "hardware" debe

ser potente en cuanto a la velocidad de procesador y la

explotación que podamos hacer de su arquitectura multinúcleo. La

cantidad y calidad de la memoria RAM es importante, sobre todo

cuando trabajamos con grandes archivos que tengamos que cargar

en memoria. La velocidad de lectura y escritura en disco es muy

importante para agilizar procesos. Es recomendable usar, cuando

sea conveniente y posible, discos SSD o de estado sólido, quizá

no para el almacenamiento de la información, porque aún son más

costosos que los discos mecánicos, pero sí para el sistema

operativo, las aplicaciones y para las imágenes locales de

evidencias con las que estemos trabajando en cada momento. La

compatibilidad es otro requisito que debe cumplir nuestro

sistema informático: tenemos que ser capaces de operar con

distintos sistemas operativos, ya sea para practicar o para

trabajar con las evidencias que nos lleguen o adquiramos, o

porque la mayor parte del "software" forense está desarrollado

para ejecutarse en plataformas Linux o Windows. Y además está la

conectividad, es decir, la capacidad para poder conectar a

nuestra computadora de análisis cualquier dispositivo, disco,

terminal, adaptador o lo que corresponda para poder desempeñar

nuestro trabajo, ya que nunca sabemos qué vamos a encontrarnos.

La capacidad de una computadora es otro aspecto fundamental y

hablamos básicamente de tres facetas: la ya mencionada memoria,

las bahías y puertos para ampliar y conectar otros elementos al

sistema, y sobre todo y ante todo el espacio de disco para poder

trabajar con evidencias de gran tamaño. En ocasiones, la

capacidad de almacenamiento limitada de un equipo debemos

compensarla con equipos en red tipo NAS que nos den gran

capacidad de almacenamiento y, gracias a la configuración RAID

apropiada, redundancia local contra fallos en los discos, lo

cual no quita que debemos tener siempre un sistema de "backup"

redundante con copias locales y deslocalizadas. Respecto al

lugar de trabajo, hay que considerar dos posibilidades: que

trabajemos en nuestro laboratorio o fuera de él. Cuando

trabajemos en movilidad –por ejemplo, cuando tengamos que ir a

la localización del incidente a realizar la adquisición de

evidencias– deberemos dar prioridad a la portabilidad de los

equipos y ponerla en una balanza con la potencia de los mismos.

Además debemos incluir las herramientas y adaptadores básicos

para cualquier tipo de contingencia que nos encontremos. Cuando

preparamos material para el laboratorio, el tamaño, consumo o

peso serán menos críticos y buscaremos la potencia y la

eficiencia. Otros recursos muy útiles son bolsas antiestáticas

para protección de dispositivos electrónicos, cajas o maletas

robustas y material de acolchado tipo "foam", jaulas de Faraday

Page 7: #Objetivos de la informática forense

para aislar teléfonos móviles dejándolos sin cobertura, cámaras

de fotos para registrar el estado de las escenas, conexión de

equipos, etc., y otras cosas como iluminación auxiliar,

etiquetado y precinto para evidencias, y herramientas, por

supuesto.

#Software usado para informática forense

Con el "software" nos pasa un poco como con el "hardware", que

tenemos que estar preparados para todo lo que nos podamos

encontrar. Vamos a empezar clasificando el "software" por el

tipo de licencia con el que se distribuye. En la categoría de

"software" con licencia comercial tenemos ejemplos como FTK, Pro

Discover o EnCase, y en la de "open-source" podemos encontrar

Autopsy, Digital Forensic FrameWork o Caine Linux. Atendiendo a

las características del "software", podemos clasificarlo en

"suites", que proporcionan las herramientas fundamentales para

desarrollar todo tipo de proceso de investigación forense desde

la adquisición de datos hasta la emisión de informes. Entre

ellos tenemos EnCase, FTK, ProDiscover, Autopsy, DFF... Y en

utilidades especializadas, que se centran en una tarea

específica de la investigación, solemos encontrar herramientas

más potentes que las incluidas en las "suites". Para obtener

imágenes de disco, por ejemplo, tenemos FTK Imager o

DiskExplorer, y las herramientas dedicadas de generación de

imágenes por línea de comando dcfldd, o directamente dd. Y para

examinar ficheros o imágenes a nivel de bit podemos usar Hex

Workshop, por ejemplo.

#Certificaciones en informática forense

Uno de los recursos a los que puede recurrir un informático

forense para ampliar conocimientos y sacar más rendimiento a sus

herramientas son los cursos de certificación. Además, las

certificaciones ayudan a incrementar el prestigio y la

credibilidad que cada perito tenga por su buen hacer. Existen

certificaciones públicas, que son aquellas disponibles para

cualquier profesional, o las que se restringen a colectivos

específicos, como por ejemplo agentes de cuerpos policiales o

jurídicos. Las certificaciones, además, pueden ser emitidas por

entidades educativas o asociaciones, por un lado, que suelen ser

sobre técnicas genéricas, áreas de especialización forense,

aspectos legales, etc., o de empresas desarrolladoras de

"software" o "hardware" forense. Estas últimas centran sus

certificaciones en proporcionar a los peritos los conocimientos

necesarios, genéricos y específicos, de sus productos para

sacarles el máximo rendimiento en su utilización. Vamos a

empezar por las certificaciones de la empresa AccessData,

desarrolladora de la "suite" forense FTK o Forensic Toolkit. Si

accedemos a su web 'accessdata.com', en la sección de Training,

en el menú superior podremos localizar en el enlace al área de

Page 8: #Objetivos de la informática forense

certificaciones: Certificaciones. Tenemos Digital Investigation

Certificate: ACE, y Legal Solutions Certification: SCE, SCCM y

SCA. Veamos, por ejemplo, la primera, ACE. Aquí podemos

encontrar todos los detalles de la certificación. en este caso

sirve para demostrar que se conoce a la perfección la "suite"

FTK. Vemos detalles sobre cómo inscribirse para hacer el examen,

cómo renovar la certificación e incluso la guía de estudio.

Pasemos ahora a ver las certificaciones de la empresa

Cellebrite, dedicada al desarrollo de herramientas forenses para

investigación de teléfonos móviles. Estos certificados solo los

pueden obtener quienes compran los productos de Cellebrite. Para

empezar, accedemos a Formación y aquí podemos ver cuándo son las

siguientes clases y los entrenamientos y certificaciones. Veamos

las certificaciones en el Cellebrite Learning Center, donde

podemos obtener toda la información sobre cómo podemos

certificarnos y cómo renovar los certificados que obtenemos para

demostrar que somos usuarios entrenados en la tecnología que

proporciona esta compañía. Dejando de lado las empresas

privadas, tenemos la opción de acceder a certificaciones de

organizaciones como EC-Council, que es una entidad dedicada a la

consultoría de seguridad y a la formación y certificación de

profesionales abierta al público en general. Los certificados de

EC-Council no están vinculados a herramientas específicas y

abarcan una gran gama de áreas de conocimiento relacionadas con

ciberseguridad, como podemos ver en su sección de Programas; por

ejemplo, en el certificado, tratando temas como "digital

forensics", "disaster recovery", analista IT... Tenemos toda la

información académica, servicios para estudiantes, veteranos,

servicios de formación "online", etc. Otra gran organización es

la Asociación Internacional de Especialistas en Investigación

Informática –por sus siglas en inglés, IACIS– en 'iacis.com'.

Esta asociación está orientada a los agentes de la ley y a

instituciones jurídicas. Aquí podemos ver los detalles de su

certificado principal, el "certification" CFCE: Certified

Forensic Computer Examiner Program, donde podemos obtener toda

la información relativa al certificado. Por cierto, CFCE son las

siglas de "certificado de examinador forense de computadoras".

Con estos ejemplos ya nos hacemos una idea de que con la

experiencia de nuestro trabajo podemos decidir qué certificados

nos pueden resultar más convenientes. No dejes de buscar

empresas y asociaciones en tu entorno que proporcionen

certificaciones válidas para la experiencia de otros

profesionales o incluso por instituciones públicas de tu país.

#Qué es el particionado de discos

En plataformas Linux, una partición de disco se representa como

un archivo dentro de la estructura de ficheros, y en general en

prácticamente cualquier sistema, aunque luego eso se enmascara

para hacer la interfaz más amigable al usuario. Es importante

ver así las particiones porque en muchas ocasiones deberemos

Page 9: #Objetivos de la informática forense

conectar discos en computadoras con distribuciones Linux

orientadas a la informática forense, ya que permiten controlar

con mucho detalle los permisos de lectura y escritura, como por

ejemplo en la distribución Caine, desarrollada específicamente

para trabajos de investigación forense. En sistemas Linux, una

unidad de almacenamiento se representa como un archivo. Por

ejemplo, una unidad SATA conectada a nuestro sistema estará

representada con la ruta /dev/sda en el sistema de archivos. Las

unidades físicas se representan con las siglas de la unidad y

una letra como identificador –por ejemplo, /dev/sda, sdb, etc.–,

mientras que las unidades lógicas, las particiones, añaden un

número al nombre anterior. Así tendríamos, por ejemplo, dos

particiones en el disco 'sda' que se mostrarían como dev/sda1 y

dev/sda2. Por lo tanto, los dispositivos de almacenamiento son

el "hardware", ya sea HDD o SSD –memorias externas, por ejemplo–

, y las particiones son las representaciones lógicas que

distingue nuestro sistema operativo y sobre las que operamos con

sus estructuras de ficheros. Estamos en una instalación de

Ubuntu Linux, concretamente 16.04. Vamos a abrir una línea de

comandos o terminal y vamos a ejecutar "sudo", que es la opción

para decir que queremos ejecutar un comando como superusuario,

"fdisk -l", que nos mostrará los discos que hay conectados a un

sistema. Nos solicita la contraseña de superusuario y nos

muestra el resultado. en este caso tenemos dos discos. Si vamos

a la parte de arriba del comando, tenemos el disco /dev/sda de

20 GB y el disco /dev/sdb de 1,9 GB. Luego para cada uno tenemos

sus correspondientes particiones, que, como decíamos antes,

añaden el número. En este caso, el resto las particiones. El

sistema nos indica dónde empiezan, dónde terminan, el número de

sectores, el tamaño, las unidades por sector... para que podamos

calcular los distintos tamaños. Esta es la funcionalidad de

'fdisk', una de ellas, la de listar las unidades "hardware"

conectadas al sistema y las particiones de cada una de esas

unidades.

#Información hexadecimal en investigación forense

Manejarse con datos codificados en hexadecimal es fundamental

para el trabajo forense, y la base numérica 16 no está escogida

al azar. En informática, como todos sabemos, la mínima unidad de

información es el bit, que puede valer o cero o uno, aunque

normalmente nos manejemos en "bytes", es decir, en grupos de

ocho bits. Partiendo de esta base, pongamos un ejemplo. Ocho

bits aleatorios, como pueden ser 10001101, que en base 10 o

decimal equivale al número 141. Si lo expresamos en hexadecimal,

sería 1000 en binario, que equivale a 8 en decimal y en

hexadecimal, mientras que la segunda mitad del "byte", 1101,

equivale a 13 en decimal y a la letra D en hexadecimal. Es

decir, que el valor hexadecimal del "byte" es 8D. Pero ¿por qué

si hablamos de nivel binario estamos convirtiendo los datos a

base 16? Pues bien, repasemos. Al expresar los datos en formato

Page 10: #Objetivos de la informática forense

hexadecimal, en lugar de unos y ceros, tenemos números

expresados con caracteres del cero al nueve y de la letra 'a' a

la 'f', equivaliendo la letra 'a' al número 10 en formato

decimal y la 'f' al número 15. Es decir, que el número F son

cuatro unos en binario. En informática, la unidad superior al

bit es el "byte", que son ocho bits. Si un número de una cifra

hexadecimal ocupa cuatro bits, con dos cifras tenemos un "byte"

y por eso usamos la representación hexadecimal. Las herramientas

de análisis de datos, cuando estos no son decodificables, los

representamos en formato hexadecimal, pero también resulta útil

para datos que sí son decodificables en sus correspondientes

formatos. Además, en ocasiones el análisis hexadecimal es

necesario para identificar información oculta o modificarla, ya

que los datos pueden manipularse a nivel de bit para ocultar o

destruir información. Por eso un investigador forense debe poder

trabajar a nivel binario y, por comodidad, en hexadecimal. La

codificación comparada en base binaria, decimal y hexadecimal

sería la siguiente: Para ocho bits de ceros, tendríamos cero en

decimal y cero en hexadecimal; para ocho bits de uno, tendríamos

255 en decimal, FF en hexadecimal. Por ejemplo, en codificación

ASCII la letra 'a' es 01000001, que es 065 en decimal y 41 en

hexadecimal. Como vemos, el binario es demasiado largo y el

decimal deja sin utilizar los números del 256 al 999. Así pues,

las ventajas del uso de la representación hexadecimal son que es

un 33 % más breve que en decimal y un 75 % más breve que en

binario, aprovechando todos los símbolos que hay entre el 00 y

FF, lo cual permite un reconocimiento visual de patrones una vez

que los representamos en un editor hexadecimal.

#Sobre editores hexadecimales

Los editores hexadecimales se usan para ver datos a nivel

binario, aunque generalmente, y como su nombre indica,

representados en base hexadecimal. Existen editores muy variados

con más y menos funcionalidad. Los hay con interfaz gráfica y

por línea de comandos. Por ejemplo, podemos destacar Bless Hex

Editor como representante de editores "open-source" disponible

para plataformas Linux, y Hex Workshop como herramienta

comercial para Windows. Lo básico que necesitamos que tenga

cualquier editor que escojamos para trabajar es poder abrir

archivos grandes o imágenes de discos. Esta tarea puede ser

complicada por el gran consumo de memoria si el editor no está

preparado. También necesitamos poder hacer búsquedas por

contenido y por sectores, sobre todo cuando trabajamos con

imágenes de disco. Necesitamos poder calcular "hashes". También

tenemos que poder editar el contenido para identificar patrones

y revelar datos o secretos y poder ejecutar operaciones de

desplazamiento de bis, rotaciones, etc. También es interesante

poder trabajar con unidades físicas y lógicas. Entre las

unidades físicas, las que podemos conectar y desconectar de

nuestra computadora, se incluyen tarjetas de memoria, los discos

Page 11: #Objetivos de la informática forense

duros o las memorias USB. Las unidades lógicas son simplemente

las particiones. Usando editores hexadecimales hay que

considerar el formato de representación básico, que es un

"byte", el equivalente a ocho bits, y que se representa mediante

dos dígitos hexadecimales. La dirección de cada "byte" suele

representarse con su posición, que es el número de "bytes"

contando desde el primer "byte" del archivo, que se representa

con el "byte" número 0. Normalmente se agrupan los dígitos en

grupos de dos, cuatro y ocho cifras hexadecimales, es decir,

uno, dos o cuatro "bytes".

#Qué es el offset

"Offset" es una palabra común en la literatura de tratamiento de

datos en informática. Rara vez se traduce, aunque podría

equivaler a "desplazamiento". Podríamos decir que es la

distancia de un dato respecto de un punto de referencia conocido

y es un concepto importante para localizar datos concretos en un

archivo o imagen. Si el "offset" de cierta información es

0x0010, significa que está a 16 "bytes" del punto de referencia.

En resumen, el "offset" es una forma de referenciar la

localización del inicio de cierta información a partir de una

posición concreta que puede ser el principio de un archivo, el

principio de un sector o el principio de una unidad de disco o

partición. Es decir, el "offset" es la cantidad de "bytes" entre

el principio elegido y el comienzo de los datos buscados. Veamos

un ejemplo. Esta es la representación hexadecimal de una

fotografía en formato JPEG. Este tipo de archivo indica su

inicio con una cabecera que siempre es FFD8 y, como no indica el

tamaño del archivo, sino que va indicando el de los bloques,

indica el final del archivo con los "bytes" FFD9. Pues bien,

cada sector del archivo se inicia generalmente con el "byte" FF

seguido de otro "byte" indicativo y, a continuación, dos "bytes"

que indican el tamaño del sector, es decir, indican el "offset"

contando desde el primer "byte" de tamaño hasta el siguiente

sector. Así pues, en esta imagen el primer sector empieza con

FFE0 y tiene un tamaño 0010, que es 16 convertido a decimal. Así

que si señalamos 16 "bytes", incluyendo el tamaño del sector,

vemos que efectivamente a ambos lados tenemos cabeceras de

sector. Lo mismo ocurre para el siguiente sector, en esta

ocasión encabezado por FFDE y con longitud 43 en hexadecimal,

que son 67 "bytes" de "offset", desplazándonos desde el primer

"byte" que indica el propio "offset". El último dato a

considerar cuando hablamos de numeración hexadecimal es que

cuando la escribimos, para diferenciarlas de la decimal,

anteponemos el prefijo 0x a las cifras hexadecimales, tal y como

se muestra en el ejemplo.

*hace falta que el hardware que utilicemos para informática

forense sea especialmente potente.

Page 12: #Objetivos de la informática forense

*Las aplicaciones de software las podemos calsificar en suites y

especializadas

*¿En qué dos tipos podemos clasificar las certificaciones en

informática forense? públicas y de acceso restringido

*¿Cómo se representa la ruta de una partición? /dev/sda1

*¿A qué equivale 1101 en hexadecimal? a "D"

*Una memoria USB es una unidad física.

*¿Con qué cabecera inicia la representación hexadecimal de una

fotografía en formato JPG? Con FFD

Page 13: #Objetivos de la informática forense

#Adquisición estática con herramienta OpenSource

La adquisición estática de evidencias es la más común que suele

darse en informática forense y habitualmente la más sencilla. La

adquisición estática consiste en la extracción de datos de

fuentes de almacenamiento no volátiles como, por ejemplo, discos

duros, tarjetas SD, memorias USB y cualquier otro soporte de

información digital. Se trata de generar una imagen. Decimos que

estos soportes de almacenamiento contienen información no

volátil porque esta continúa presente en el dispositivo aunque

lo apaguemos y le retiremos el suministro eléctrico, cosa que no

pasa, por ejemplo, con la memoria RAM. Existen múltiples

herramientas "open source" disponibles para obtener imágenes de

discos o particiones, pero vamos a ver el comando 'dd'

disponible en Linux y macOS. Ahora mismo estamos en CAINE Linux,

que es una distribución basada en Ubuntu, pero 'dd' lo

encontraremos en todos los sistemas. Vamos a abrir la línea de

comandos, la tengo aquí minimizada, y vamos a comprobar que

unidades hay conectadas a la máquina: 'sudo fdisk -l'. Vemos que

tenemos 'sda' de 30 GB, que es el disco principal con tres

particiones, y tenemos 'sdb', que es una memoria web que tengo

conectada de 1,9 GiB, 2048 bytes, y tenemos 'sdb' que es la

unidad USB que tengo conectada de 1,9 GiB. Para poder hacer una

imagen lo primero que tenemos que hacer es montar esta unidad en

modo solo lectura, así que: 'sudo mount -o ro –"read only"–

/dev/sdb1'. La unidad ya está montada. Si ahora vamos, por

ejemplo, al explorador de archivos, vemos que tenemos aquí la

unidad con todos sus archivos. Podemos cerrar y vamos a hacer

una imagen. Para ello vamos a ir primero al escritorio 'cd

Desktop' y teniendo en cuenta que cuando no indicamos el punto

de montaje este va ser en la carpeta media, vamos a ejecutar el

comando 'sudo dd if', de "input file", que será '=/ dev /sdb'

porque queremos hacer una copia completa de la unidad no

indicamos el número. Recordemos que 'dev/sdb' es la unidad, y

aquí abajo 'dev/sdb1' es la partición, que en este caso

coincide. En "output file" indicamos punto, barra, del

escritorio, que es en la carpeta en la que nos encontramos, y lo

vamos a llamar 'imagen USB .dd' Vamos a añadir una opción más

que es 'status = progress' que nos permitirá ver cómo progresa

el avance de la copia con 'dd', si no solo veríamos el cursor

parpadeando y no sabríamos cuánto podría tardar. Empieza el

proceso y debemos dejar que termine. Mientras tanto ya vemos que

en el escritorio ha creado el archivo que solicitábamos. El

proceso ha terminado y vemos que ha tomado 157 segundos, casi

tres minutos; dos minutos y medio. Tenemos el archivo y la copia

ha sido completada. Ahora vamos a repetir el proceso desde una

herramienta gráfica. En Forensic Tools tenemos Guymayer. Nos

aparecen distintas unidades, seleccionamos el dispositivo

extraíble –es 'sdb' igual que antes– e indicamos Adquirir

imagen. Si se trata de hacerlo en el formato de Expert Witness

Format, tendremos que indicar estos datos, pero podemos hacerlo

Page 14: #Objetivos de la informática forense

también con formato 'dd'. No nos pide esta información, solo

donde queremos almacenarla. En 'home', 'caine', 'Desktop',

seleccionamos y como nombre pues le vamos a llamar 'guymagerusb'

para saber que la hemos sacado con otra aplicación. Le podemos

pedir además que calcule el MD5 al final. Inicia el proceso,

aquí abajo tenemos la información. En este caso, Guymager genera

dos archivos: la copia –la imagen– y un archivo de información.

El proceso ha terminado mucho más eficiente que en la vez

anterior y podemos comprobar en un caso, en Propiedades, que

tenemos un archivo de 2 GB, y en el otro, Propiedades, correcto,

exactamente el mismo tamaño. Además si abrimos el archivo 'info'

tenemos el proceso de adquisición con toda la información de

cómo se ha ejecutado, y lo que es más importante: el código

'hash'. Así que estas son dos formas en CAINE Linux de obtener

imágenes: una con una herramienta gráfica y otra con 'dd', que,

como decíamos, está disponible en todos los sistemas Linux y

macOS. Otras herramientas disponibles, por ejemplo, son el

comando 'dcfldd' que es un "fork" o derivado de 'dd'. Sus siglas

provienen de "US Department of Computer Forensics Lab dd", y es

una versión forense de 'dd', la herramienta que acabamos de

utilizar. Y también tenemos el "software" Clonezilla, del que

podemos obtener una versión "Live" para poder usar como arranque

de una computadora y extraer imágenes sin iniciar el sistema

operativo de la computadora en cuestión.

#Crear una imagen de disco en varios archivos con DD

Supongamos que tenemos un disco de gran tamaño del que

necesitamos extraer una imagen, pero necesitamos que no sea de

un único archivo porque luego vamos a tener que almacenarla en

varios dispositivos; por ejemplo, en CD. Vamos a poner el

ejemplo de que necesitamos entregar una imagen en CD. Si el

disco original es superior a 650 MB, no vamos a poder

almacenarlo. Entonces trabajaríamos de la siguiente manera.

Primero tenemos que comprobar que realmente tenemos conectada a

la memoria USB de la que queremos extraer la imagen en nuestra

computadora. Para ello ejecutamos 'sudo fdisk -l', y

efectivamente vemos que aquí está la unidad y este es su tamaño.

Vale. Tiene 1.9 GiB, que son todos estos "bytes" repartidos en

estos sectores de 512 "bytes" cada uno. Nos interesa hacer una

imagen de la unidad, no de la partición. Así que vamos a probar

un primer comando mediante un 'back' con 'split'. Utilizaríamos

'sudo dd if' para indicar la entrada –"input file–, que será

'dev/sdb'. Recordemos: no ponemos el número porque queremos la

unidad entera, no solo la partición. No vamos a indicar mucho

más, simplemente que nos muestre el progreso: 'status

=progress'. Generamos el "pipe", que sirve para que la salida de

este primer comando se utilice como entrada del segundo, y vamos

a utilizar 'split -b 650m' y lo vamos a guardar en 'usb .' para

que el comando 'split' vaya añadiendo extensiones a los

archivos. Ejecutamos el comando. Vamos viendo el progreso, ya ha

Page 15: #Objetivos de la informática forense

terminado. Si ejecutamos 'ls -la', vemos los tres archivos que

ha generado. ¿Cómo podríamos hacer esto de manera más

comprensible, más razonada por nuestra parte? Vamos a utilizar

para ellos solo el comando 'dd' Ejecutamos 'sudo dd', indicamos

la misma entrada 'dev/ sdb'. Como salida vamos a hacerlo trozo a

trozo, así que vamos a hacer pues la parte uno. Tenemos que

indicar el tamaño de sector para asegurarnos de que es el mismo

que nos indica aquí arriba. Vale, 512. Entonces 'bs=512'.

Después, como vamos a hacer una primera parte, tenemos que

seleccionar los "bytes" de la unidad de almacenamiento desde el

cero hasta un número determinado. Queremos que sea de 650 MiB.

Entonces vamos a hacer un 'count', de contar, y hay que contar

sectores. Así que vamos a hacer una operación matemática que

dice que un mega son 1024*1024, realmente un mebi. Un mega son

1000, un mebi son 1024. Como es un CD, 650. Entonces este es el

tamaño en "bytes" de un CD, pero queremos el tamaño en sectores

equivalente a los sectores de la unidad de almacenamiento, así

que dividimos entre 512, y podemos añadir 'status=prorgress'.

Ejecutamos. Vale, lo he escrito mal. Repetimos:

'status=progress'. Repito 'status=progress'. Ya tenemos el

primer archivo. ¿Ahora qué tenemos que hacer para obtener el

segundo archivo, la segunda parte? Pues el tamaño que queremos

de esa segunda parte es el mismo. Vale, pero antes vamos a hacer

una operación. Tenemos 3.915.776 sectores. Vamos a hacer una

pequeña operación: '$[ 1024 *1024*650 dividido entre 512]'.

'echo $[ 1024*1024*650 dividido entre 512]'. Vale, este es el

tamaño en sectores de uno de los archivos que acabamos de hacer,

y viendo este tamaño sabemos que tenemos para dos sectores y un

tercero que no será completo, no será tan grande. Entonces, el

segundo archivo le vamos a poner un nombre: 'p2'. Tendrá el

mismo tamaño, el mismo 'count', pero vamos a decir que se salte,

'skip =', y que se salte lo que hemos capturado ya en la primera

generación de archivo que eran 1024*1024*650 dividido entre 512.

Ejecutamos. Vale. Y de momento 'ls la'. Tenemos dos archivos

'p1' y 'p2' del mismo tamaño. Y luego tenemos el 'usb.aa', '.ab'

y '.ac'. Vemos que por lo menos coinciden los tamaños. De

momento vamos bien. Ahora vamos a repetir lo mismo, solo que

tenemos que saltarnos el doble de espacio porque ya hemos

saltado los dos primeros archivos, así que 2* y aquí también

tenemos que contar una cantidad distinta de sectores. Los

sectores totales de la unidad son estos. Podemos ver que la

unidad 'sdb' tiene este número de sectores, que es superior al

número de sectores de la partición, ¿recuerdas? Así que copiamos

este número de sectores, lo vamos a pegar aquí y es el número

ese total. Le vamos a restar lo que ya hemos obtenido, que son

dos veces esta cantidad de sectores. Tenemos que cambiar el

nombre de archivo para no sobreescribir el anterior, y proceso

completado. Si volvemos hacer a 'ls la', vemos que efectivamente

de las dos formas hemos obtenido los mismos tamaños de fichero.

Para poder volver a unirlos en uno solo podemos hacer 'cat p1 p2

p3'. 'Cat' sirve para leer un archivo y simplemente sacarlo como

Page 16: #Objetivos de la informática forense

salida. Si ponemos tres archivos seguidos, los saca como salida.

Con este conector lo que le decimos es que es... Vamos a

llamarlo 'partes.dd'. Nos lo a guardar en ese archivo. va Y a

vamos repetir lo mismo: 'cat usb.aa' 'usb.ab' y 'usb.ac' y lo

vamos a dejar en 'usb.dd'. Y ahora vamos a comprobar que el

"checksum" de ambos archivos es el mismo, el 'hash'. Vamos a

hacerlo, por ejemplo, con MD5: 'md5sum partes.dd' y a

continuación 'md5sum usb.dd'. Separando los dos comandos por

punto y coma, nos ejecutará uno y luego el otro. Ya tenemos el

resultado del primero y el resultado del segundo, y vemos que

efectivamente se trata del mismo 'hash' sin ninguna diferencia.

Así que hemos realizado una copia fraccionada de una imagen de

una unidad de disco de dos formas distintas, las hemos

reensamblado cada una por separado y aun así seguimos

manteniendo el 'hash'. Por lo tanto, la evidencia es completa y

es confiable.

#Adquisición estática con dcfldd (DD forense)

'Dcfldd' es una versión forense de 'dd' y funciona más o menos

igual que 'dd' pero está desarrollada por el laboratorio de

informática forense de los Estados Unidos pensando en su

fiabilidad. Para instalarla podemos ejecutar 'sudo apt -get

install dcfldd'. En nuestro caso está instalada. Lo primero,

como siempre, tenemos que comprobar si la unidad está montada.

en este caso está montada, tenemos aquí la unidad. Así que

podemos proceder a hacer la copia. Para ello ejecutaremos el

comando 'sudo dcfldd if', "input file" o entrada, '/dev/sdb' y

como salida le diremos que lo haga en 'usbimageddf'. Vamos a

llamarle la extensión '.ddf' en vez de 'dd'. Y le vamos a pedir

además, que esta es una de las ventajas que tiene esta

herramienta sobre 'dd', que nos calcule el 'hash'. en este caso

el 'hash=sha256' y que guarde el 'hash', 'hash log=' en

'usbimage .log' Ejecutamos el archivo y en este caso sí nos

muestra directamente el proceso. Vemos que actúa bastante rápido

y también crea dos archivos: el del 'log' donde almacenará el

'hash', y el de 'ddf', que es el que le hemos dado para que

guarde la copia que deberá ser exactamente igual al de 'dd'.

Lleva ya tres cuartas partes completadas. Y si hacemos 'ls -la'

tenemos que la copia obtenida con 'dd' es de exactamente el

mismo tamaño que la obtenida con 'ddf'. Y luego tenemos

'usb.log' que es el 'hash' del 'ddf'. Si lo abrimos, este es el

'hash256' de esa unidad de memoria. En resumen, 'dcfldd' es más

fácil y un poco más seguro de usar que 'dd'. 'Dcfldd -h' para

mostrar la ayuda. No es así. '- help' para ver todas las

opciones que nos plantea la herramienta. Además, contando con el

respaldo de sus desarrolladores, puede ser una herramienta más

respetable y por lo tanto confiable en procesos de

investigación. Sea cual sea la herramienta de obtención de

imágenes que usemos, debemos tener en cuenta que el rendimiento,

es decir, la velocidad no solo depende del tamaño de la

Page 17: #Objetivos de la informática forense

evidencia, también influyen la velocidad de lectura del soporte

digital y la velocidad de escritura en el disco de destino de la

imagen. La más lenta será la que marque el ritmo. Y luego

tenemos la potencia de procesado que afecta en menor medida a la

copia, pero sí afecta más al cálculo de los 'hashes', sobre todo

para imágenes de gran tamaño.

#Adquisición estática con una herramienta comercial

En este vídeo, vamos a hacer la adquisición estática de la

imagen de un soporte de almacenamiento, en concreto de una

memoria USB mediante FTK Imager de la empresa Access Data, que

es una herramienta gratuita pero no libre. Para su descarga

iríamos a la web de Access Data y vamos a Productos, Servicios,

Products Donwloads. Buscamos FTK Imager, seleccionamos la última

versión, y aquí nos da acceso al panel donde solicitar el enlace

de descarga, para el que solicitarán nuestros datos, y de esa

manera nos enviarán un enlace de descarga a nuestro correo

electrónico. Pero paremos un momento. Aquí tenemos un MD5, el

del archivo 'AccessData_FTK_Imager_4.1.1_x64.exe'. Yo ya he

descargado el archivo y lo he instalado, pero vamos a comprobar

que realmente lo que he instalado es lo que Access Data me está

proporcionando. Para ello ejecutamos PowerShell y vamos a ir al

escritorio, que es donde tengo el archivo descargado. Si hacemos

'ls' encontramos el archivo. Podemos ejecutar 'Get-FileHash',

damos el nombre del archivo, indicamos que queremos el 'hash'

MD5. Y para hacerlo fácil vamos a hacer un "pipe" con 'Format-

List'. Y he cometido un error, no he escrito correctamente

"algoritmo". Ejecutamos y aquí tenemos el 'hash', D7EB. Si vamos

a la página web, 'd7eb', acabado en 'bb01', así que

efectivamente descargué lo que debía. Podemos cerrar y podemos

ejecutar Access Data FTK Imager. Para crear la imagen vamos a ir

a File, Create Disk Image, seleccionamos un Physical Drive,

Siguiente, seleccionamos la unidad y terminamos. Ahora lo que

tenemos que hacer es indicar el destino de esta copia. Vamos a

hacer una copia 'dd', es decir, una copia en crudo, Siguiente,

caso número: Demo 1 Evidencia: E1. Descripción única: memo usb.

Examinador: srsolís –que soy yo–. Y Notas: "Lo que queramos",

como por ejemplo ¿dónde hemos obtenido esta evidencia?, ¿quién

nos la ha entregado?, etc. Damos a Siguiente y elegimos en este

caso el escritorio como destino de la copia. Y el nombre pues

'IMAGEN USB' Podemos elegir el tamaño de los archivos si

queremos fragmentar la imagen en trozos más pequeños, pero en

nuestro caso vamos a decirle que no, no queremos fragmentar.

Terminamos y le solicitamos que verifique las imágenes tras su

creación. Así que adelante. Ahora procede con la verificación y,

una vez completado el proceso, nos muestra los 'hashes' de

original y copia. Computed, este, es el 'hash' de la memoria

antes de copiar. Y Report es el 'hash' de la imagen. Como vemos,

coinciden. Con esto hemos obtenido una imagen de disco completa

mediante FTK Imager y hemos calculado simultáneamente el 'hash'

Page 18: #Objetivos de la informática forense

de la original y de la copia, por lo que al verificar que es

válido cualquier análisis que hagamos a la copia será como si se

lo hubiésemos hecho al original pero preservando la integridad

de este. Siempre hay que tener en cuenta que el original lo

debemos haber conectado a la computadora con un protector contra

escritura via "hardware". Y aquí tenemos el archivo con los

"hashes" y el proceso. Toda esta información deberá añadirse a

nuestra investigación para que se sepa cómo hemos obtenido esta

copia. Y la imagen es lo que tenemos aquí, como vemos, el tamaño

de la unidad USB.

#Adquisición en vivo de pruebas

La adquisición en vivo es un método cada vez más habitual en

informática forense, y aquí hay muchos equipos que podemos

encontrarnos encendidos a la hora de atender un incidente.

Podemos hacer adquisiciones en vivo según la necesidad. Un caso

más que plausible es el de una empresa en la que se ha detectado

un ataque por "malware". Dado que el equipo afectado es

propiedad de la empresa y está operativo, cabe la posibilidad de

que hagamos una adquisición en vivo en el equipo. Otro caso en

el que es necesario hacer la adquisición de esta forma es cuando

tenemos equipos cuyo disco duro está cifrado. Mientras está

apagado nos será imposible acceder a los datos almacenados, así

que lo ideal es que esté encendido y que el usuario haya

introducido la contraseña de descifrado para que cargue el

sistema operativo. Por lo tanto, los objetivos de practicar este

tipo de adquisición son: poder generar imágenes de particiones

cifradas mientras el equipo aún está encendido; recuperar los

datos más volátiles, esencialmente estamos hablando de la

memoria RAM que se borra al apagar el equipo y cuyo contenido

cambia con el uso de las aplicaciones y del propio sistema,

aunque también hay datos de la CPU –archivos temporales, cachés,

conexiones de red, etc.– que también son volátiles. Pero ¿qué

tipo de información podemos localizar en la memoria RAM? Pues

una lista de los procesos en ejecución en el momento de la

captura, conexiones de red del momento –e incluso anteriores–,

nombres de usuario y contraseñas, el contenido de algunas

ventanas que estén abiertas, los "drivers" operativos cargados

en memoria, otros ficheros abiertos asociados a procesos en

ejecución, contenido descifrado o desempaquetado de algún

programa, e incluso "malware" propiamente dicho. Los volcados de

memoria son complicados de hacer en investigaciones con equipos

ajenos porque difícilmente nos darán acceso sin poner pegas,

contando con el hecho indudable de que lo haríamos siempre y en

todo momento de forma legal. Sin embargo, son muy prácticos en

casos de resolución de incidentes como ciberataques en empresas,

organizaciones... En estos casos es recomendable que exista una

política de manos fuera para evitar que alguien nervioso o un

atacante interno pueda apagar su equipo y sabotear nuestro

proceso de investigación. Para hacer un volcado de memoria que

Page 19: #Objetivos de la informática forense

pueda resultar medianamente efectivo debemos cumplir un par de

normas básicas. Debemos disponer de un espacio de almacenamiento

preferiblemente externo con capacidad para toda la memoria del

equipo. Sea la RAM de 4 o de 16 GB, siempre necesitaremos un

poco más de espacio en nuestro soporte de almacenamiento. Otra

cosa que debemos tener siempre en cuenta es la regla de oro y es

que debemos interactuar lo menos posible con el equipo del que

queramos hacer un volcado de la memoria RAM. Hay que lanzar el

proceso con el menor número de pasos posible y, una vez

iniciado, no debemos tocar nada hasta que acabe, o estaremos

capturando nuestra propia actividad que a su vez estará

sobrescribiendo información volátil. Y por último debemos

documentar todo el proceso con mucha precisión, ya que solo será

efectivo una vez, y debemos poder demostrar que lo hemos hecho

de forma correcta para que la evidencia obtenida sea válida en

cualquier circunstancia.

#Adquisición en vivo con FTK Imager

Estamos en Windows 10 y vamos a abrir FTK Imager, que es una

herramienta gratuita de la empresa Access Data que nos permite

generar y gestionar imágenes, incluso hacer volcados. Abrimos

Access Data FTK Imager y aceptamos la solicitud del UAC. Vamos a

File y en Capture Memory tenemos que seleccionar dónde vamos a

guardar la captura de memoria que hagamos. En nuestro caso lo

almacenaremos en una memoria externa, en la carpeta 'memoria'.

Dejaremos el nombre por defecto y le diremos que incluya el

"pagefile". El "pagefile" es lo que se conoce comúnmente como

memoria virtual y es lo que se emplea para intercambiar

información entre el sistema y la RAM. Normalmente está pensado

para ocupar una vez y media el tamaño de la RAM, así que para

una RAM de 4 GB estaríamos hablando de una "pagefile" de unos 6

GB. El archivo 'AD1' es un archivo de captura de memoria

propietario de Access Data, los desarrolladores de FTK Imager.

en este caso no lo vamos a solicitar. Y por ahorrar tiempo

podríamos evitarnos el "pagefile", pero vamos a dejarlo.

Continuemos. A partir de este punto lo único que queda es

esperar. El resultado de este proceso será un archivo con la

extensión .MEM. Para ver el resultado del volcado de memoria se

puede usar la "suite" comercial FTK de Access Data o

aplicaciones de "software" libre como, por ejemplo, Volatility.

Estas herramientas de análisis indexan automáticamente la

información que encuentran para no tener que explorar toda la

RAM con un editor hexadecimal, ya que con tantos gigas como se

usan actualmente no abarcaríamos el total de la información

nunca. Ya ha terminado el volcado y empieza con el del

"pagefile". Ya ha terminado el volcado, así que podemos cerrar

la ventana y podríamos llevarnos los dos archivos: el volcado de

memoria propiamente dicho y la memoria virtual, que, como

podemos ver, ocupan en este caso 2 GB, y algo menos de 1,5 en el

caso de la memoria virtual. Como decíamos, tenemos el archivo

Page 20: #Objetivos de la informática forense

.MEM y podemos importarlo a FTK Imager como evidencia, aunque lo

mejor es emplear herramientas de análisis que veremos en el

siguiente vídeo de este curso. Ahora prueba a tratar de hacer un

volcado de memoria de la RAM de tu PC y ver qué tipo de datos

encuentras.

#Análisis de volcado de memoria con Volatility

Volatility es una herramienta "open source" desarrollada por la

comunidad y mantenida por Volatility Foundation, una

organización sin ánimo de lucro. El propósito de esta

herramienta es el análisis de los volcados de memoria que

hayamos obtenido durante la adquisición en vivo de otras

computadoras. Vamos a hacer una prueba. En primer lugar debemos

obtener la aplicación Volatility. Para ello vamos a la web de la

Volatility Foundation, y a Releases. Seleccionamos la opción que

más nos convenga, en nuestro caso Volatility 2.6 Windows

Standalone Executable. Seleccionamos Guardar como y en el

escritorio abrimos la carpeta y vamos a extraer el contenido

directamente en el escritorio. Vamos a cambiar el nombre de la

carpeta por comodidad a 'Volatility'. Y dentro encontramos

información sobre los autores, crédito, información legal,

licencia, léeme y el ejecutable, que también por comodidad vamos

a reducir a 'Volatility'. En un vídeo anterior, hicimos una

captura de memoria. La tenemos almacenada en la memoria externa

y vamos a seleccionar estos archivos y, por comodidad, a

trabajar con ellos en el mismo directorio que el programa.

Mientras este se copia, vamos a ir iniciando el intérprete de

comandos. Vamos al escritorio y a la carpeta de 'Volatility'.

Hacemos un 'dir' y efectivamente ahí está Volatility. Lo primero

que necesitamos es obtener información sobre el tipo de memoria

analizada. Es decir, no es lo mismo trabajar con una computadora

Macintosh que con una computadora Windows. Depende de dónde

hayamos hecho el volcado de memoria, así deberemos procesar la

información. Además, no solo importa el tipo o el proveedor,

también la versión del sistema operativo. Los archivos ya se han

copiado, así que podemos ejecutar 'Volatility .exe ImageInfo -f

memdump .mem', donde 'imageInfo' le da instrucciones a la

aplicación Volatility de ver lo que sería el equivalente a los

metadatos del volcado de memoria. Este proceso tardará más

cuanto mayor sea el archivo a analizar, así que vamos a ir

ejecutándolo. Mientras tanto podemos abrir otro intérprete de

comandos y ejecutar 'cd desktop /Volatility' Y ejecutamos

'Volatility.exe -- info' para obtener la información sobre los

"plugins" y demás información que nos puede proporcionar

Volatility. en este caso tenemos "scanner checks"; lo que puede

buscar. Tenemos los "plugins" disponibles –los "plugins"–, los

espacios de dirección y los perfiles, es decir, lo que estamos

tratando de averiguar en el otro intérprete de comandos. Pues

estos son los perfiles compatibles con la búsqueda. Vamos a

volver a la otra pantalla y esperar a que termine el proceso.

Page 21: #Objetivos de la informática forense

Una vez ha terminado el proceso, en 'suggested profiles' vemos

los posibles sistemas operativos a los que puede corresponder el

volcado de memoria, así que tomamos nota porque lo necesitaremos

a continuación. Aquí tenemos 'suggested profiles' y tenemos una

Win 10x64, Win 10x64, Win 10x64 y Win 2016. Bueno, en principio

los tres primeros podrían ser correctos. Vamos a seleccionar el

primero. De hecho, vamos a copiarlos todos y vamos a crear una

nota para tenerlos a mano de forma que podamos probar con ellos

y así obtener el mayor rendimiento del análisis de la memoria.

En principio copiaremos el primero. A continuación vamos a hacer

una búsqueda para ver qué procesos había en ejecución al hacer

el volcado de memoria. Así que ejecutamos 'Volatility.exe -f

memdump .mem -- profile' y aquí es donde indicamos el perfil

deseado, y la solicitud de información, los procesos en

ejecución, es 'plist'. Perdón, el comando correcto es 'pslist'.

Y aquí tenemos información sobre todos los procesos que había en

ejecución: 'svcHost', 'services', 'wininit', la interfaz de

'login', 'Winlogon', que sabemos que siempre tiene que estar en

ejecución, 'Explorer' del escritorio. Tenemos un navegador.

Teníamos Chrome en ejecución; de hecho, dos pestañas Chrome,

cada una con su proceso. Internet Explorer. WordPad estaba en

ejecución, es decir, una nota; otra pestaña de Chrome. Había un

intérprete de comandos cuando se hizo el volcado de memoria. Y

esto es solo un ejemplo de lo que podemos averiguar que estaba

sucediendo en la máquina. Otra información importante a la hora

de analizar es que en la primera columna tenemos el "offset", es

decir, dónde se ha encontrado en el archivo de memoria la

información sobre el proceso en ejecución. Pero, un detalle

importante, ¿recuerdas con qué programa hicimos el volcado de

memoria en el vídeo anterior? Correcto: FTK Imager. De hecho,

debe de ser uno de los últimos programas que se ejecutaron, así

que debemos ir hacia el final y aquí encontramos la referencia.

Porque tiene que quedar claro que, al haber ejecutado un

programa en la máquina que estamos investigando, vamos a dejar

huella. en este caso esta es la primera huella que hemos dejado.

Además de este ejemplo, con Volatility podemos hacer búsquedas

por patrones, que es lo que viene definido, y podemos encontrar

claves públicas y privadas de certificados SSL, lo que estuviese

en los "clipboards" del sistema. Podemos ver el histórico de

comandos de la línea de comandos con CMD Scamp. Con el verbo

'sockets' localizaremos conexiones abiertas que hubiese durante

el volcado de memoria. Y tenemos incluso File Scamp, que sirve

para obtener archivos cargados en memoria. Aunque es

recomendable filtrar por directorios de interés porque esto

puede lanzarnos DLL y otros archivos de sistema, generando una

gran cantidad de información que tendríamos que analizar paso a

paso, también se puede incluso buscar historiales de navegación

con IE History. En resumen, Volatility es un buscador en base a

patrones conocidos de información específica en volcados de

memoria. Así que ahora estás invitado a probar con el volcado

que hiciste en el anterior vídeo.

Page 22: #Objetivos de la informática forense

#Adquisición remota de evidencias

La adquisición remota de datos se basa en la recolección de

evidencias a través de la red. Al trabajar de esta forma,

necesitamos dos equipos, cada uno con sus correspondientes

aplicaciones que conforman una arquitectura cliente-servidor. El

cliente es el equipo desde el que queremos obtener la

información, es decir, la computadora del analista, mientras que

la computadora que ejecutará la aplicación servidor es la que

queremos analizar, de donde van a salir las evidencias. La

adquisición remota es un caso particular de adquisición en vivo

porque requiere que la evidencia esté encendida y conectada a la

red con la computadora del analista. Al igual que la adquisición

en vivo, la adquisición remota crece en importancia a medida que

se usa más y más el cifrado de discos. Por este motivo está la

norma de trabajar siempre primero con los equipos en las

condiciones en las que nos encontramos. Si están encendidos, los

mantenemos así, y podemos aplicar adquisiciones en vivo,

incluida la adquisición en red. Si están apagados, procedemos si

es posible con adquisiciones estáticas. Hay que tener en cuenta

que el hecho de hacer extracciones en vivo directamente o por

red, al igual que con los volcados de memoria, produce cambios

en la evidencia, por lo que el proceso tiene que estar

extremadamente bien documentado de forma que todos los datos

obtenidos referentes al proceso de adquisición puedan ser

descartados, igual que en la escena de un crimen se toman las

huellas de los agentes y las víctimas para descartarlas de entre

las encontradas.

*La RAM, respecto a la permanencia de información sin suministro

eléctrico, está considerada un dispositivo volátil.

*¿En el terminal de Ubuntu, con qué modificador especificamos el

tamaño del sector con el que queremos hacer una imagen de una

unidad? "bs="

*dcfldd es más fácil y un poco más seguro de usar que dd.

*La adquisición en vivo es fácil de sabotear .

*¿Cuánto espacio más que la RAM está pensado para ocupar el

pagefile.sys? una vez y media

*Qué modificador de volatility.exe ejecutamos desde el

intérprete de comandos para ver lo que sería el equivalente a

los metadatos del volcado de memoria? "imageinfo"

*La adquisisción remota requiere que la computadora esté

encendida y en red

Page 23: #Objetivos de la informática forense

#Indexado de datos de evidencias digitales

El indexado de la información es un paso muy importante en el

proceso de una investigación forense, básicamente porque

necesitamos hacer búsquedas. Según el diccionario, indexar es

registrar ordenadamente datos e informaciones para elaborar su

índice. Y entonces índice es un libro u otra publicación, lista

ordenada de los capítulos, artículos, materias, voces, etc. en

él contenidos con indicación del lugar donde aparecen. En

informática forense, no se trata de un libro, sino de archivos,

pero la definición es igualmente válida, puesto que indexar

consiste en reconocer la imagen de una evidencia, sea de un

disco de almacenamiento o de un volcado de memoria RAM, y marcar

la localización de cada bloque de información. La mayoría de las

aplicaciones de tratamiento de evidencias digitales, al añadir

una nueva evidencia suelen indicar que la están procesando. Este

proceso, entre otras cosas, es el indexado de la información. Es

decir, se empieza por el "byte" cero y se va avanzando marcando

el "byte" en el que empieza cierto dato como, por ejemplo, un

archivo. Algunos de los ejemplos de aplicaciones que hacen esta

función de indexado son Forensic Tool Kit, EnCase, Autopsy,

Volatility, UFED, etc. El objetivo último del proceso de

indexado es poder acceder a datos específicos dentro de esa

imagen sin tener que buscarlos cada vez desde la posición

inicial. Conociendo la localización de ciertas palabras clave,

conjuntos de datos específicos, es más rápido acceder a la

lectura de ese sector de información. La alternativa es buscar

cada aparición de esa clave en la imagen siempre desde el

principio cada vez que queramos trabajar con ella, básicamente

igual que buscar en el índice de un libro en qué página empieza

un capítulo para no tener que ir pasando una una las páginas

hasta encontrarlo. Desarrollar un índice lleva tiempo porque

tiene que catalogar y localizar cada clave, cada grupo de

información relevante. Como contrapartida, hay que considerar

que el tiempo de indexado solo se consume una vez. Disponiendo

del índice, el tiempo de exploración que ahorramos a posteriori

es muy considerable y merece la pena para poder trabajar en la

fase de análisis de forma eficiente y sin largas esperas, como

durante la adquisición.

#Búsqueda de datos en evidencias digitales

Dado que las investigaciones forenses tratan de responder a

preguntas específicas, la búsqueda de palabras clave en una

imagen suele ser una herramienta clave para determinar si hay o

no presencia de ciertos tipos de datos. Vamos a hacer un ejemplo

con la "suite" "open source" Autopsy, disponible en

'zsleuthkit.org'. Abrimos la página web y en la sección de

Autopsy tenemos Download. Descargamos la versión 64 bit,

indicamos que queremos guardarla en el escritorio. Una vez

completada la descarga, podemos cerrar la ventana. Quedan unos

Page 24: #Objetivos de la informática forense

segundos nada más. Correcto. Y aquí la tenemos. Así que vamos a

proceder a su instalación. Damos a continuar, dejamos el

directorio por defecto, e instalar. Autorizamos el UAC y, una

vez finalizada la instalación, ejecutamos el "software". Lo

primero que tenemos que hacer es crear un nuevo caso, una nueva

investigación. Para ello le damos un nombre: 'Demo 1', y un

directorio donde guardará toda la información. Vamos al

escritorio y creamos una nueva carpeta, que llamaremos como el

caso. Va a ser una operación de un único usuario. Y continuamos.

El número del caso, pues 001, y el examinador, nuestro nombre o

identificación. Finalizamos y Autopsy crea una base de datos que

alimentaremos con las evidencias que vayamos adquiriendo. Para

importar nuestra primera evidencia iremos a Disk Image,

continuamos y la seleccionamos. Vamos a escoger la que guardamos

en un vídeo anterior capturada mediante FTK Imager. Abrimos y

continuamos. En este punto nos dará la opción de elegir qué

procesos de análisis de datos queremos ejecutar. Parte de estos

procesos son el indexado de la información, como por ejemplo la

identificación de tipos de archivo, la búsqueda de palabras

clave o identificar archivos interesantes. Seleccionando

cualquiera de las opciones, podemos ver la información en el

panel lateral. En la parte inferior se nos muestra la

información, correlación –motor de correlación–, búsqueda de

información Exif –que son metadatos de fotografías–, búsqueda y

reconstrucción de "emails". ¿Vale? Tenemos siempre información

ahí abajo. Podemos dejarlos todos marcados y continuar: "La

fuente de datos ha sido añadida a la base de datos local. Los

archivos serán analizados". Damos a finalizar y empieza el

proceso. Aquí abajo nos indica que está analizando los archivos.

Una vez cargada la evidencia, podemos ver los archivos

contenidos en cada partición o volumen lógico sin problemas ni

esperas. Por ejemplo, tenemos 'data sources', que es lo que

hemos importado. Como es una imagen, pues tenemos varios

volúmenes. Seleccionando este volumen tenemos los directorios

internos. Información del volumen. Aquí tenemos un documento,

por ejemplo; una imagen, un volumen sin localización, aquí

tenemos fotografías. En cada caso podemos encontrar distinta

información. Tenemos PDF, tenemos fotografías, texto

enriquecido, el 'Quijote', más PDF, un 'lorem ipsum' en TXT, más

fotografías, un archivo de vídeo, un archivo MP3. Y nos permite

ir viendo cada uno de ellos o reproduciendo su contenido. Pero

es que durante el proceso de importación Autopsy no solo ha

indexado el contenido de las particiones contenidas en la

imagen, además ha ejecutado un proceso de "carving" y ha

recuperado archivos borrados, que son los que están marcados con

una 'x'. Por ejemplo, esta hoja de Excel, esta fotografía JPEG,

vemos la 'x' aquí marcada, o el TXT de 'lorem ipsum'. Podemos

recuperar esta fotografía, ver en nueva ventana, abrir en visor

externo o extraer archivo. Podemos guardarlo en el escritorio, y

aquí tenemos la fotografía. Vemos con el visor de fotos y

tenemos la fotografía totalmente recuperada a pesar de que el

Page 25: #Objetivos de la informática forense

usuario que manejaba la memoria USB que analizamos, de la cual

adquirimos la imagen, la había borrado. Además, como habíamos

dicho, la indexación se ocupa de buscar palabras clave, así que

podemos hacer búsquedas por palabras. Sabiendo que tenemos el

libro del 'Quijote', vamos a buscar Dulcinea. Buscamos

coincidencias exactas, coincidencia de un "substring" o

expresiones regulares. Es decir, que podemos usar comodines.

Buscamos y efectivamente nos encuentra que el archivo de texto

enriquecido del 'Quijote' contiene la palabra Dulcinea y nos la

resalta. Esto podría ser interesante en investigaciones de

determinado tipo –por ejemplo, financiero– en el que busquemos

palabras relacionadas con la actividad que se nos haya pedido

investigar. Así pues, una de las medidas de calidad de una

herramienta de análisis de imágenes de evidencias digitales es

la calidad de su indexado y del motor de búsqueda, ya que un mal

indexado o un mal motor de búsqueda pueden hacer que no

descubramos información importante, y si el motor de búsqueda es

muy lento nos hará perder tiempo; aunque debemos considerar que

también depende del tamaño de las evidencias y de los recursos

de nuestro equipo de trabajo.

#Generación de informes forense

Muchas herramientas de análisis forense, especialmente las

"suites", disponen de herramientas de generación automática de

informes. Dado que cada caso puede constar de múltiples

evidencias y cada evidencia puede tener información interesante,

resulta práctico hacer esa información amigable para su

análisis. La vista experimentada del investigador debe revelar

lo que se oculta tras los datos puros y duros. Para eso son los

informes: para poner en conjunto aquello que cada evidencia

aporta por separado y exponer las conclusiones que podemos

deducir de cada dato independiente y de la correlación de los

mismos. Estamos de nuevo en Windows 10 y vamos a ejecutar

Autopsy. En lugar de crear un nuevo caso, vamos a abrir un caso

reciente. Nos muestra el último caso con el que hemos trabajado.

Lo abrimos, carga toda la base de datos y tenemos todos los

archivos. Vamos a comprobar los archivos, en este caso los que

encontró en este volumen, ¿recordamos? Y vamos a suponer que,

por ejemplo, 'Night in the City' es una fotografía interesante.

Así que podemos marcar. Podemos usar Tag and Comment, que nos

permite marcar, poner un "bookmark", simplemente una marca o

evidencia y añadir un comentario: 'El investigado pudo estar

aquí'. OK, ya está "tagueado". Tenemos un Excel con una lista de

países, podemos marcarlo como evidencia directamente. Tenemos la

Constitución de los Estados Unidos. Si resulta que es una

evidencia, pues la marcamos. Por ejemplo, Bookmark. Y una

fotografía de un disco duro, la vamos a marcar también:

Bookmark. El objetivo de haber etiquetado estos elementos es

generar un informe. Para ello vamos a Generator Report y vamos a

seleccionar la opción HTML, básicamente porque podremos abrirlo

Page 26: #Objetivos de la informática forense

en cualquier navegador, en cualquier PC. Le damos a Siguiente y

vamos a incluir todos los resultados. Podríamos haber tenido

solo Bookmark o solo Evidencias. Marcando todo, lo exportará

todo. Finalizamos y nos indica que ha sido guardado en esta

dirección, que podemos abrir directamente con Chrome. Esta es la

forma en que Chrome genera su informe. Tenemos el resumen del

caso, con el número –el número del caso–, el examinador y el

número de imágenes importadas, dónde está almacenado, el tiempo

horario en que se examinó, que es importante, sobre todo cuando

tenemos distintas localizaciones, y la imagen que se examinó.

Podemos ver la coincidencia de palabras clave, direcciones de

"email", por ejemplo. Tenemos imágenes etiquetadas y archivos

etiquetados. Imagen, el archivo de Excel, el PDF y el JPG y

cualquiera de ellos es accesible a la persona que recibe este

informe en HTML en cualquier momento. Simplemente haciendo clic

puede abrir el PDF en este ejemplo o podría abrir una

fotografía. Los informes automatizados pueden ser un gran punto

de partida para los informes que hagamos como investigadores,

pero al final debemos exponer nuestras conclusiones sobre la

investigación que se nos encarga, no copiar y pegar lo que hace

una "suite", porque de ser así no haría falta especialización

alguna. También es cierto que si es relevante el informe

automático, se puede adjuntar al desarrollado por el

investigador.

#Sistemas de archivos en analítica forense

Los sistemas de archivos o arquitectura de ficheros son la forma

en la que los sistemas operativos organizan la información y la

indexan en las particiones de almacenamiento para acceder a ella

de forma eficiente, tanto para leer como para escribir. La

comprensión de las estructuras de ficheros es una de las partes

clave de la informática forense para poder entender formas de

ocultar la información que un actor malicioso o "malware" pueden

emplear y para diseñar métodos de recuperación de información lo

más eficientes posible. Uno de los sistemas que más a menudo nos

hemos encontrado, aunque no sea muy actual y cada vez se use

menos, es FAT, siglas de "File Allocation Table", un sistema

heredado de MS2. Más moderno e implementado por Microsoft ya

para Windows es NTFS, siglas de "New Technology File System".

Hoy en día es más probable encontrar este formato que FAT, ya

que se implementó soporte para el mismo desde Windows 2000 y XP.

La diferencia radica en cómo cada sistema almacena los metadatos

de los archivos e indexa la localización de estos en los discos.

En Linux existen distintos tipos de sistemas de ficheros. en

general versiones de EXT, e-x-t o "sistema de archivos

extendido", que deriva en parte del sistema UFS o sistema de

ficheros unificado. EXT fue el primer sistema de archivos

desarrollado específicamente para Linux y actualmente su versión

más moderna es el cuarto EXT o EXT 4, disponible desde 2006. El

índice de archivos se basa en listas enlazadas. Es decir, que

Page 27: #Objetivos de la informática forense

cada elemento apunta al siguiente. Hasta 2017 el sistema

operativo macOS ha venido usando el sistema de archivos HFS+,

siglas en inglés de "sistema de archivos jerárquico", en uso

desde el año 98. Desde la versión 10.13 del sistema, se ha

implementado APFS o, lo que es lo mismo, "Apple File System",

especialmente orientado a trabajar con discos de estado sólido o

SSD. Además contempla de forma nativa la optimización para

discos cifrados. Pero una de las características más

interesantes es que aplicando APFS a una unidad de disco, el

tamaño de los volúmenes o particiones es dinámico. Es decir, que

el espacio libre del disco se va asignando a cada partición y

recuperando de esta a medida que se escriben o borran archivos.

Veamos entonces la composición simplificada de los sistemas de

archivos. Para empezar hay que comprender que, por lo general,

hay dos espacios fundamentales de una unidad de almacenamiento:

la tabla o índice o árbol y el contenido. La primera nos indica

dónde está cada cosa en el segundo y nos proporciona metadatos

sobre los archivos. Algunos de los metadatos más comunes son:

tamaño, nombre del archivo, permisos, atributos y su

localización en el disco. En la segunda parte están los datos,

que son los archivos. Un par de conceptos que aparecen a menudo

al hablar de sistemas de archivos son sector y "clúster". Los

sectores son la unidad de almacenamiento físico más pequeña y

consta normalmente de unos 512 "bytes". Es el espacio mínimo de

escritura en disco; algo así como un hueco a rellenar en el que

podemos poner un único objeto, lo llene por completo o no. Por

otro lado están los clústeres, que son conjuntos de sectores. Es

decir, que un clúster puede equivaler a un sector o a varios.

Normalmente el clúster es lo que utiliza el sistema operativo

para escribir en disco según su sistema de archivos, mientras

que el sector sería la unidad de direccionamiento más a nivel

del "hardware". También debemos distinguir entre almacenamiento

lógico y físico. El almacenamiento lógico son las particiones o

unidades reconocidas por el sistema operativo, las que se

muestran en el explorador de archivos. El sistema operativo

escribe y lee en dichas particiones en base a clústeres. Las

unidades de almacenamiento físico son el "hardware" que almacena

información; por ejemplo, discos duros, discos de estado sólido,

discos ópticos, memorias "flash", USB, etc. La forma de escribir

en estas unidades una vez trascendido el nivel lógico de

partición es sector a sector. De este modo, cuando un sistema

operativo escribe un archivo, lo hace a nivel de clúster, lo

cual repercute en desaprovechamiento del espacio si el tamaño

del archivo no es múltiplo del tamaño del clúster en el sistema

de archivos que estemos utilizando. Pongamos, por ejemplo, un

archivo de 2050 "bytes" que tenemos que guardar en un sistema de

archivos, cuyo clúster consta de dos sectores y cada sector

almacena 512 "bytes". Un clúster, por tanto, puede almacenar

1024 bytes, lo que significa que el sistema operativo reservará

tres clústeres y almacenará solo dos bytes en el primer sector

del tercer clúster. Al final quedan 1022 bytes de espacio libres

Page 28: #Objetivos de la informática forense

en el tercer clúster, pero ya no pueden ser utilizados para

almacenar otros archivos, así que si vamos a escribir un segundo

archivo lo haremos a partir del cuarto clúster. El espacio que

queda vacío al final de un clúster recibe el nombre de "slacks".

Los sistemas más habituales que nos encontramos son FAT y NTFS.

NTFS es más eficiente que FAT. NTFS utiliza un tamaño de clúster

inferior a FAT, lo que redunda en más aprovechamiento del

soporte físico para la reducción de "slacks". Además la cantidad

de atributos y permisos capaz de registrar NTFS es mucho mayor

que en FAT, permitiendo mayor granularidad de configuración y

seguridad del sistema operativo. También podemos enfrentarnos a

sistemas de almacenamiento RAID: "Redudand Array of Independent

Disks", en los que más de un soporte físico corresponden a una

única unidad lógica. Obviamente los RAID afectan al

almacenamiento físico, ya que luego se comportan como una unidad

lógica que puede implementar el sistema de archivos que indique

el usuario. Estas explicaciones son solo la esencia teórica de

los sistemas de ficheros, pero para poder hacer investigaciones

con buenos resultados te recomiendo que estudies en profundidad

aquellos con los que más a menudo vayas a trabajar.

#Fundamentos de una secuencia de arranque

La secuencia de arranque de un sistema operativo en una

computadora es una sucesión de acciones que debemos conocer para

saber qué información puede proporcionar y si hay algo que

podamos llegar a conocer manipulándola. Una de las tareas de la

BIOS es comprobar la secuencia de arranque almacenada en el

CMOS. La secuencia de arranque tiene una lista ordenada de

particiones en las que localizar el sistema operativo. Esto es

importante porque si iniciamos una computadora desde el disco

original de la evidencia, la propia secuencia de arranque

modificará esa evidencia comprometiéndola. Por lo tanto, si no

es posible extraer una imagen de los discos antes de iniciar el

equipo, lo más conveniente es cambiar la secuencia de arranque y

forzar al equipo a cargar un sistema operativo que carguemos en

otra unidad que conectemos; por ejemplo, en memorias o discos

USB con LiveCD o LiveDVD. Estas unidades Live proporcionan un

sistema operativo sobre el que operar y desde el que obtener una

imagen o clonado del disco que almacena el sistema operativo

original del equipo que estamos investigando. Es recomendable

usar distribuciones Linux que no monten directamente las

unidades lógicas que localicen o que lo hagan solo en modo

lectura como, por ejemplo, Kali Linux. Para cambiar la secuencia

de arranque será necesario acceder a esta mediante la

combinación adecuada de teclas, que depende de cada fabricante

de computadoras, por lo que es importante conocerla antes de

encender el equipo o iniciará con el sistema operativo habitual

corrompiendo nuestra prueba. Este es un procedimiento en el que

solo tenemos una oportunidad para no corromper el estado de la

evidencia, por lo que debe además ser perfectamente documentado,

Page 29: #Objetivos de la informática forense

salga bien o mal, para poder seguir la investigación a pesar de

lo que pueda perderse si arrancamos el sistema operativo que no

debemos. Algunos elementos de "hardware" relacionados con el

arranque del sistema son: la mencionada BIOS o sistema básico de

entrada-salida. Es una memoria que almacena un programa de

arranque para la computadora, incluyendo los controladores

necesarios para el "hardware", comprueba que el estado de la

memoria es funcional y a continuación arranca el sistema

operativo; la UEFI o interfaz de "firmware" unificado

extensible, que es la tecnología que sustituye a la BIOS; el

CMOS o "Complimentary Metal Oxide Semiconductor", que es una

memoria volátil que contiene información de fecha y hora, así

como datos de configuración. Es un chip integrado en la placa

madre de la computadora. En algunos casos, es posible incluso

manipular la BIOS o el UEFI pudiendo ampliar nuestra capacidad

de intervención sobre los equipos que investigamos. Lo que vemos

ahora en pantalla es el inicio de la Kali Linux. Kali es una

distribución de Linux para investigación forense y "pentesting",

en este caso un LiveCD. Ejecutamos el modo "live", es decir, sin

instalación, desde la unidad externa. Podemos ver la secuencia

de arranque y cuando esta completa veremos el escritorio de

usuario. Ya ha cargado el escritorio de usuario. Como podemos

ver, la resolución de la imagen no es la más apropiada y es

porque no ha cargado todo lo necesario de la computadora. Esto

puede depender de en qué computadora iniciemos los "drivers", el

"hardware" que encontremos. Lo que es interesante es que podemos

acceder a aplicaciones y tenemos herramientas categorizadas por

el tipo de funcionalidad que queremos trabajar. La que nos

interesa para este curso es la número 11 Forensics, donde

tenemos por ejemplo Volatility, un cálculo de 'hashes', Foremost

o Autopsy. Esta, como hemos dicho, es una versión "live" de Kali

Linux, pero podemos trabajar con CAINE, Santoku... El objetivo

es iniciar la computadora desde un sistema operativo alternativo

que preserve la integridad de las evidencias. Lo bueno de estas

"distros" es que incluyen gran cantidad de herramientas

preinstaladas para poder iniciar las primeras fases de

adquisición de datos.

#Discos duros como evidencias digitales

Los discos duros son un soporte relativamente económico de

almacenamiento de datos, tanto que la combinación de su

almacenamiento con el progreso de Internet prácticamente han

hecho desaparecer a los CD y DVD. Como investigador forense, es

más que probable que tengas que extraer datos de ellos en más de

una ocasión, por lo que conviene que estudies cómo funcionan.

HDD son las siglas de "Hard Disk Drive", algo que en algunos

países se ha traducido como disco duro y en otros como disco

rígido o simplemente rígido. Sea cual sea la traducción que más

nos guste, el HDD es el disco mecánico clásico que desde hace

tantos años conocemos. Los componentes de un disco duro son los

Page 30: #Objetivos de la informática forense

siguientes. En primer lugar, los cabezales de lectura-escritura,

que se encuentran en el extremo de unos brazos móviles. Se

apoyan sobre los platos y hay un cabezal sobre cada cara de cada

plato. También se llama aguja por analogía con los discos de

vinilo. Los platos, también llamado discos, o "platters" en

inglés, son cada uno de los discos que hay en lo que llamamos

disco duro. Por norma general todos los platos de un rígido

están alineados en un mismo eje y rotan al mismo tiempo. Cada

"platter" se divide a su vez "tracks" y sectores. Los "tracks"

son los anillos concéntricos en que se divide un plato. También

se les llama pistas. Llamamos sectores a cada una de las

divisiones de un "track" mediante radios de la circunferencia

del plato. Los clústeres son una unidad lógica, no física, que

se componen de uno o varios sectores. Los "tracks" y los

sectores se utilizan para direccionar posiciones físicas de un

plato. Tradicionalmente cada sector almacena 512 "bytes" de

información. De esta manera es fácil, sabiendo en qué "track"

está el sector buscado, llevar la aguja o cabezal al punto

correcto y, haciendo girar los platos, pasar de sector en sector

hasta leer el sector deseado. Siguiendo con la estructura del

disco, tenemos los cilindros. Un cilindro lo componen los

"tracks" que están en la misma localización. Es decir, a la

misma distancia del eje central pero en distintos platos. Y se

llama así porque los platos se apilan verticalmente con un único

eje de rotación central, por lo que el conjunto de "tracks" de

igual identificación en distintos platos forman un cilindro. La

capacidad de un disco, por tanto, suele medirse en cilindros,

sectores y cabezales. Pero veamos un ejemplo sencillo con

números inventados. Si tenemos 1000 cilindros, 32 sectores de

512 "bytes" por "track" y 10 cabezales, es decir, cinco discos,

las matemáticas son las siguientes: 1000 cilindros por 32

sectores en cada cilindro y por 5 platos, que suman 10

cabezales, y por 512 "bytes" nos dan 163.840.000 "bytes". Es

decir, aproximadamente 164 MB. Esto es solo un ejemplo para

demostrar el cálculo. Obviamente hoy en día hay discos de mucha

mayor capacidad de almacenamiento. Los discos SSD, siglas de

"disco de estado sólido", son una modalidad más actual del

sistema de almacenamiento digital no volátil. No tienen partes

mecánicas, como los platos o los cabezales de los discos duros

tradicionales. Hubo unidades basadas en RAM que requerían de

baterías propias para no perder la información al apagar el

equipo, pero en la actualidad utilizan memorias NAND "flash",

que no son volátiles. La memoria NAND puede leerse

secuencialmente, en lugar de aleatoriamente como la RAM, lo cual

permite leer o escribir integralmente su contenido con facilidad

y gran velocidad. Los discos SSD tienen un procesador propio

encargado de realizar las tareas de lectura y escritura, así

como de descartar los sectores que resultan dañados, de reubicar

información moviéndola de unos sectores a otros, etc. Por eso

resulta casi imposible comprobar la validez de un 'hash', de una

imagen comparándola con la del disco original y lo que hay que

Page 31: #Objetivos de la informática forense

hacer es generar una primera imagen o un clonado a un HDD. Esa

primera imagen, o el HDD al que se ha clonado, será a partir de

ese instante la evidencia original y deberán obtenerse copias de

la misma para desarrollar la investigación.

#Registro de arranque principal (MBR)

El registro de arranque principal, o MBR por sus siglas en

inglés, empieza en el primer sector de un disco duro. El MBR o

"Master Booth Record" es la primera partición del disco, aunque

se le identifica también con el gestor de arranque, que es el

programa que se ejecuta desde la BIO y que nos muestra la

pantalla de menú que vemos al iniciar la computadora y que nos

da algunas opciones relativas al arranque del sistema operativo.

El proceso normal de funcionamiento es que, una vez que la BIOS

o UEFI detectan el disco de arranque, se da acceso a la

partición de arranque o MBR. La MBR almacena la información de

las particiones de la unidad de almacenamiento, entre las que

podemos encontrar localizaciones de las particiones en el disco,

tamaños de las particiones, si son o no particiones de arranque

para que la BIOS o UEFI sepa si puede arrancar un sistema

operativo desde ellas, etc. Obviamente, al menos una de las

particiones de uno de los discos accesibles por la BIOS o la

UEFI debe ser de arranque y contener un sistema operativo para

que el equipo pueda arrancar. Algunas de las aplicaciones que

podemos utilizar para explorar y gestionar los discos y

particiones de las computadoras son fdisk en Linux y Windows o

GParted como sistema operativo integral con interfaz gráfica

para esta función. También tenemos DiskPart en Windows y

Diskutil en MacOS. Un gestor de arranque muy común que podemos

usar cuando tengamos múltiples aplicaciones con distintos

sistemas operativos es GRUB. Las siglas de GRUB significan "GNU

GRand Unified Bootloader" o, lo que es lo mismo, gran gestor de

arranque unificado GNU. Se instala típicamente con las

distribuciones Linux y tiene tanto modo operativo de texto plano

como gráfico. A continuación vamos a ver una pequeña

demostración con GParted. Seleccionamos la opción de GParted

Life y mientras arranca comentamos. GParted es una distribución

Linux que solo tiene GParted. La podemos arrancar desde una

memoria USB o desde un Live CD y serviría para gestionar las

particiones de una máquina; en principio, tenga uno o múltiples

discos duros. Lo primero que nos pide es seleccionar el patrón

de teclado, vamos a seleccionar QWERTY en español. Teclado

estándar. Estándar. Y como idioma seleccionamos español, número

25. Le indicamos que arranque en modo normal y esperamos a que

cargue la interfaz gráfica. Como vemos, carga un escritorio y

automáticamente la aplicación de GParted. Nos muestra en GParted

–si refrescamos dispositivos– que solo tiene una unidad.

Dispositivos 'dev/sda' con 20 GB. Podemos crear una tabla de

particiones. Aplicamos. Y podemos crear una nueva partición.

Vamos a crear, por ejemplo, una partición de aproximadamente 4

Page 32: #Objetivos de la informática forense

GB que vamos a llamar 'Win' y vamos a formatear en NTFS. Y el

resto, por ejemplo, si quisiésemos instalar Linux, pues dejamos

ext4, ponemos Linux. Estos son etiquetas. Podemos poner el

nombre que queramos. Lo que nos muestra aquí es todo el espacio

restante, ¿vale?, no tenemos que preocuparnos de lo que ya hemos

seleccionado para la otra partición. Le damos a Añadir y ya

tenemos aquí las dos particiones definidas. Estas son las tareas

pendientes. Le damos a Aplicar. Nos pregunta si estamos seguros

de querer ejecutar estas operaciones, le decimos que sí. Y ahora

el disco duro ha quedado particionado de la manera que hemos

escogido. Podemos guardar estos detalles, mostrarlos, que son

los dos procesos que ha llevado a cabo, crear una partición

vacía con toda la información que eso conlleva, crear un sistema

archivos NTFS, el comando que he utilizado. Podemos ver todo el

proceso por si quisiésemos hacerlo nosotros por línea de

comandos. Podemos cerrar y automáticamente esto ha quedado

terminado y podemos salir de GParted. Y eso es todo. GParted,

una Live CD que nos permite gestionar las particiones de

cualquier disco duro "booteando" desde la propia unidad "live",

ya sea USB, DVD o CD.

#Análisis hexadecimal de archivo con extensión errónea

En ocasiones podemos encontrarnos con archivos cuya extensión ha

sido manipulada para simular ser otro tipo de archivo y así

confundir a un investigador u ocultar información para robarla.

Así, cambiando un archivo con una extensión XLS o JPG por DLL,

podríamos considerar que es un controlador o un "driver" y poder

guardarlo en una carpeta como 'System 32' dentro de Windows y

pasaría desapercibido; por poner un ejemplo. Para poder ver de

qué tipo de archivo se trata realmente, tenemos que mirarlo en

profundidad y para eso lo mejor son los editores hexadecimales.

Veamos un ejemplo. Tenemos una fotografía aquí: 'foto.jpg'; tipo

de elemento: archivo JPG; clasificación: sin clasificación; 38

k. Hacemos doble clic y el visor de fotografías de Windows 10

nos dice que no puede ver la fotografía, que algo falla. Bueno,

cerramos. Vamos a abrir nuestro editor hexadecimal y vamos a

abrir el archivo. Como se trata de una fotografía, lo primero

que deberíamos comprobar es la firma, saber si realmente se

trata de un JPG. Así que vamos a ir a Files Signatures,

'filessignatures.net' y vamos a buscar por la extensión JPG. Y

efectivamente vemos que la firma indica que debe empezar el

archivo por FF D8. Luego puede haber variaciones, pero lo

importante: FF D8. Sin embargo, aquí tenemos D0 CF, así que algo

ya no cuadra. Vamos a ir mirando un poquito a ver qué podemos

encontrar en la descodificación del hexadecimal. De momento,

nada inteligible. Seguimos avanzando y aquí encontramos un

bloque de texto: nombre, apellidos, dirección, teléfono, correo

electrónico, serie de información de texto abundante, grado,

fecha de graduación, resumen de las tareas del curso

importantes, los premios y las condecoraciones, experiencia,

Page 33: #Objetivos de la informática forense

nombre de la empresa. Esto empieza a parecerse a un currículum.

Este tipo de texto no esperamos encontrarlo entre los "bytes" de

una fotografía. Sería lógico encontrar texto pues relativo a los

datos EXIF, como por ejemplo el modelo de cámara fotográfica o

algo por el estilo. Entonces esto tiene pinta más bien de un

documento de texto. Vamos a hacer una búsqueda. Vamos a Editar y

en File vamos a buscar "word". Parece un documento de texto.

Vamos a decir que nos busque todas las instancias que encuentre

de la palabra "word". Y aquí en la parte inferior encontramos

varias de ellas y vemos, por ejemplo, la primera que encuentra,

Microsoft Macintosh Word, que parece que es el programa con el

que se habría hecho este archivo. Hombre, mira, un nombre,

probablemente el autor del documento, y el nombre del documento:

'curriculum vitae básico.DOTX'. De nuevo el nombre del autor o

del propietario de la licencia. Buscamos más instancias de

"word". Aquí hay tres instancias, ¿vale?, las otras tres. Vemos

que están las tres aquí juntas y vemos que indica Microsoft Word

97-2004, ¿vale?, o sea que por el año sabremos que probablemente

la extensión correcta es DOC en lugar de DOCX. Así que vamos a

cerrar el editor hexadecimal. Cerramos la página web y vamos a

cambiar la extensión del archivo a DOC. Windows nos pregunta si

estamos seguros de querer hacer este cambio. Le decimos que sí.

Obviamente el sistema, al detectar la nueva extensión, cambia el

icono al programa que debe abrirlo y efectivamente era un

documento de Word que podemos abrir normalmente. Bien, esto es

una técnica muy sencilla que puede permitir a alguien ocultar

información de forma sencilla, simple. Podríamos llamarlo

ofuscación, seguridad por oscuridad. No está cifrando la

información, pero está haciendo que no sea fácil de detectar a

simple vista. Y gracias a los editores hexadecimales podemos

hacer este tipo de análisis al detalle y descubrir qué tipo de

documentos realmente tenemos ante nosotros.

#Recuperación de archivo modificado mediante bit-shift

Desplazar bits es una técnica sencilla pero eficaz para hacer

incomprensible un bloque de información. Diría que ni siquiera

es un cifrado, aunque podemos considerarlo cifrado por

desplazamiento, como el que utilizaba Julio César. Para

reconstruir el estado original de un archivo con desplazamiento

de bits podemos usar un editor hexadecimal. Vamos primero a

tratar de abrir este documento. En principio no tiene extensión,

no lo reconoce. Lo abrimos con el bloc de notas, pero, nada:

información ininteligible. Así que vamos a acudir al editor

hexadecimal y vamos a abrir el documento. En principio, lo mismo

que antes. Si sospechamos que puede ser una técnica de

desplazamiento o rotación, pues podemos probar estas opciones.

Habría que ir jugando con ellas tratando de detectar cuál ha

sido el cambio. por defecto Hex Workshop no muestra estas

utilidades. Tenemos que ir a Opcions, Toolbars y activar Data

Operations. Nosotros vamos a probar a hacer una rotación a la

Page 34: #Objetivos de la informática forense

izquierda. Aquí arriba nos explica cómo funciona: rotar bits a

la izquierda. Por ejemplo, el valor 98 en hexadecimal 100011000

pasaría a ser 00110001. Es decir, este bit rota al otro lado, se

desplazan todos una posición a la izquierda y el primero al

último. Pues esto es lo que ocurriría pero con todo un archivo o

con toda una unidad de disco. Vamos a probar con 8 bits. De

momento no obtenemos nada. Si repetimos la operación con otros 8

bits, resulta que recuperamos un texto: "En un lugar de la

Mancha de cuyo nombre no quiero acordarme". De hecho, tenemos

hasta un guion, así que se entiende que estaba escrito en un

sitio donde estaban las líneas partidas. Podemos guardar este

archivo. Al ver que se trata de texto plano exclusivamente,

podemos entender que se trata de un TXT, así que volvemos al

archivo y le vamos a poner extensión .TXT. Abrimos el documento

y en efecto se trataba de un archivo TXT en el que se estaba

ocultando información. Esta forma de ofuscación de la

información, casi de cifrado, puede ser utilizada para robar

información o para transmitir información a través de la red y

que no pueda ser detectada por IDS o IPS que estén buscando

filtraciones de información. Al final, la resolución de este

tipo de ocultamientos se resuelve con práctica siempre que

tengamos indicios de que hay que buscar algo por el estilo.

*¿Qué aplicación gratuita podemos utilizar para buscar datos en

evidencias digitales? Autopsy

*¿Qué ventaja tiene elegir el formato HTML a la hora de generar

un informe desde Autopsy? Lo podremos abrir en cualquier

ordenador con un navegador.

*El sistema de archivos EXT, ¿de qué otro sistema deriva en

parte? De UFS

*¿Qué es un cluster? Un conjunto de sectores

*¿Cuantas oportunidades tenemos para realizar el proceso de

arranque alternativo sin corromper la evidencia? 1

*Los clusters son una unidad lógica.

*¿Cuál es la aplicación que podemos utilizar en MacOS para

explorar y gestionar los discos y particiones? Diskutil

*¿En qué página web comprobamos la firma de un archivo JPG? En

filesignatures.net

*¿Qué tipo de aplicación debemos usar para corregir un

desplazamiento de bits de un archivo? Un editor hexadecimal

Page 35: #Objetivos de la informática forense

#Bloqueadores de escritura e integridad de evidencias

La conservación de evidencias es la regla número uno en

informática forense. No debemos dañar o permitir que se dañen

las evidencias, ni en su estado físico ni el contenido digital.

No se debe modificar la evidencia bajo ninguna circunstancia

siempre que pueda evitarse. No se debe perder la evidencia,

repetimos, ni física ni los datos contenidos en el soporte

físico. Precisamente para no perderla, en el sentido de tenerla

siempre controlada, están los protocolos de trabajo y la cadena

de custodia. Para no dañar o modificar una evidencia digital,

aparte de las precauciones que debamos tomar para la

conservación óptima del soporte físico, hay que evitar escribir

datos en las memorias o unidades de disco cuando trabajemos con

ellas. Al montar una unidad de disco en un sistema operativo,

casi con toda seguridad la unidad sufrirá la modificación de

algún dato por la simple interacción con el sistema, que puede

crear archivos temporales, de indexación o de formato de

presentación de la información. Para evitarlo usamos

bloqueadores de escritura, que son interfaces "hardware" o

"software" que impiden al sistema escribir en la unidad,

permitiendo por el contrario que lea su contenido. Existen dos

tipos fundamentales de bloqueadores de escritura. Los

bloqueadores "hardware" son dispositivos electrónicos que actúan

como interfaz entre la computadora y el soporte físico de

almacenamiento. Los bloqueadores basados en "software" suelen

formar parte de las "suites" de "software" forense, aunque

también se puede conseguir este efecto mediante la configuración

apropiada del sistema operativo. Las evidencias digitales cuya

integridad no pueda ser demostrada y aquellas cuyo daño o

modificación esté manifiestamente demostrado podrán ser

automáticamente invalidadas; en el primer caso, porque no se

puede garantizar que no haya sucedido lo segundo, y en el

segundo caso, el de la modificación patente, porque las

conclusiones que extraiga un perito, aunque válidas, parten de

una fuente de datos que puede haber sido modificada, lo cual

invalida los procedimientos derivados de ella. Pero los

bloqueadores de escritura no son las únicas herramientas a

nuestra disposición para la conservación de la integridad de las

evidencias digitales, también debemos aplicar protección física

a los soportes de información mediante el almacenamiento en

condiciones apropiadas, implementar una cadena de custodia en la

que se registre quién accede a una evidencia, cuándo y para qué,

y calcular y conservar como parte de la cadena de custodia los

"hashes" de la información para poder garantizar su integridad

y, en caso de violación de la misma, poder comprobar cuándo tuvo

lugar. Una vez más, tenemos en nuestras manos un soporte de

información digital original. Si generamos un duplicado o si

generamos una imagen valiéndonos de un bloqueador de escritura

para salvaguardar el original, obtendremos copias con las que

trabajar sin poner en riesgo el mencionado original. Además, así

Page 36: #Objetivos de la informática forense

podemos saber que si el original sufre alguna modificación se

deberá a accesos no autorizados y podremos tratar de poner

remedio al problema de seguridad que ha derivado en esa

situación. Debemos tener siempre en mente el caso particular de

los discos SSD, cuya distribución de contenidos puede variar

solo por el hecho de tener suministro eléctrico, por lo que en

estos casos, aunque usemos un bloqueador de escritura, el "hash"

del soporte original variará; aunque sí podemos garantizar que

no hemos añadido ni borrado ficheros.

#Bloquear escritura por software

Sin utilizar ninguna herramienta específica, valiéndonos de los

recursos nativos de Windows, en este caso Windows 10, vamos a

bloquear la posibilidad de que el sistema operativo escriba en

las memorias USB que conectemos a la computadora. Para ello lo

primero que vamos a ver es cómo funciona correctamente al

conectar una memoria USB. Hemos conectado la memoria, así que

podemos ir al explorador de archivos y vemos que la tenemos aquí

conectada con un archivo: el primer párrafo del 'Quijote'. Vamos

a abrirlo con el WordPad para que se vea el párrafo bien.

Podemos editar el archivo, añadir una línea, podemos guardar el

archivo –se guarda perfectamente–, podemos crear un nuevo

archivo, documento de texto con el nombre 'prueba', podemos

abrirlo y escribir algo, y podemos guardarlo. Así que vemos que

el USB funciona con total normalidad; podemos abrir documentos y

editarlos. Vamos a expulsar la unidad: Expulsar. En este momento

la unidad queda expulsada del PC. Ahora lo que vamos a abrir es

el registro de Windows. Podemos buscar "regedit". Nos solicita

permiso de administración, y lo que vamos a hacer es irnos al

principio y vamos a trabajar desde 'HKEY_LOCAL_MACHINE'. Nos

vamos a 'Sistema'. En 'Sistema' abrimos 'CurrentControlSet' y

ahí abrimos 'Control'. En 'Control' tenemos que crear una clave

nueva, entonces le decimos Nueva, Clave, que denominaremos

"Storage Device Policies". Y tenemos que crear un elemento para

esta nueva clave, 'StorageDevicePolicies', que son políticas de

dispositivos de almacenamiento. Botón derecho, Nuevo y le

decimos que queremos un DWORD de 32 bits. Le vamos a dar, como

nombre, 'WriteProtect', que es protección contra escritura. Si

hacemos Enter o doble clic, nos permite editar el contenido, y

vamos a poner un valor uno. Siendo el valor por defecto cero,

pues vamos a poner uno, es decir, activamos la protección contra

escritura. Aceptamos, cerramos el registro y lo que debemos

hacer a continuación para que surta efecto es reiniciar la

computadora. Ya hemos reiniciado la computadora, así que vamos a

volver a conectar la llave USB. Con la memoria una vez

conectada, volvemos al explorador de archivos, tenemos la unidad

y tenemos los dos archivos: podemos abrir el archivo de prueba

que creamos antes y podemos abrir el archivo del 'Quijote';

incluso vemos la modificación que hicimos. Si ahora queremos

borrar esta modificación y queremos guardar, nos muestra un

Page 37: #Objetivos de la informática forense

mensaje de error. No tiene permisos de escritura, que es lo que

queríamos obtener, entonces nos pregunta por una nueva

localización. No guardamos, intentamos crear un nuevo archivo, y

simplemente no aparece la opción en el menú porque no tenemos

los permisos de escritura. Es lo que hemos quitado al modificar

el registro de Windows en 'LOCAL_MACHINE', 'System',

'CurrentControlSet', 'Control'. Esta es una forma sencilla de

bloquear la escritura en memorias USB, pero no es infalible y

depende de la unidad de almacenamiento que conectemos y cómo la

reconozca el sistema operativo. Así que para una emergencia es

válida, si no, hay que contar siempre con bloqueadores de

escritura, preferiblemente en "hardware". Ahora estamos en Caine

Linux, una distribución basada en Ubuntu que integra gran

cantidad de "software" orientado a la informática forense. He

conectado a la misma llave USB que antes estaba conectada a

Windows 10. Y si vamos a este icono de la barra de menú donde

pone "SAFE Devices mount READ-ONLY", nos muestra las unidades

que hay conectadas a la máquina y nos indica que en principio

las que se monten –porque cuando conectamos una unidad a Linux

no necesariamente se monta la unidad para ser reconocida– se

montarán en modo de solo lectura. Entonces tenemos la partición

'sdb1' en formato VFAT, de 7,8 GB, que es la unidad USB que

conectado. hemos Si la seleccionamos y pulsamos OK, nos indica

que se ha montado de forma que es solo lectura. Podemos acceder

al directorio, podemos ver la unidad y podemos ver que está en

modo solo lectura. Podemos abrir un documento. Con este programa

no se edita, podemos editar con Geany. Editamos el archivo,

intentamos guardar y no nos lo permite. Esta es la gran ventaja

que aporta Caine sobre otras distribuciones o sobre otras

plataformas, puesto que nos permite conectar cualquier unidad de

disco a nuestra plataforma y estar seguros de que la conectamos

solo en modo lectura para poder analizarla asegurándonos de que

los datos de la evidencia no son modificados. Podemos volver al

panel de control, seleccionar y volver a pulsar OK, y

automáticamente queda expulsada la unidad.

#Bloqueadores de escritura por hardware

Para garantizar que no se modifica una evidencia original

mientras hacemos un duplicado o extraemos una imagen, además de

a los bloqueadores de escritura por "software" podemos recurrir

a los bloqueadores por "hardware". El objetivo de los

bloqueadores de escritura "hardware" es actuar de interfaz de

comunicaciones entre la computadora y la unidad de disco. Una

vez conectados, la interfaz solo permite el flujo de datos de

lectura, es decir, desde la unidad de almacenamiento al PC y no

en sentido inverso. Existen modelos sencillos cuya interfaz de

comunicación con el PC es un puerto USB y que para los

dispositivos de almacenamiento tienen una o varias interfaces

distintas. Básicamente se reducen a una pequeña caja que tiene

un cable USB por un lado y puertos de distintos tipos por otro.

Page 38: #Objetivos de la informática forense

Son bastante económicos. El inconveniente más apreciable es que

sobre el espacio de trabajo quedan varios cables y que no se

aporta ningún tipo de soporte a la unidad de disco que

conectamos. Existen distintos modelos dependiendo del tipo de

interfaz de la unidad de disco, pero lo normal es que tengan

interfaces de varios tipos: IDE, SATA, USB, lectores de tarjetas

o incluso encadenamientos que hagamos, como por ejemplo conectar

un lector de tarjetas estándar USB al puerto USB "guest" del

bloqueador, y este, a la computadora. Otro tipo de dispositivos

son las "docking stations". Tienen el mismo propósito que los

modelos de cable USB, pero el formato de "hardware" nos permite

tener un espacio de trabajo más ordenado y los discos en una

posición más segura. Por supuesto, igual que hay "software"

especializado en análisis forense también hay "hardware"

especializado y los bloqueadores de escritura no son una

excepción. Estos equipos se diseñan con dos ideas fundamentales

en mente: minimizar el riesgo de accidentes, es decir, evitar

que el usuario se confunda; y segundo, cumplir con estándares

legales y profesionales. Son más costosos, pero son más fiables

y, sin lugar a dudas, más aceptados a la hora de presentar

informes sobre las actividades realizadas con las evidencias

adquiridas. Existen múltiples fabricantes que proporcionan este

tipo de tecnología. Por ejemplo, Guidance Software, con Tableau,

en Forensic Bridges, nos muestra varias de sus opciones; por

ejemplo, el Forensic USB 3.0 Bridge, que tiene distintas

interfaces de comunicación para conectarse la unidad de

almacenamiento al PC. También tenemos otros fabricantes, como

CRU, con sus unidades, que también tienen un lado para el

"host", es decir, para el PC, y otro lado –en el otro extremo,

para no confundirnos– para el "guest", es decir, la unidad de

disco que queremos conectar y proteger contra escritura. Existen

modelos que incluyen diferentes interfaces o modelos dedicados a

una interfaz dedicada, depende del fabricante y del formato del

equipo que podamos adquirir. Las clonadoras son los dispositivos

más especializados en la categoría de equipos de la que estamos

hablando. Son rápidas y eficientes, no requieren de conexión a

la computadora para hacer su trabajo, se conectan al disco de

origen y al de destino, y la clonadora copia el primero en el

segundo e incluso calcula el "hash" durante el proceso. A la

hora de adquirir este tipo de tecnología debe primar la

practicidad y la seguridad. No es prioritario tenerlo todo, sino

tener lo necesario. Es más importante que los procesos sean

seguros que la cantidad de cosas que se puedan hacer. El "kit"

de herramientas puede ampliarse progresivamente, por lo que no

es necesario comprar un equipo muy costoso que lo haga todo

desde el principio.

#Hashing como método de preservación de evidencias

El "hashing" es una herramienta que nos permite saber que una

copia de información digital es igual a la original. El

Page 39: #Objetivos de la informática forense

"hashing" es el proceso de transformar una serie de datos

digitales de entrada de longitud variable en un número

hexadecimal de longitud fija. No importa si los datos de origen

son un disco duro de 2 TB o un archivo de texto de 40

caracteres, la longitud del 'hash' siempre será igual. Las

características principales de un algoritmo de "hashing", además

de proporcionar un resultado de longitud fija, son que se trate

de un proceso irreversible. Es decir, partiendo de los datos

podemos calcular su 'hash', pero conociendo el 'hash' no podemos

obtener los datos de origen. Cualquier cambio en los datos de

entrada, por mínimo que sea, dará como resultado un 'hash'

totalmente distinto a lo obtenido con los datos originales. Esto

es lo que nos permite saber si una copia ha sido modificada

respecto al original, ya sea a propósito o por accidente. Si

trabajamos siempre con copias cuyo 'hash' equivale al de la

evidencia original, sabremos que los datos son iguales y por

tanto nuestros procedimientos válidos y reproducibles. Por lo

tanto, cualquier herramienta profesional para informática

forense debe poder calcular "hashes". Para comprobar como

podemos utilizar un verificador de "hashes" nativo de Windows,

vamos a utilizar una herramienta nativa de Microsoft que se

llama File checksum Integrity Verifer. La tenemos disponible en

la web de soporte de Microsoft, en 'availability-and-

description-of-the-file-checksum-intergity-verifer-utility'. Si

descargamos, encontraremos las instrucciones de instalación y el

enlace de descarga. Vamos a guardar el archivo, lo vamos a

guardar en el Disco (C:), vamos a crear una nueva carpeta que

vamos a llamar 'FCIV', guardamos, podemos cerrar el navegador,

abrimos el Explorador de archivos y en Este equipo, en (C:)

tenemos la carpeta que acabamos de crear y podemos ejecutar como

administradores para que se instale la aplicación. Nos solicita

autorización de la licencia, le decimos que Sí y nos dice que le

indiquemos el lugar donde debe descomprimir los archivos. Vamos

a indicar la misma carpeta. (RUIDO) Una vez completado el

proceso, tenemos un archivo de lectura y el 'fciv.exe'. Para

ejecutarlo vamos a hacer la prueba de forma sencilla, copiando

el archivo del primer párrafo de 'El Quijote' en el mismo

directorio. Vamos a hacerlo así para no tener que escribir rutas

completas, también podemos agregar 'fciv.exe' a las variables de

entorno del sistema. Abrimos la línea de comandos y nos vamos a

'fciv'. Haciendo 'dir' vemos que tenemos todos los archivos,

podemos mostrar la ayuda 'fciv' con '/?' y podemos ver las

distintas opciones. Nos permite hacer búsquedas recursivas

calculando "hashes". Nos permite verificarle si le indicamos

"hashes" con los que comparar, pero de momento nos vamos a

limitar a calcular el 'hash', por ejemplo, 'sha1' del archivo

del primer párrafo de 'El Quijote'. Así que 'fciv quijote.txt'.

Tenemos que indicarle el 'hash' que queremos calcular, el

'sha1', ejecutamos, y nos muestra la versión del programa y el

'hash'. Si ahora modificamos el archivo, por ejemplo, con

Notepad ++, le quitamos esta línea para que se quede solo el

Page 40: #Objetivos de la informática forense

párrafo, cerramos y volvemos a ejecutar vemos que el 'hash' ha

variado totalmente porque hemos variado una línea. Si ahora

sobre el párrafo original que es el que tenemos ahora editamos y

añadimos un simple espacio, guardamos el archivo, volvemos a

cerrar el editor y volvemos a ejecutar el cálculo del 'hash' –

solo hemos añadido un espacio– y vemos que de nuevo este 'hash'

es totalmente distinto a este solo cambiando un carácter.

#Algoritmos de hashing

Existen distintos algoritmos de tipo 'hash'. Los más conocidos

son MD5, la MD es de "Message Digest" o resumen de mensaje. Es

muy utilizado, aunque ya se ha demostrado que es vulnerable y

cada vez se usa menos a nivel forense. Sin embargo, calcularlo

cuesta poco en comparación con otros "hashes". SHA son las

siglas de "Secure Hash Algorithm" o algoritmo seguro de

"hashing". Es más robusto que MD5 y actualmente tiene las

versiones 0, 1, 2 y 3. La versión 0 se descartó y ya no se usa.

Actualmente, las longitudes más robustas de estos algoritmos son

de 256 y 512 B para SHA-2 y 3. Un factor importante a tener en

cuenta cuando elegimos qué algoritmo utilizamos para calcular el

'hash' de una evidencia es su nivel de vulnerabilidad. Las

vulnerabilidades del "hashing" son las colisiones, que es lo que

ocurre cuando dos fuentes de información distintas generan el

mismo 'hash' como resultado. No es un problema grave que un

disco duro y una foto tengan el mismo 'hash', pero sí que, por

ejemplo, una fotografía y una versión modificada de esa misma

fotografía generen el mismo 'hash'. Esto sería un problema

porque no podríamos distinguir mediante 'hash' cuál es el

original y cuál la copia. Actualmente se han encontrado

colisiones en MD5 y SHA-1, así que siempre es más aconsejable

usar algoritmos con resúmenes de mayor longitud. Cuanto mayor

sea la longitud del 'hash', menos probabilidades hay de que

existan colisiones, pero más cuesta calcularlo, y eso se traduce

en tiempo que tenemos que tener ocupado un recurso para calcular

ese 'hash'. Cuando es un archivo, no es relevante, pero si son

miles de archivos o un disco duro completo, entonces puede

llevar horas. Una alternativa que utilizan algunos profesionales

es calcular el 'hash' MD5 y el SHA-1 de una misma evidencia.

Ambos son potencialmente débiles, pero es probabilísticamente

descartable que ambos algoritmos puedan colisionar con la misma

fuente de datos. Así que este es un pequeño truco que puede

usarse si el cálculo de un SHA-2 o 3 tarda más que la suma del

tiempo de calcular MD5 y SHA-1.

#Hashing en herramientas de informática forense

Muchas herramientas de "software" forenses actuales incluyen

funcionalidades de "hashes", incluso las clonadoras

profesionales lo calculan y verifica. El objetivo es validar y

verificar las copias de las evidencias. Entre estas herramientas

Page 41: #Objetivos de la informática forense

podemos encontrar para calcular "hashes" de imágenes de discos

una de las más usadas que es FTK Imager. Se trata de una

herramienta comercial, aunque de distribución gratuita, de la

empresa Access Data, pero es muy popular. Además de esta existen

otras muchas herramientas tanto comerciales como "open source",

incluso disponemos de herramientas nativas que nos pueden

resolver esta tarea en distintos sistemas operativos. En Windows

tenemos que recurrir a PowerShell porque en principio no hay

herramientas nativamente instaladas. En PowerShell tenemos el

comando 'Get-FileHash'. También existe la herramienta de

Microsoft File Integrity Check Value, que podemos descargar de

la plataforma de Microsoft. En Linux tenemos los comandos

'md5sum' y 'sha1sum'. Y en macOS podemos usar los comandos 'md5'

y 'shasum'. Estamos en Windows 10 y vamos a ir a la web de

Access Data a la zona de Descargas, en Product Download y vamos

a buscar FTK Imager. Seleccionamos Download Page y descargamos

la última versión disponible. Nos solicitan una serie de datos

que debemos rellenar. Yo ya he completado los datos del

formulario y he recibido un "email" con el enlace de descarga

que he copiado en el escritorio, así que podemos cerrar el

navegador y ejecutar el programa de instalación de FTK Imager.

Le damos los privilegios de administración y ejecutamos el

instalador. Aceptamos la licencia del fabricante, aceptamos la

localización por defecto y le damos a Instalar. Y directamente

abrimos el "software". Aquí en el escritorio, 'usb.dd', tenemos

una imagen de una memoria USB. Podemos ir a File, Add Evidence

Item y podemos decir que vamos a agregar una imagen. Indicamos

el origen de esa imagen, está en el escritorio, y terminamos. Si

hacemos clic derecho sobre la imagen, podemos dar a Verificar

disco o imagen y calculará el 'hash'. en este caso nos da el MD5

y SHA-1. Aquí tenemos los valores. Podemos cerrar. Y otra opción

es eliminar esta evidencia y añadir una nueva evidencia, esta

vez a partir de una unidad de disco. Le damos a Siguiente e

indicamos la memoria USB directamente que está conectada al PC.

Le damos a Finalizar y le damos a Verificar imagen. Esta vez va

a tardar un poco más en verificar la imagen porque esta

cargándola directamente desde la memoria USB, en lugar de un

archivo que ya es una imagen. Y de nuevo tenemos en pantalla los

"hashes". Vamos a guardar, por ejemplo, este, el MD5. Nuevo,

Archivo de texto, 'usb -hash' y pegamos el valor. Archivo,

Guardar. Podemos cerrar esta opción. Otra opción que tenemos es

de los archivos que hay contenidos en la unidad podemos montar

unidades: Export files, Export Files List... Podemos incluir

unidades alternativas o incluir archivos alternativos. Podemos

dar File, Add Evidence Item, Contenido de una carpeta, y podemos

seleccionar directamente la unidad. en este caso agregará todo

el contenido de la misma memoria USB. Aquí podemos ver los

archivos. Si seleccionamos algunos de ellos, podemos hacer clic

derecho y Export File Hash List, lo exportamos al escritorio con

el nombre 'hashes', y lo que está haciendo es calcular el 'hash'

de cada uno de esos archivos. Si ahora abrimos este archivo,

Page 42: #Objetivos de la informática forense

está en formato CSV para que lo podemos abrir con una hoja de

cálculo. Tenemos el MD5, el SHA1 y el nombre del archivo. Así

tenemos un 'hash', el otro 'hash' –el de SHA1– y a continuación

el nombre del archivo para todos los archivos que formasen parte

de esa evidencia. Otra opción que podemos utilizar para calcular

el 'hash' es PowerShell. Abrimos PowerShell y vamos a ejecutar

el comando 'Get- FileHash' del archivo '/Dekstop/ usb.dd' con el

algoritmo 'MD5'. Y vamos a usar un "pipe" o conector 'Format-

List', que es para elegir el formato por el que presentará la

salida en pantalla. Ejecutamos. Mientras tanto nos está

calculando el 'hash' de este archivo, 'usb.dd'. Si abrimos el

archivo donde guardamos el 'hash', vemos que es exactamente el

mismo: 5C76E, 5C76E, habiéndolo calculado a partir de la imagen

que ya habíamos tomado y a partir de la memoria directamente USB

con FTK Imager. Así que podemos concluir que esta imagen

original que teníamos en el disco duro era una copia exacta a la

memoria USB que posteriormente hemos conectado.

#Entender el montaje de unidades en Linux

Vamos a explicar en qué consiste el proceso de montar o

desmontar una partición en Linux. Montar, o "mount" en inglés,

es el proceso que se realiza para que al conectar una unidad de

almacenamiento a una computadora el sistema operativo pueda

reconocer sus particiones y por lo tanto pueda acceder a leer o

escribir archivos. Desmontar es lo contrario, es desvincular la

partición del sistema operativo de forma que no pueda ser leída

ni escrita. Por lo general, los sistemas operativos actuales

montan o desmontan automáticamente las particiones de las

unidades físicas que conectamos, pero en informática forense eso

no es lo más conveniente, y por eso estamos repasando estos

conceptos. El término de montar se usa principalmente en

entornos Unix, especialmente Linux, y en base a la arquitectura

Linux desarrollaremos la explicación. El punto de montaje es el

directorio de la estructura de archivos del sistema operativo

que se asocia a una partición concreta, es decir, que desde el

punto de vista del sistema la partición contenida en, por

ejemplo, una memoria USB es un directorio aunque al usuario se

le pueda representar de una forma más amigable y accesible. Así

que cuando accedemos a los subdirectorios de ese punto de

montaje estamos accediendo a los directorios y archivos

contenidos en la partición que hemos montado. Estamos en Ubuntu

y lo que vamos a hacer a continuación es abrir un terminal y

después vamos a conectar una memoria USB al sistema. Como vemos,

Ubuntu es un sistema operativo para usuarios y al conectar la

memoria USB directamente ha abierto un explorador de archivos y

ha montado la unidad. Podemos ver su contenido. Lo que nosotros

vamos a hacer es ir de nuevo al terminal y ejecutar el comando

'sudo' para hacerlo como administradores, 'fdisk -l' para ver la

lista de unidades. Nos solicita la contraseña de administrador y

vemos que tenemos dos grupos: el grupo 'sda' que tiene 20 G, y

Page 43: #Objetivos de la informática forense

el grupo 'sdb' de 7,6 GB. El primer grupo es el correspondiente

al disco sobre el que está instalado el sistema operativo.

Tenemos Linux, la partición extendida, y el 'swap' para

intercambio de información. Y la unidad USB es el 'sdb' que

tiene 7,6 GB. Si queremos desmontar esta unidad, ejecutamos el

comando 'umount' e indicamos la partición que queremos

desmontar. en este caso '/dev /sdb1'. Recordemos que 'sdb' es la

unidad física que hemos conectado y 'sdb1' es la partición

concreta. en este caso es un disco que tiene una única

partición. Ejecutamos el comando y no muestra nada más. Si

volvemos a ejecutarlo, nos dirá que la unidad ya no está

montada. Para comprobarlo volvemos a la ventana del explorador

de archivos y vemos que ya no se muestra. Sigue mostrando la

unidad porque el sistema detecta que está conectada, pero no

está montada.

#Montar una partición en Linux

Estamos de nuevo en Ubuntu para montar una unidad, en este caso

una memoria USB que tenemos conectada al PC. Para empezar lo que

necesitamos es un punto de montaje. Vamos a ir al escritorio,

'Escritorio', y vamos a crear un directorio que va a ser

'mkdir'. Para crear el directorio, 'usb' como nombre del

directorio. Si hacemos 'dir', tenemos el directorio 'cd usb'.

Vemos si tiene algo y no tiene nada. Volvemos atrás. Ahora para

montar la unidad primero tenemos que ver qué particiones tenemos

disponibles para montar, qué discos hay conectados a nuestro

sistema. Entonces ejecutamos 'sudo fdisk -l' y vemos que tenemos

las particiones del disco por defecto de la máquina donde está

instalado el sistema operativo, y tenemos una unidad 'usb' que

está en 'sdb' y las particiones 'sdb1'. Así que podemos ejecutar

'sudo mount -t', el formato vfat 32/dev/sdb1', y el punto de

montaje va a ser en el escritorio, que es donde estamos, en el

directorio 'usb'. Me indica que hay un error y es que no

reconoce el tipo de formato de arquitectura de archivos que le

he indicado. El formato correcto es 'vfat'. Ejecuto el comando,

y ahora si accedo a 'cd usb' puedo entrar. Y si ahora hago 'ls -

la' para mostrar de forma ordenada los archivos y con toda la

información, vemos que efectivamente están todos los archivos de

la memoria USB. Podemos verlo también si abrimos el explorador

de archivos y vemos que aparece la opción de desmontar desde la

interfaz del explorador de archivos. Podemos comprobar que estos

archivos se corresponden con los que vemos en el terminal. De

esta manera podemos montar o desmontar una unidad en el

directorio que nosotros escojamos. en este caso lo hemos montado

en el escritorio, en el directorio 'usb', como podemos ver en el

"prompt". Aquí. Si volvemos atrás, podemos volver a desmontarlo:

'sudo umount /dev/sdb1'. Ha quedado desmontado y si volvemos al

directorio ya no aparece, aparece la unidad, pero no nos permite

desmontarla, no muestra su contenido. Si quisiésemos montar la

unidad como solo lectura, volveríamos al terminal y

Page 44: #Objetivos de la informática forense

ejecutaríamos 'sudo mount -o ro' de "read only", e indicaríamos

que sería '/dev/sdb1' en './usb', que es el ejemplo que hemos

puesto. La unidad está montada. Podemos ir al explorador de

archivos. Tenemos la unidad montada, pero vemos que aparece en

todos el candado, no podemos editar. Sin embargo, podemos abrir

sin problemas. De esta manera podemos elegir si montamos

unidades como solo lectura o de manera normal tan solo añadiendo

el comando '-o ro', la opción '-o ro', al comando 'mount'.

*¿Cuántos tipos de bloqueadores de escritura de datos existen? 2

*¿Qué clave nueva debemos crear dentro del apartado Control, en

el registro de Windows, para evitar la escritura en una llave

USB? StorageDevicePolicies

*Conociendo el hash, no podemos obtener los datos de origen .

*¿Qué comando podemos usar para calcular hashes de imágenes de

discos en MacOS? md5 o shasum

*Cada partición se monta como un subdirectorio de la estructura

de ficheros del sistema operativo de la computadora

*¿Qué modificador debemos cargar en el terminal de Ubuntu

después de sudo mount, para montar una unidad como solo lectura?

"ro"