PFC Jerez Guerero Jose Luis PDF
PFC Jerez Guerero Jose Luis PDF
PFC Jerez Guerero Jose Luis PDF
Investigación informática
forense basada en Emacs
Tutor:
Fernando Pérez Costoya ([email protected])
Esta obra está bajo una licencia Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-
SA 4.0) Creative Commons. Para ver una copia de esta licencia, visite:
http://creativecommons.org/licenses/by-nc-sa/4.0/deed.es.
Índice
Capítulo 5: EMACS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Resumen ejecutivo
Debido a mi trabajo, me veo involucrado de forma recurrente en proyectos relacionados con algo que se
identifica como trabajos de análisis de seguridad, si bien su carácter no se limita a labores de análisis, de
donde podría decirse que se trata de trabajos o investigaciones relativas a distintos aspectos del mundo
de la seguridad lógica. En algún caso concreto, estos trabajos identificados coloquialmente como análisis
forense o informática forense, me han llevado a actuar como perito informático forense designado por una
de las partes en investigaciones privadas, o como responsable del equipo de peritos en investigaciones
penales. Sin embargo, en la mayoría de los casos, mi labor está asociada con el perfil de experto en
seguridad en el entorno empresarial o gubernamental, ya sea desde el campo de la monitorización y
respuesta a incidentes de seguridad o en proyectos de hacking ético.
Llegados a este punto, ya he utilizado varios conceptos que aparentemente se refieren a la misma activi-
dad, pero que, desde mi experiencia, identifico grandes similitudes en el objetivo a alcanzar y enormes
diferencias en las metodologías utilizadas en cada caso.
Los conceptos clave identificados en el párrafo inicial son: análisis de seguridad, investigación, análisis
forense, informática forense y peritaje informático forense. Hay otros términos como hacker ético que
podría tener en cuenta, pero en algún momento hay que establecer un límite.
A priori, todo lo relativo a temas de seguridad informática, es muy interesante y llamativo. Sin embargo,
hay una gran diferencia entre realizar una investigación de una intrusión en un equipo para una empresa
que lo que busca es protegerse frente a ataques que pongan en riesgo sus activos y realizar un peritaje
informático forense en el que dependiendo del resultado de tu labor hay puestos de trabajo en juego,
penalizaciones económicas o incluso pérdida de libertad para alguna persona.
He comentado que, a priori, parece todo muy interesante. Desde el punto de vista de la labor técnica
asociada a este tipo de actividades siempre se trata de un reto1 . Es un trabajo similar a recomponer una
fotografía que ha sido troceada, pero con una doble complicación: hay que encontrar los trozos adecuados
(pruebas) que se encuentran entremezclados con otros y, en la mayoría de los casos, se desconoce la
imagen que conforma dicha fotografía o gran parte de la misma.
En particular, para afrontar los proyectos de peritaje informático forense me encontré con que, a pesar
de que existen gran cantidad de herramientas e información técnica para realizar un análisis forense,
el volumen de información relativa a metodologías, buenas prácticas o entandares de actuación para
afrontar una investigación pericial informática forense entendida desde la globalidad o completitud de
la misma, u otras fases de la investigación forense no era suficiente, por lo que el resultado del proyecto
se cimentaba en los conocimientos técnicos y en el sentido común.
La mayor parte de la documentación que encontré para enfrentar los proyectos estaba desarrollada en
Estados Unidos o en otros países europeos, por lo que estaba escrito en inglés. La barrera idiomática es
un aspecto que se puede vencer con la formación adecuada, sin embargo, el enfoque de la documentación
en general, y en particular los aspectos relativos a la orientación de las actividades relativas a tareas
periciales estaba muy orientada a la legislación propia de cada país, lo que la hacía en general inútil por
impracticable en España.
En este sentido, planteé el proyecto a partir de esta necesidad que yo mismo había identificado desde
hace unos años.
El mayor problema desde mi punto de vista, es a la hora de afrontar una investigación informática que
en alguna etapa de la misma se va a judicializar. No se trata ’únicamente’ de componer la fotografía
adecuadamente, sino que hay que hacerlo de forma que el resultado de la misma cumpla con los requisitos
exigidos para ser aceptados en un proceso judicial.
Adicionalmente, tenía dudas acerca del alcance y la relación entre los diferentes conceptos clave que
enumero al inicio de este apartado. En particular, no tenía claridad acerca del concepto ’forense’ fuera de
un proceso judicial, así como de la figura de analista informático forense frente a la del perito informático
forense en el contexto de una investigación informática forense.
Sin embargo, a raíz de iniciar la preparación de este proyecto fin de carrera en septiembre de 2012, he
encontrado que en los últimos años se ha desarrollado bastante documentación, en comparación con lo
que encontré cuando inicié el proyecto, acerca de la temática objeto del mismo. En particular, me he
apoyado en:
Libro escrito por Rafael López Rivera. Un perito, mediador y tasador informático y tecnológico
español.
Libros escritos por el Prof. Ing. Luis Enrique Arellano González (Ing Informática-Abogado-Lic
Criminalística, Director Curso de Informática Forense Facultad Regional Avellaneda en Universi-
dad Tecnológica Nacional de Argentina) y la Prof Ing María Elena Darahuge (Lic en Informática y
Enfermería, Ingeniera en Informática, Instructor CCNA. Secretaria Académica Curso de Informá-
tica Forense Facultad Regional Avellaneda en Universidad Tecnológica Nacional de Argentina).
Libro escrito por Ernesto Martínez de Carvajal Hedrich, Técnico Superior Informático, Consultor
e-comerce (UAH) y Perito Informático.
Libros del curso Computer Hacking Forensic Investigator desarrollados por International Council
of E-Commerce Consultants (EC-Council)
El artículo "Un forense llevado a juicio"de Juan Luis Garcia Rambla que encontré en la web y que
posteriormente ha sido facilitado en formato PDF y licenciado como Creative Commons.
• Además del texto, en el PFC he trasladado parte del conocimiento que adquirí durante una
charla con Juan Antonio Calles y Juan Luis García y el profesor de CHFI durante una Roo-
tedCon.
El principal objetivo de este proyecto, tal como se especifica más adelante, es desarrollar una serie de
buenas prácticas dentro del ámbito informático forense. Éstas serían la base de una metodología infor-
mática forense, para que cualquier persona con los conocimientos técnicos adecuados pueda afrontar una
investigación pericial informática forense con garantías de poder afrontar un proceso judicial.
Los objetivos secundarios son:
Explorar las posibilidades de alinear las buenas prácticas desarrolladas con el uso del editor de
textos Emacs, y un método de gestión de las actividades conocido como Getting Things Done
(GTD), utilizando el modo orgmode de Emacs.
• GTD se basa en el principio de que una persona necesita borrar de su mente todas las tareas que
tiene pendientes guardándolas en un lugar específico. De este modo, se libera a la mente del
trabajo de recordar todo lo que hay que hacer, y se puede concentrar en la efectiva realización
de aquellas tareas.
• ORGMODE es un modo de edición del editor de texto Emacs mediante el cual se editan docu-
mentos jerárquicos en texto plano. Su uso encaja con distintas necesidades, como la creación
de notas de cosas por hacer, la planificación de proyectos y programación, entre otros as-
pectos. Por ejemplo, los elementos to-do (cosas por hacer) pueden disponer de prioridades
y fechas de vencimiento, pueden estar subdivididos en subtareas o en listas de verificación,
y pueden etiquetarse o darles propiedades. También puede generarse automáticamente una
agenda de las entradas de cosas por hacer.
Facilitar las plantillas de documentación y herramientas que permitan a un perito informático fo-
rense abordar una investigación informática forense, siguiendo las buenas prácticas definidas en el
presente documento, con garantías de que las tareas realizadas, así como las evidencias presentadas
serán aceptadas en un proceso judicial.
Explicar las diferencias básicas entre el concepto sobreentendido socialmente como análisis fo-
rense y el peritaje informático forense.
No es objetivo de este proyecto desarrollar herramientas concretas con objetivos forenses ni una meto-
dología completa de peritaje informático forense.
Emacs.
El reto de aunar en un objetivo concreto ambas materias a la vez que profundizaba en el conocimiento
de las mismas es, por tanto, el origen y la motivación del desarrollo del PFC.
Objetivos
Los distintos objetivos que se desea alcanzar con realización a este proyecto son:
Servicios de seguridad
El proceso de investigación
El perito informático
El informe pericial
Artefactos
La evidencia digital
La cadena de custodia
EMACS
Programación literaria
Buenas prácticas
RFC 3227
ISO/IEC 27037
UNE 197001:2011
METODOLOGÍA PROPUESTA
PoC
Prueba de concepto
Conclusiones
Líneas futuras
Análisis de requisitos: Fase en la que se ha recopilado los requisitos en función del enunciado
propuesto en el PFC.
Diseño de la solución: Elaborado a partir de los requisitos, teniendo en cuenta que desde el princi-
pio se estableció como prioritario utilizar una arquitectura que independizara los distintos compo-
nentes.
Identificar las fuentes de información digital que podrían ser susceptibles de aportar evidencias.
No acceder, manipular o inspeccionar estas fuentes antes de contactar con un perito informático.
Incluso el visionado de documentos electrónicos, sin modificarlos, podrían contaminar la prueba
(e invalidarla en caso de utilizarse en un proceso judicial).
Identificar con cuidado cuál es el círculo de confianza. En casos relativos a amenazas, espionaje
industrial, o similar, el autor de los hechos puede estar más cerca de lo esperado. Si no confía en
el personal informático se debe de proceder con especial cuidado.
De nuevo, a costa de ser reiterativo, la recomendación principal es ponerse en contacto con un perito
informático para realizar una preservación adecuada de estas fuentes, así como con un abogado experto
en nuevas tecnologías en caso de considerarse las acciones judiciales. Esta fase debe hacerse lo antes
posible, ya que la información digital recuperable desaparece con la actividad de los ordenadores que la
contienen.
Figura 1: Algunos de los libros utilizados como documentación
Capítulo 2: INVESTIGACIÓN
INFORMÁTICA FRENTE A ANÁLISIS
INFORMÁTICO
¿Por qué lo llaman análisis cuando quieren decir investigación?
Este apartado pude resultar irrelevante en el ámbito en el que se circunscribe. Sin embargo, creo que
hablar con propiedad es necesario, y en el entorno informático el lenguaje se utiliza en muchos casos de
forma errónea.
En mi opinión, una persona que quiere programar en C, Ruby, Python o cualquier otro lenguaje, lo pri-
mero que tiene que hacer es aprender los conceptos básicos y comunes a cualquier lenguaje de progra-
mación. Este tipo de aproximación al conocimiento es lo que marca la diferencia entre un programador
de Java y un PROGRAMADOR.
La sociedad está muy acostumbrada a ’nombrar el todo por las partes’, lo que provoca importantes errores
de concepto a la hora de realizar comparaciones.
Una persona que quiera ejercer como investigador informático forense debe de adquirir una serie de co-
nocimientos metodológicos, desde una perspectiva tanto técnica como legal, comunes dentro del ámbito
forense digital.
Cuántas veces se escuchan frases como: ’tuvo que hacer un análisis forense del troyano para determinar
el impacto en el sistema’. Es muy posible que esta persona, antes de poder iniciar la labor de análisis del
troyano propiamente dicha haya tenido que realizar otra serie de labores de recolección y documentación,
y que una vez finalizado el análisis haya tenido que implementar algún tipo de medida para paliar el
impacto del malware en su organización, lo que de nuevo queda fuera del ámbito del análisis. Por otro
lado, seguramente dicho análisis nunca llegará a presentarse en un proceso judicial, por lo que no es
correcta la denominación de ’forense’. Es decir, esta persona ha realizado una investigación digital de un
malware, en ningún caso es aceptable que se limite a la fase de análisis y mucho menos que se le pueda
calificar de forense.
De igual modo pasa con la denominación de muchas aplicaciones que son identificadas como herramien-
tas forenses ¿’dd’ es una herramienta forense? Claramente no, aunque un investigador forense digital
podría utilizarla durante su labor.
El objetivo de este capítulo es doble:
Una persona que investiga un escenario informático y tecnológico, en el que existe la sospecha de haberse
cometido algún tipo de acción (incidente) en contra de los intereses del propietario o responsable del
entorno ¿es un investigador o analista informático forense?
La RAE sea muy generalista con la definición de investigador o investigación, sin embargo la acepción
de investigar describe como:
La RAE define la acepción informática asociada el término análisis en la actual definición como:
Sin embargo, en la última revisión se ha enmendado la definición y no aparece la acepción cinco (5),
referente al ámbito informático.1 He mandado un correo electrónico a la RAE consultando la razón que
les ha llevado a tomar dicha decisión, y la respuesta ha sido la siguiente:
Por lo que se entiende que la acepción explícita al ámbito informático queda eliminada y asociada de
forma general a las dos interpretaciones que recogen la acepción general de la voz.
1. m. Distinción y separación de las partes de un todo hasta llegar a conocer sus principios
o elementos.
2. m. Examen que se hace de una obra, de un escrito o de cualquier realidad susceptible
de estudio intelectual.
En este punto no podríamos responder a la pregunta planteada. Pero sería factible pensar que una persona
(analista informático) que lleva a cabo un estudio, mediante técnicas informáticas, de los límites, carac-
terísticas y posibles soluciones de un problema al que se aplica un tratamiento por ordenador, podría dar
solución al problema planteado, ¿o no?
¿Y si la intrusión requiere intervención de la justicia? ¿Podría un analista informático ser la figura que
resuelve la situación planteada?
En la introducción se ha comentado el término forense y su relación con el ámbito de la justicia. Sin
embargo, no he podido encontrar una organización solvente que respalde el origen del término analista
informático forense y su presunta relación con capacidad de resolución de incidentes de seguridad ex-
trajudiciales. De alguna forma, todas las referencias a ciencias forenses establecen una relación en el
ámbito judicial:
Wikipedia - Cómputo forense: El cómputo forense, también llamado informática forense, compu-
tación forense, análisis forense digital o examen forense digital es la aplicación de técnicas cien-
tíficas y analíticas especializadas a infraestructura tecnológica que permiten identificar, preservar,
analizar y presentar datos que sean válidos dentro de un proceso legal.
1 He intentado investigar el motivo de dicha desaparición pero no he encontrado referencias.
MCKEMMISH, R. (1999) What is forensic computing?[fn:2_2: MCKEMMISH, R. (1999) What
is forensic computing? Australian
Institute of Criminology. Issues and Trends in crime and criminal justice. No. 118.]: The computer ap-
plication based of crime computer has given technology rise to to a new the investigation field of specia-
lisation—forensic computing—which is the process of identifying, preserving, analysing and presenting
digital evidence in a manner that is legally acceptable.
National Center for Forensic Science: Forensics, or forensic science, is the application of science
to questions that are of interest to the legal system.
Por otro lado, en el entorno judicial y legal, este tipo de labores se asocia a la peritación, que según la
RAE es:
En este caso, se define a esta figura como alguien con conocimientos, pero no se desarrolla la definición
de la labor que realiza más allá de ’informar, bajo juramento, al juzgador sobre puntos litigiosos en
cuanto se relacionan con su especial saber o experiencia.’.
En este punto, las diferentes descripciones contemplarían la casuística de que un investigador infor-
mático realizase una investigación con su correspondiente análisis informático (siguiendo metodologías
adecuadas durante todo el proceso de investigación) pudiendo ser asesorado para ello por un analista
informático, y que si éste, por alguna razón, no está en disposición de informar al juzgador, se requiera
a un perito informático forense que participe en el proceso legal informando al juzgador en función del
trabajo realizado por el analista informático.
Tengo entendido que una regla básica que te enseñan en primer año de periodismo es “contrastar la
información con diversas fuentes”2 . Por lo que tras contrastar con otras fuentes, como el diccionario
María Moliner, diccionarios de términos informáticos online tanto en español como en inglés, ninguno
ha aportado más información o concreción. De hecho, en la actualidad, esta misma casuística se aplica a
muchas disciplinas profesionales, en las que se identifica el calificativo de forense con personas que po-
seen unos conocimientos especializados y que, por medio de métodos científicos y sistemáticos, analizan
las evidencias para proporcionar su opinión experta sobre las cuestiones que se le planteen al respecto,
al margen de que el ámbito sea judicial o extrajudicial.
Por lo tanto, a raíz de los argumentos planteados, creo que, atendiendo a su origen, el adjetivo forense
está siendo mal utilizado en la actualidad cuando el ámbito de su uso es extrajudicial.
El siguiente párrafo ’Análisis detallado de escenarios resultado de acciones no autorizadas que se pro-
ducen en los sistemas de información de la empresa, identificación del autor, las causas y el método
2 http://blogocorp.Blogspot.com.es/2006/11/verificando-datos-contrastando-fuentes.html https:
//www.meneame.net/c/14297008
empleado.’ se corresponde con la oferta de análisis forense de una de las grandes empresas de seguri-
dad españolas, y comete el error semántico que he identificado en la sociedad. En mi modesta opinión,
el párrafo anterior especifica de una forma muy acertada el concepto de investigación informática, que
se realiza utilizando técnicas y metodologías informáticas que no tienen porque estar relacionadas con
aspectos legales.
Es cierto que María E. Darahuge y Luis E. Arellano comentan en su libro3 que ’la Informática Forense
es aplicable tanto en los casos llevados a juicio como en investigaciones particulares solicitadas por
empresas u organismos privados’, a continuación especifican que cada caso específico debe ser analizado
como si fuera a juicio, lo que vuelve a orientar este tipo de tareas hacia los procesos judiciales. En el
mismo, los autores enumeran distintas disciplinas informáticas e identifican la informática forense como
una especialización crítica ya que es transdisciplinaria en sentido intrínseco (abarca métodos y técnicas
de todas las otras disciplinas informáticas) y extrínseco (ya que se nutre de diversas áreas del Derecho y
dela Criminalística) al resto de disciplinas informáticas.
En resumen, yo diferenciaría dos tipos de perfiles o niveles de especialización:
• Persona con conocimientos informáticos dentro de la rama asociada a la seguridad que, me-
diante técnicas informáticas y tecnológicas, investiga diferentes aspectos de posibles amena-
zas concretas (como el análisis de malware), o escenarios resultado de posibles acciones no
autorizadas que se producen en sistemas de información de una determinada empresa.
◦ Analista informático de seguridad es el profesional de seguridad que desarrolla su acti-
vidad íntegramente ligado a tareas de análisis informático dentro del conjunto de tareas
a realizar en el proyecto.
• Experto informático de seguridad que aplica metodologías informáticas forenses con el fin
de participar en un proceso judicial con las máximas garantías de que los argumentos aporta-
dos así como las evidencias identificadas cumplen con los requisitos exigidos para que sean
aceptados por el juzgador.
◦ Analista informático forense es el experto informático que desarrolla su actividad ínte-
gramente durante la fase de análisis en una investigación forense.
• Este perfil será tratado en detalle en el siguiente capítulo, y el presente proyecto se centra en
el desarrollo de la labor del mismo sin entrar en detalle en aspectos técnicos concretos más
vinculados con el perfil de investigador informático de seguridad.
Dado el contexto del PFC, se da por sobreentendido que este documento y todo el trabajo realizado
se circunscribe al entorno informático. Por lo tanto, eliminaremos dicho adjetivo desde este punto del
documento, y sólo se realizarán referencias al mismo en caso de que sea necesario para alguna aclaración,
o comparativa con otros ámbitos en los que se realizan actividades similares como análisis médico o
perito judicial en falsificaciones de obras de arte.
Servicios de seguridad
Los servicios de seguridad tienen un alcance muy amplio, que se pueden dividir en función de las carac-
terísticas del servicio que presta cada uno de ellos:
3 MANUAL DE INFORMÁTICA FORENSE I. Darahuge, María Elena/Arellano González, Luis E. ISBN-10: 9870112498
Es importante tener claro el marco de actuación en cada caso. Para el presente PFC me he centrado en
los servicios de seguridad reactiva. Esto es, el incidente es un hecho o se dispone de sospechas, basadas
en indicios más o menos claros, para aseverar que se ha cometido un acto en contra de los intereses de la
empresa.
El perfil que requiere un investigador experto en seguridad reactiva es de una gran polivalencia, y nor-
malmente requiere de conocimientos de diferentes perfiles expertos en diferentes ámbitos de la seguridad
proactiva como analistas de eventos de seguridad, hackers éticos, analistas de malware así como aptitudes
en áreas de conocimiento completamente diferentes como la legislación o psicología.
Dentro del ámbito de la seguridad informática, la especialidad de análisis de seguridad puede aportar
al profesional experiencias muy satisfactorias, pero también situaciones realmente desconcertantes para
una mentalidad matemática. A todo esto se suma una circunstancia difícil de digerir, especialmente para
un informático, ’la subjetividad’.
De un proceso de investigación riguroso se espera un resultado objetivo y concreto. Sin embargo, nor-
malmente, a pesar de seguir una metodología concreta que se apoya en procesos, procedimientos y herra-
mientas técnicas en última instancia, y de presentar como resultado un informe técnico, todo el proceso
no deja de estar cargado de cierta subjetividad. Es más, en un determinado momento, la decisión final y
sus consecuencias será adoptada por alguien (ya sea, por ejemplo, un Director del área de negocio de una
empresa o un abogado de la misma) que presenta claras limitaciones técnicas para apreciar lo expuesto
en un informe técnico de análisis de seguridad.
¿Es posible que las conclusiones de la investigación haya que defenderlas en un proceso
judicial?
Al hilo del párrafo anterior, es crítico para un investigador de seguridad, poder responder desde el inicio
de una investigación a la siguiente pregunta:
¿Es posible que las conclusiones de la investigación haya que defenderlas en un proceso
judicial?
Si bien esta cuestión no altera en ningún caso el objetivo de la investigación y puede parecer poco
relevante para iniciar las labores técnicas, es el punto de decisión crítico a la hora de seleccionar la
metodología a utilizar.
Si la respuesta a la pregunta anterior es afirmativa, el equipo de investigación de seguridad debe cumplir
con una serie de requisitos concretos asociados a sus conocimientos, además de ser consciente de todo
lo que implica realizar la labor de perito forense desde el inicio de la investigación hasta la sala donde se
desarrollará el proceso judicial.
¿Por qué es importante? En primer lugar, si la investigación forense lo realiza una persona sin la prepara-
ción y cualificación adecuada todo el trabajo puede ser inútil, independientemente de la calidad técnica
del mismo y de la veracidad de los resultados. En segundo lugar, en el desarrollo del proceso judicial, el
tipo de preguntas a las que se enfrente el investigador no serán tan claras y directas como las que en sus
labores técnicas contesta habitualmente. En muchas ocasiones éstas serán directamente malintenciona-
das e incluso retorcidas, y de nuevo, una mala respuesta puede llegar a invalidar judicialmente una buena
labor de investigación forense. En estos momentos es cuando se aprecia lo determinante que es haber
realizado correctamente la investigación desde sus inicios. De este modo la duda, la inseguridad y falta
de claridad en la respuesta serán infrecuentes. La frustración de ’que estaba casi todo bien’ y de que por
lo menos ’lo intentamos’ será inusual si la metodología aplicada a labor técnica ha sido la adecuada.
Enfrentar adecuadamente y con conocimientos la respuesta afirmativa a la pregunta planteada es el obje-
tivo del presente PFC, y se desarrollará en detalle a partir del siguiente capítulo.
Si la respuesta a la pregunta anterior es negativa, el experto en seguridad debe cumplir con una serie de
requisitos concretos asociados a sus conocimientos. Sin embargo, no requiere ser consciente de todo lo
que implica realizar la labor de perito forense desde el inicio de la investigación hasta la sala donde se
desarrollará el proceso judicial.
Esto no implica que el desarrollo técnico de las tareas realizadas no deban de ser impecables y que el
experto no deba de seguir una metodología adecuada, ya que, aunque se determine inicialmente que los
resultados de la investigación se tratarán internamente y se descarte tomar acciones legales, enfrentarse
a cualquier investigación implica tener que anticipar la posibilidad de llegar a juicio. A menudo, y en
función del escenario, es posible que ese hecho no se observe en un principio, pero tal y como se des-
encadenen los acontecimientos pueda llegar a darse. En estos casos, llegados al punto de inflexión en
el que se decide orientar la investigación a un proceso judicial, se deberá de plantear la idoneidad de
mantener al experto de seguridad que ha desarrollado el trabajo hasta el momento y la posible necesidad
de involucrar a un perito forense.
Por lo tanto, es recomendable que, previo al inicio de la investigación, como experto de seguridad se
comunique a los interesados que la recogida y tratamiento posterior de evidencias no va a realizarse
atendiendo a los requisitos de un proceso judicial.
Probablemente no.
El caso hipotético planteado se resuelve consiguiendo responder a todas las cuestiones que permiten
tomar una decisión con conocimiento de causa. Sin embargo, esto no es siempre así y mucho menos
cuando se está iniciando una investigación. Es importante gestionar las expectativas de la empresa res-
pecto a las posibilidades de resolución, por lo que en todo momento se debe hablar de posibilidades.
El desarrollo de una investigación digital correcta en sus procedimientos y conclusiones, no asegura el
éxito del mismo. La experiencia del experto en seguridad hace que la balanza se incline hacia uno u otro
lado, sin embargo, hay muchos aspectos que pueden dificultar o impedir el éxito de la labor del mismo,
como las acciones que haya podido tomar, con la mejor de las intenciones, el equipo de sistemas a la
hora de tratar de solucionar lo que a ellos se les presentaba como un problema y no como un incidente
de seguridad.
Si es claro que independientemente de cómo se desarrolle el caso, éste no acabará en un juicio, el nivel
de exigencias y pulcritud se relaja dejando paso a la efectividad en la investigación.
Además, no hay que olvidar que el proceso de la recogida de evidencias y de todo el análisis atendiendo
de forma rigurosa a los procedimientos adecuados demanda una mayor dedicación y en el mundo profe-
sional el tiempo es dinero. En cada escenario es necesario valorar si la inversión económica, el porcentaje
de posibilidades de éxito y el propio desgaste del proceso hacen recomendable el inicio del mismo. Sin
embargo, en aquellas actuaciones cuyo objetivo no es atender a un proceso judicial, sino obtener una
determinada información, permiten una mayor flexibilidad, reduciendo con ello los tiempos dedicados a
la recogida y tratamiento de evidencias.
La tendencia habitual es hacer uso de procedimientos que resultan algo imprecisos o inapropiados para
tener valor judicial, pero que hacen énfasis en la efectividad y eficiencia de los resultados del análisis.
El proceso de investigación
El proceso de investigación (al que se como se conoce comúnmente como análisis confundiendo el
todo con las partes, tal y como se ha comentado), se compone de cinco fases. Desde el inicio de la
investigación, las fases se suceden de forma sucesiva y con dependencia de precedencia entre las mismas,
de tal modo, que hasta que una fase no esta ejecutada y finalizada no se inicia la siguiente.
Este ciclo metódico a grandes rasgos y generalizando está compuesto por cinco fases: identificación,
recopilación (recolección o adquisición), preservación, análisis y presentación.
Los procedimientos y técnicas seguidos por un investigador deben de estar basados en protocolos de
actuación y en buenas prácticas. El proceso seguido por un investigador de seguridad debe situase dentro
de unas determinadas características o condiciones:
Marco metodológico: Tiene que seguir una metodología estructurada adecuada a la actuación.
Proceso sistemático: Sus etapas o fases han de permitir que el proceso sea completo y exhaustivo.
Proceso reproducible: Tiene que ser capaz de ser reproducible por un experto en la materia.
Proceso auditable: Tiene que proporcionar las trazas necesarias para demostrar las tareas realizadas
y los resultados obtenidos.
Sin embargo, la propia idiosincrasia del entorno empresarial permite, y obliga en cierto modo, al inves-
tigador a presentar los resultados aplicando criterios de rentabilidad en tiempo y forma.
Es el investigador, profesional de la seguridad quien, en función de su experiencia y criterio, y conocedor
de las expectativas y necesidades del cliente, determina en qué medida se alinea con las mejores prácticas
exigidas para maximizar la diligencia con la que lleva a cabo su labor frente a la eficacia de los resultados
que le son solicitados en tiempo.
A continuación se describen las fases de una investigación de seguridad básica, para la resolución de un
caso, en el que no se contempla ningún tipo de proceso judicial. Esto es, el objetivo de la descripción
de las fases será la optimización de la capacidad para conseguir un resultado determinado, en particular,
presentar los resultados de la investigación a la empresa con el mínimo impacto económico. En capítu-
los posteriores ampliaré los aspectos adicionales de estas mismas fases, necesarios para desarrollar una
investigación o peritaje forense.
Fase de identificación
La calidad de la información, así como acotar el ámbito de la misma es un factor crítico para el éxito de
una investigación. Para un investigador es igualmente nocivo tanto el desconocimiento de información
como el disponer de un volumen inmanejable de la misma. En el primer caso, el investigador puede llegar
a conclusiones erróneas y en ambos casos puede no llegarse a presentar ningún resultado concluyente.
Por lo tanto, es importante conocer los antecedentes concretos del caso, así como la situación actual. Esta
información permitirá al investigador posicionarse y tomar las decisiones que le permitan determinar la
estrategia a poner en práctica en la búsqueda de las evidencias.
Durante la identificación se debe:
Revisar el contexto legal (ya que el hecho de que no se considere un proceso penal, no
implica que se deba obviar que durante el proceso de investigación se pueda vulnerar la legislación
vigente) que afecta al escenario, dispositivo, elemento o información que se va a analizar. Solicitar
las autorizaciones necesarias, así como información referente a cuáles son los prerrequisitos, sobre
qué se debe actuar, quién debe intervenir, quién puede estar presente y cuál es el limite de la
actuación.
La descripción de los dispositivos: qué son cada uno de ellos, qué identificaciones existen
en el dispositivo y cuáles proceden del fabricante o distribuidor, tipo de dispositivo, los posibles
usos y utilidades de cada dispositivo para qué, quién, cuándo, dónde, con qué frecuencia, etc.
Fase de recopilación
Una vez identificados los diferentes dispositivos, la fase de recolección o adquisición, comúnmente lla-
mada recopilación, implica la obtención y documentación del tipo de información y entorno del cual se
deba extraer la información que forma la evidencia.
En muchos casos existe una sola oportunidad de capturar la información, por lo que esta operación se
tiene que realizar en la secuencia adecuada y con las mayores garantías de que se va a obtener el resultado
esperado.
La recopilación de información debe cumplir con dos requisitos:
Ser sistemático.
Desarrollar listas de chequeo que permitan no pasar por alto ninguno de los pasos esenciales o
elementos susceptibles de contener información relevante.
Durante la recopilación se tiene que ser extremadamente cuidadoso y asegurar que siempre se está tra-
bajando dentro de las condiciones y requisitos de legalidad que requieren estas situaciones. De nuevo,
aunque no se tenga en mente tomar acciones penales, es necesario tomar las medidas necesarias para
no violar el contexto de privacidad que se debe preservar y contar con las autorizaciones adecuadas del
propietario de los equipos o responsable de los sistemas o de la empresa.
Fase de preservación
La correcta ejecución de esta fase es clave para la ejecución de una investigación profesional. Quizás sea
por eso que, de todas las fases, sus tareas son las más conocidas incluso por gente con poco conocimiento
en el área de la investigación de seguridad, pero sobretodo, como se explicará posteriormente, por las
personas que se inician en el ámbito pericial o forense.
Las tareas de preservación tienen como objetivo el disponer de una copia idéntica e integra (también
llamada imagen de disco) de los datos contenidos en los dispositivos a analizar.
La fase de recopilación lleva implícitas acciones que implican la manipulación de las evidencias recopi-
ladas ya que la identificación de las mismas implica el uso de herramientas de búsqueda, localización,
composición y procesos que podrían de un modo u otro alterar o contaminar el contenido de las mismas.
Es por ello que, previo al inicio de las tareas de recopilación, el investigador debe de realizar dos copias
(como mínimo) de los datos contenidos en los dispositivos, con los que posteriormente se va a trabajar.
La copia original se guarda en custodia, la primera copia se utiliza para continuar con las fases de la
investigación y, en caso de tener que reproducir una prueba, dado que la primera copia ya ha sido alterada,
se volvería a obtener una nueva copia de la segunda copia realizada.
No es menos cierto que, si bien en este punto el ámbito de actuación no contempla acciones judiciales,
donde este tipo de protocolo es un requisito imprescindible como se verá en los siguientes capítulos,
una mala o descuidada praxis de las tareas de preservación no es considerada una práctica profesional.
Uno de los requisitos de una investigación correcta es que debe de ser repetible, y si no se dispone de la
posibilidad de reproducir la situación de partida de forma íntegra, es imposible cumplir con el requisito.
Es muy importante utilizar las medidas necesarias en cada caso para evitar la modificación, borrado o
sobregrabado accidental durante el proceso de copia.
Las copias realizadas se tienen que identificar unívocamente, de forma que se pueda verificar su exactitud
y no manipulación. Es habitual, para este tipo de tareas, el uso de programas que utilizan las funciones
’Hash’ (o Checksum) para verificar la integridad de las copias de los datos.
Ante la inminente realización de la replica de los datos el investigador tiene que considerar diferentes
aspectos importantes del contexto para determinar el proceso a seguir como:
• ¿Cómo actuar para preservar su aislamiento de actuaciones de terceros sin alterar la informa-
ción contenida?
Si el dispositivo es modular:
• ¿Qué elementos o partes de los dispositivos identificados que pueden contener información
(como memoria RAM, discos ópticos, tarjetas de memorias) son prioritarios?
¿Qué herramientas hardware y/o software son necesarias para la realización de la replica con ga-
rantías e integridad para cada dispositivo o elemento.
¿Qué elementos o soportes son necesarios para mantener o conservar la copia de las evidencias de
los dispositivos (medios de soporte de la copia, capacidades, numero de soportes, etc.)?
Las respuestas a estas cuestiones vienen determinadas por las buenas prácticas, las metodologías utiliza-
das y la experiencia del investigador.
Fase de análisis
Tal y como se indica anteriormente, las tareas propiamente dichas de análisis de los datos se aplican
sobre los medios duplicados, nunca sobre originales.
Un investigador o analista profesional4 :
Trabaja de forma repetible. Tiene que permitir replicar los pasos del análisis de los datos que
nos permiten llegar a la obtención de las conclusiones sobre lo que se desea conocer o determinar,
y obtener los mismos resultados.
4 Yo defiendo que si el profesional sólo participa en la fase de análisis es analista y en cualquier otro caso se trataría de
un investigador. Esto se debe a que, hasta donde llega mi conocimiento, no existe un perfil de ’identificador’, ’recopilador’,
’preservador’ o ’presentador’ profesional, asociado a casa una de las fases.
Toma decisiones razonadas. El conjunto de decisiones y acciones posteriores que conforman un
análisis están basadas, en la medida de lo posible, en buenas practicas, de modo tal que el mismo
pueda ser refrendado y mostrado ante terceros especialistas garantizando el correcto proceder del
proceso de análisis llevado a cabo.
Cada análisis es particular y propio en función de los antecedentes conocidos, el objetivo perseguido, los
medios en cuestión y las evidencias que se hayan podido recolectar y el estado de las mismas.
Existen procedimientos genéricos para soportar las técnicas de análisis y búsquedas de evidencias par-
ticulares y especificas de la investigación que se este llevando a cabo. Estos procedimientos técnicos
facilitan las pautas para realizar el análisis, por ejemplo, de:
Los diferentes sistemas operativos de los fabricantes como Microsoft, Apple, distintas distribucio-
nes de *nux.
Los diferentes tipos de redes (ethernet, inalámbricas) y protocolos soportados por las mismas
(IEEE 802).
Dispositivos de información diferenciados (discos, memorias del PC, memorias portátiles, teléfo-
nos y dispositivos inteligentes).
Tipología de la información (ficheros gráficos, ofimáticas, texto plano como logs, pdf).
Mapa de actores e interacción: Son actores a considerar los usuarios, máquinas, los programas,
los accesos y los destinos de las comunicaciones, las interacciones, con quien, donde, cuando, con
que frecuencia, que información es de cada usuario, sus accesos a la maquina, permisos de trabajo
y privilegios, etc. A través de la información de los accesos y de los registros es posible conocer
quienes son los actores principales del escenario.
Una buena cronología acompañada de un mapa o esquema relacional permite entender mejor la situa-
ción, como ha transcurrido la misma y con ella determinar cuales son los momentos importantes y las
evidencias que pueden refrendar o aportar información sobre lo acontecido.
Fase de presentación
El análisis de la información y las evidencias, permiten al investigador llegar a una conclusión determi-
nada. Esta conclusión debe quedar reflejada en un informe con un enfoque claro, preciso y entendible
por terceros que no estén vinculados con el tema, con independencia de que el informe tenga carácter
judicial o extrajudicial.
Si bien normalmente no es requerido por las empresas, en esta fase se recomienda guiarse por documen-
tos de referencia o protocolos como pudieran ser la norma UNE 197001:2011.
Es importante recalcar que el informe debe ser comprensible para personas no expertas en la materia y,
al mismo tiempo, también tiene que auto contener la información técnica suficiente y necesaria (aunque
sea en apartados anexos) para poder ser entendida y comprendida por técnicos especialistas o expertos
en la materia tal y como lo es el propio investigador que elabora el informe.
Durante la reunión de entrega del informe al peticionario o gestor del encargo se da una explicación sobre
el contenido del informe y se aclaran las dudas pertinentes, en caso de que surjan. Esto facilitará en gran
medida la comprensión del contenido del mismo por los interesados.
Un informe tiene que ser profesional, riguroso, respetuoso, previsor y argumentativo. Es responsabilidad
del investigador conservar copia de todo lo necesario, utilizando los medios que garanticen la integridad
y confidencialidad de las misma para poder, en un momento dado, rememorar todo el proceso y las
actuaciones, siendo capaz de realizar una exposición o dar las pertinentes explicaciones que le sean
solicitadas.
Capítulo 3: INVESTIGACIÓN
INFORMÁTICA FORENSE
Investigación informática forense
En algunos libros se habla de Informática Forense1 , definiéndose el concepto como ’conjunto multidis-
ciplinario de teorías, técnicas y métodos de análisis que brindan soporte conceptual y proce-
dimental a la investigación de la prueba indiciaria informática’. Y sintetizan en una frase su significado:
La Informática Forense es a la Informática lo que la Medicina Legal es a la Medicina.
Expongamos a continuación, de nuevo, un caso hipotético y que recoge situaciones que no son inusuales
en la realidad y que ilustran la posibilidad de que una investigación desemboque en un proceso judicial.
Se detecta un aumento de tráfico inusual asociado a un servidor de la
DMZ de la empresa y, los primeros datos de la investigación, identifican
que el origen del mismo es un servicio P2P no identificado en la CMDB de
los sistemas de dicha empresa.
Sin embargo, si bien para acometer una investigación forense el investigador hace uso de metodologías
y procedimientos que, siendo más o menos reglados, pueden resultar algo imprecisos o incluso inapro-
piados para el proceso judicial.
Por ejemplo, en relación con la última afirmación, un investigador forense puede hacer uso de las nor-
mas especificadas en la RFC 3227 ’Guía para la recogida y almacenamiento de evidencias’ (Guidelines
for Evidence Collection and Archiving), para tareas de adquisición de evidencias. En países avanzados
judicialmente en materia de procedimientos forenses informáticos, que incluso disponen de leyes y re-
gulaciones para ello, esta RFC pueda tener su validez. Sin embargo, en España, aplicar esta norma de
forma escrupulosa puede no ser prudente ya que no sigue escrupulosamente el principio de ’antes de
tocar cualquier evidencia, prevalece la rigurosa recogida de la misma’. La imparcialidad del investigador
forense es obligatoria por ley, sin embargo, dado que sus servicios son contratados normalmente por una
de las partes, la independencia asociada a su labor puede ser cuestionable.
Por lo tanto, para el investigador forense es decisivo disponer de los medios para poder probar y afirmar,
en cualquier caso, que cuando llegó, el escenario ’ya estaba así’. En caso contrario, las evidencias pueden
ser recusadas por posible alteración de las mismas durante la fase de análisis, ya que el escenario nunca
debe ser alterado.
Todos estos aspectos clave se desarrollarán a lo largo del PFC.
Adicionalmente, se tratará de concienciar acerca de la relevancia del proceso que se tiene entre manos,
de la necesidad de anticiparse a las cuestiones a abordar antes de hacerlo y la importancia de conocer las
metodologías y herramientas necesarias para ello.
El perito informático
Tal como se explicó en el apartado ’¿Por qué lo llaman análisis cuando quieren decir investigación?’ del
anterior capítulo, un peritaje o peritación es el estudio o trabajo que hace un perito y la definición de este
tipo de profesionales es aquella persona entendida, que posee conocimientos y experiencia dentro de la
informática y las tecnologías, en cualquiera de sus diferentes ramas y especializaciones en las que se le
reconoce como experto y que es capaz de asesorar, dar opinión o elevar un dictamen para otras personas,
de forma comprensible para las no entendidas en la materia y, al mismo tiempo, especializada para los
expertos como él, en los campos o especializaciones que se estén tratando.
En el apartado anterior se ha establecido la relación entre la investigación forense y los procesos judicia-
les. Sin embargo, el aparato judicial no reconoce la figura de investigador de oficio o analista
de oficio, sino que manejan la figura del perito de oficio. Dentro de dicho contexto, un perito in-
formático forense es un auxiliar del aparato judicial, representado por el tribunal interventor. En ningún
caso va a decidir sobre el resultado de un caso, ya que esa es responsabilidad exclusivamente del órgano
juzgador.
Un perito forense utilizará métodos de investigación forense para el ejercicio de su profesión. Fuera de
España es normal utilizar términos como Digital forensics investigations, first responder, electronic dis-
covery, digital forensic technician, digital evidence examiners, y otros tantos para referirse a los actores
y actividades relativas a la investigación forense.
A lo largo del presente PFC se utilizará indistintamente el concepto de investigador forense y
perito forense, siempre dentro de un entorno informático o digital.
En los siguientes apartados se pretende poner en contexto la figura del profesional, auxiliar del aparato
judicial español. Es por ello que, en este caso, me refiero a el mismo directamente como perito forense.
Según la legislación española, un delito informático podría definirse como aquel hecho tipificado como
delictivo en el código penal, pero que para ser cometido, se hayan utilizado técnicas o mecanismos
informáticos. Ejemplos de delitos informáticos podrían ser la estafa, extorsión, ataques a la propiedad
intelectual o casos de pornografía infantil, terrorismo o crimen organizado.
El objetivo final del peritaje informático es la reconstrucción del hecho a partir de la prueba indiciaria,
que se identifica, recolecta, certifica y resguarda en la escena del delito.
En ese sentido, desde el punto de vista criminalístico, los objetivos son:
Reconstruir los hechos acaecidos, determinando los fenómenos ocurridos y los mecanismos utili-
zados, señalando los instrumentos u objetos de ejecución, sus manifestaciones y acciones que se
pusieron en juego para realizarlo.
En resumen, se puede afirmar que, en la mayoría de los casos, el peritaje forense informático está enfoca-
do hacia el tratamiento y la confección de los medios de prueba por medio de las evidencias informáticas.
Esta rama del peritaje, como veremos más adelante, es la más técnica y cercana a la tecnología en sí
misma. Sin embargo, como se desarrollará más adelante, de forma generalizada los servicios de un perito
informático tienen uno de los siguientes objetivos:
Objetividad ser una persona completamente ajeno al proceso en el cual se le requiere o se presenta su
participación.
Imparcialidad ser una persona totalmente ajeno a los intereses particulares objeto del caso.
Conocimiento ser una persona que posea una formación como experto, ya sea reglada o fruto de la
experiencia de sus desempeños, conocimientos especializados, científicos, artísticos o prácticos
según a el caso o la temática para la cual es requerido su dictamen especializado.
Voluntariedad ser una persona que sin ningún tipo de coacción acepte aplicar sus conocimientos al
proceso.
En cualquier caso, el perito, como experto y persona con una relación laboral con el caso, será adecua-
damente remunerado con sus honorarios independientemente del resultado de su investigación.
Peritos titulares Profesionales que tienen título oficial de ciencia o arte cuyo ejercicio esté reglamentado
por la Administración. El título oficial puede estar expedido por una Universidad, Asociación o
Colegio Profesional, o un centro reglado de formación.
Peritos no titulares Profesionales que, careciendo de título oficial poseen, disponen de conocimientos
o prácticas especiales en alguna ciencia o arte. Estos conocimientos son los que lo hacen experto
y reconocido en la materia, dentro del entorno y del contexto de profesionales que se dedican a
dicha ciencia o arte.
Por otro lado, según el artículo 340.1 de la Ley de Enjuiciamiento Civil (LEC), los peritos deberán poseer
el titulo oficial que corresponda a la materia objeto del dictamen y a la naturaleza de éste. Si se tratase
de materias que no están comprendidas en títulos profesionales oficiales, el perito será nombrado entre
personas entendidas en esta materia aunque no queda explicitado cómo podrá acreditarse la condición
de persona entendida. Esto implica que un experto sin titulación puede actuar como perito, con idénticos
derechos y deberes, pero estas personas han de acreditar los conocimientos especializados como los de
una persona que, careciendo de título oficial, es experta en la materia en cuestión sobre la que se acredita
no estando la misma comprendida en títulos profesionales oficiales.
Adicionalmente, la LECrim, en su artículo 458 establece que el Juez, existiendo peritos titulares, se
valdrá con preferencia de estos para los procesos judiciales. Adicionalmente, en los procesos judiciales
actuando de oficio, habiendo peritos en posesión de titulación oficial, tendrán preferencia en la asignación
por parte del Tribunal.
Por lo tanto, para los profesionales que quieren orientar su actividad a trabajar como perito de oficio
en los temas judiciales y oficiales, deberán poseer el título oficial que corresponda a la materia objeto
del dictamen y a la naturaleza de éste. En el caso de peritos que actúen de forma extrajudicial o judi-
cialmente de parte, no es necesario tener titulación alguna (si bien, en cualquier caso, es recomendable)
considerando que su elección y contratación queda a criterio de la parte o cliente bajo su cuenta y riesgo.
Marco Judicial Actividades reguladas por la Ley de Enjuiciamiento Civil (LEG), dentro de un proce-
dimiento judicial, y por la Ley de Enjuiciamiento Criminal (LECrim), como caso penal.
Marco extrajudicial Actividades que se realizan dentro del ámbito particular. El dictamen, dada la me-
todología y medios utilizados, puede ser utilizado como paso previo para una demanda judicial.
Sin embargo, dicho dictamen puede ser utilizado para la toma de decisión, tasación, mediación o
valoración de los bienes informáticos, tal y como se verá.
Marco judicial
El perito judicial:
Por designación de las partes cualquiera de las partes que intervienen en un proceso judicial pue-
den designar su propio perito, aportar sus dictámenes y pericias tanto en la formulación de la
demanda o la contestación a la misma. En este caso no es necesario que el profesional esté
dado de alta en las listas del juzgado ni que pertenezca a ninguna lista de un Colegio o Aso-
ciación que estén dados de alta en el juzgado, si bien deberá de poder avalar su cualificación
como perito.
Por designación del Tribunal Para poder ser nombrado como perito designado por el Tribunal,
el profesional debe estar dado de alta en las listas que obran en los Juzgados en las cuales
no se puede incorporar un profesional individualmente sino que debe ser por medio de los
Colegios Asociaciones Profesionales. Esta designación puede ser requerida:
Sin instancia de las Partes La ley establece que el Tribunal podrá, de oficio, designar perito
cuando la pericia sea pertinente y así lo considere por ser necesarios conocimientos
específicos para dirimir las cuestiones que se le plantean.
A instancia de las Partes La Ley establece que si una de las partes es titular de derecho
de asistencia gratuita, con simplemente anunciarlo, se procederá a la asignación de un
perito judicial.
Marco extrajudicial
El peritaje extrajudicial surge de las relaciones entre los particulares, profesionales y las empresas
cuando surgen situaciones en las que es necesario un experto para que pueda asesorar o informar
sobre la materia en cuestión, aportando una visión objetiva, imparcial y experta para la posterior
toma de decisiones.
Las actuaciones extrajudiciales suelen ser más extensas debido a que en estas situaciones se trata
de analizar una problemática desde su globalidad, identificando los posibles puntos de interés y
circunstancias que pudiesen ser tenidos en cuenta en un hipotético juicio.
El informe pericial sirve para resolver el conflicto y llevar a cabo la negociación de modo tal que no
sea necesario llegar a los Tribunales. En caso de que se decida acudir al marco judicial, el informe
pericial es el elemento de prueba presentable junto con la demanda, tanto para el demandante como
para el demandado, si es un peritaje de defensa o de respuesta a la demanda.
Ámbito penal
Como ya se ha comentado anteriormente, según la legislación española, un delito informático
podría definirse como aquel hecho tipificado como delictivo en el código penal, pero que para ser
cometido se hayan utilizado técnicas o mecanismos informáticos.
Ejemplos de situaciones, dentro del ámbito penal, en los que es requerido un perito informático,
son:
Ámbito laboral
Las relaciones laborales que se establecen entre la empresa y sus colaboradores y trabajadores
en sus múltiples formas, establece obligaciones basadas en la buena fe y respeto mutuo de los
derechos, así como una relación de confianza y de profesionalidad.
El incumplimiento de las obligaciones contractuales o de los convenios colectivos, estando estos
vinculados a sistemas informáticos, es otro de los ámbitos de actuación de un perito informático.
Ejemplos de situaciones del ámbito laboral que pueden derivar a acciones dentro del ámbito penal,
en los que es requerido un perito informático, son:
Ámbito administrativo
El ámbito administrativo abarca los casos relativos a procesos en los que una de las partes es la
Administración Pública.
Ejemplos de situaciones del ámbito administrativo que pueden derivar a acciones dentro del ámbito
penal, en los que es requerido un perito informático, son:
• Problemas derivados del uso de los medios electrónicos puestos por la Administración al
alcance de los ciudadanos y de las empresas.
• Manipulación o mal uso del DNI electrónico.
Perito informático forense Peritaje que se realiza cuando se utilizan técnicas especializadas en el aná-
lisis de tecnologías, para identificar y localizar evidencias en los dispositivos, redes, memorias,
discos, sistemas, productos, programas, entre otros.
Perito de gestión o de management Peritaje cuya actividad implica la utilización de técnicas especiali-
zadas en el análisis y la búsqueda de evidencias de los incumplimientos y deficiencias en contratos,
proyectos, implementaciones, entregables, defectos ocultos, servicios, niveles comprometidos, es-
tándares, normativas y buenas practicas, entre otros. Adicionalmente, dentro del apartado actual se
identifican como:
Perito auditor Peritos cuya labor implica el uso de técnicas de análisis para establecer y dar fe
sobre el cumplimiento con la legislación, las normas y los estándares, así como recomenda-
ciones para la mejora o subsanación de las deficiencias a incumplimientos detectados durante
el proceso de auditoría.
Perito mediador Peritos cuya labor implica el uso de técnicas de análisis de situaciones, de ne-
gociación de conflictos y de resolución de problemáticas entre las partes sujetas al proceso
de mediación.
Perito tasador Peritos cuya labor implica el uso de técnicas para evaluar el valor de las cosas, en
función del valor del mercado, valor de reposición, valor amortizado, tiempo de adquisición,
funcionamiento, nivel de obsolescencia y coste de mantenimiento, entre otros.
3. Ordenar los pensamientos, empezando por los objetos más simples y mas
fáciles de conocer, para ascender gradualmente hasta el conocimiento
de los más compuestos, e incluso suponer un orden entre los
pensamientos que no se preceden naturalmente.
Existen una serie de principios básicos y teóricos que se han de tener en cuenta en la realización de
cualquier tipo de análisis que conlleve la generación u obtención de unas conclusiones sobre el mismo.
Estos principios no son dogmas de fe, sería una incongruencia después de plantear los fundamentos
de método científico, pero hay determinadas prácticas que son aplicables el ámbito de este PFC, con
independencia del tipo de labor que se esté realizando (peritaje, mediación, tasación o auditorías).
El sentido común, que en muchas ocasiones es el menos común de los sentidos, es un argumento básico
en muchas investigaciones, y mencionar alguno de los siguientes principios en la redacción del informe
o dictamen puede ser recomendable para apoyar el criterio o la decisión que se ha tomado a la hora de
realizar determinadas actuaciones.
El principio de intercambio o de transferencia de Locard.
Planteado por Edmond Locard (1877-1966), criminalista francés pionero en su época, desarrolló una
serie de principios metodológicos que, aplicados a determinadas pruebas, las convertían en evidencias
irrefutables ante un juez.
El principio de Locard establece que ’Siempre que dos objetos entran en contacto transfieren parte del
material que incorporan al otro objeto’.
Esto implica que, en toda ocasión, cuando se entra en contacto con un objeto o sustancia se da un in-
tercambio material. Se ha demostrado en muchas ocasiones que, analizando dichos rastros, se puede
conocer mucha información acerca de personas implicadas, secuencia de sucesos y procesos desarrolla-
dos.
En el ámbito del peritaje informático, un ejemplo del principio de intercambio serían los metadatos que
quedan en las imágenes al realizar una fotografía.
Principio de Indeterminación o de incertidumbre de Heisenberg.
Este principio revela una característica distinta de la mecánica cuántica que no existe en la mecánica
newtoniana. Como una definición simple, podemos señalar que se trata de un concepto que describe que
el acto mismo de observar cambia lo que se está observando. En 1927, el físico alemán Werner Heisen-
berg se dio cuenta de que las reglas de la probabilidad que gobiernan las partículas subatómicas nacen de
la paradoja de que dos propiedades relacionadas de una partícula no pueden ser medidas exactamente al
mismo tiempo. Por ejemplo, un observador puede determinar o bien la posición exacta de una partícula
en el espacio o su momento (el producto de la velocidad por la masa) exacto, pero nunca ambas cosas
simultáneamente. Cualquier intento de medir ambos resultados conlleva a imprecisiones.
Por lo tanto, la conclusión es que no es posible estudiar algo sin que ello conlleve alteración alguna.
Lo que estudias, lo cambias. De ahí la importancia de que el perito siga una metodología que
indique claramente que uno de los primeros y más importantes pases de la misma es trabajar con copias
idénticas de las evidencias, preservando los originales para no modificarlos.
/El principio de Economia o la ’Navaja de Ockham’/
La navaja de Ockham (a veces escrito Occam u Ockam), principio de economía o principio de parsimo-
nia (lex parsimoniae), es un principio metodológico y filosófico atribuido a Guillermo de Ockham (1280-
1349), según el cual, en igualdad de condiciones, la explicación más sencilla suele ser la correc
Esto implica que, cuando dos teorías en igualdad de condiciones tienen las mismas consecuencias, la teo-
ría más simple tiene más probabilidades de ser correcta que la compleja.
En el caso relativo a la investigación informática, la explicación más simple debería de ser la más sencilla
de demostrar o descartar. Además, por la ley del mínimo esfuerzo, se debe de empezar a trabajar
tomando inicialmente la hipótesis más sencilla.
Finalmente, en un plano más actual y más cercano a la realidad del día a día de un perito, encontramos que
en la sección V, artículo 335 de la Ley 1/2000 de Enjuiciamiento Civil quedan recogidos los principios
legales ante los que debe de responder un perito:
El informe pericial
Por injusto que parezca, ya que la carga técnica que implica la correcta resolución de una investigación
forense resulta claramente abrumadora, al igual que sucede en un proyecto de auditoría, el valor del
trabajo realizado en una investigación informática forense reside en la documentación entregada, ya que
es el lugar donde se recoge el resultado y la información de todo el proceso.
Aunque los resultados hayan sido obtenidos legal y profesionalmente, siguiendo mejores prácticas y
técnicas adecuadas para preservar la cadena de custodia, si en su fase final éstos no son adecuadamente
documentados, es posible que no tengan ningún valor.
El informe pericial es el elemento de juicio fundamental respecto de la labor del investigador forense.
Por lo tanto constituye, si no el más importante, uno de los elementos esenciales en un caso forense.
Para afrontar el desarrollo de un informe pericial hay que tener presente que:
El objetivo final es transmitir información objetiva y clara, sin desestimar datos técnicos pero
con la mínima carga tecnológica, y sin que ello implique una pérdida de rigor en la información
presentada.
Es necesario dejar patente la condición de independencia del perito.
El informe no debe estar condicionado, y en ningún caso debe recoger otra información que no
sean los resultados objetivos obtenidos durante la investigación.
Los objetivos iniciales deben de estar alineados con el desarrollo del informe pericial.
Pueden ser varios los modelos y apartados incorporados en el informe y se verán en el capítulo de
buenas prácticas.
Más adelante se verá el tema del informe en detalle, tomando referencias de estándares internacionales
y buenas prácticas.
Capítulo 4: ARTEFACTOS Y
EVIDENCIAS DIGITALES
Artefactos
Cuando se afronta una investigación forense puede suceder que, en función de los datos facilitados por el
cliente, no se encuentren ’pistas’ claras y se requiera de uno o varios vectores de análisis menos evidentes
para tratar de identificar evidencias. En estos casos uno de los pasos a dar es pelear con los rastros que
deja el sistema operativo y aplicaciones .
Los artefactos son procesos o mecanismos de registro de los sistemas operativos y aplicaciones que
dejan rastro de la actividad del sistema y de los usuarios, de los binarios que se utilizan, los accesos,
conexiones, navegación, descargado o ejecutado algún programa entre otros aspectos.
El término artefacto es utilizado en la informática forense, aunque no existe una definición oficial de este
término ni documentación profusa alrededor del mismo.
Dentro del ámbito informático, dicho término no debe confundirse con el término artefacto utilizado en
el desarrollo de software.
La definición más cercana al significado de la palabra dentro de la informática forense es el de la palabra
artefacto dentro de la arqueología.
Los artefactos pueden ser identificados en distintas localizaciones y, en el caso de Windows, podemos
identificar artefactos en:
El registro de Windows.
El visor de eventos.
Ficheros descargados.
Ejecución de programas.
USB y dispositivos.
Uso de cuentas.
Uso de navegadores.
En los distintos libros que he leído y en la información utilizada para preparar el trabajo no he encontrado
apenas referencias a los artefactos, sin embargo, en mi opinión son un concepto relevante dentro de
contexto de una investigación forense, y es por ello que se referencian los mismos.
En mi opinión es evidentemente la necesidad de conocer o disponer de un listado de artefactos a la
hora de enfrentar una investigación forense y, se identifiquen o no evidencias ’claras’, introducir en la
metodología de base el tratamiento de los artefactos que pueden aportar información a la investigación
decisiva a la hora de llegar a conclusiones.
Por otro lado, no es objeto de este proyecto fin de carrera identificar cada uno de los distintos artefactos
de sistemas operativos o aplicaciones.
La evidencia digital
A mi entender y tras analizar distintas fuentes, una evidencia es cualquier elemento que permite sustentar,
’sin lugar a dudas’, una conclusión frente a unos hechos determinados. El uso del entrecomillado se debe
a que, en muchas ocasiones, una evidencia por si sola no permite sustentar una conclusión rotunda, sin
embargo, la sinergia entre varias evidencias puede ser concluyente.
Pero, ¿un elemento que no permita ser concluyente se puede considerar evidencia?
Una evidencia (del latín, vídeo, ver), según wikipedia, es un conocimiento que se nos aparece intuitiva-
mente de tal manera que podemos afirmar la validez de su contenido, como verdadero, con certeza y sin
sombra de duda.
Sin embargo, evidencia, según la RAE, se define como:
(Del lat. evidenta).
Desde el concepto de la evidencia en la filosofía tradicional hasta el actual ha habido diferentes inter-
pretaciones. En mi opinión, el punto de inflexión se dio en la edad moderna, momento en el que los
racionalistas y empiristas reconocieron la evidencia formal y su consistencia en sentido epistemológico
(del griego episteme, ’conocimiento’, y logos, ’estudio’) en la deducción a partir de unos principios con-
siderados evidentes, considerando que las deducciones son evidencias sucesivas de tipo formal según las
leyes lógico-matemáticas, como relación de ideas. Hoy dicho procedimiento se concibe bajo el concepto
de análisis.
Como ’dijo’ Sherlock Holmes: ’Datos, datos, datos. No puedo fabricar ladrillos sin arcilla’.
Obtener evidencias es fundamental a la hora de afrontar un análisis forense. El analista debe poder
defender y contar con el principio de independencia a lo largo de todo el proceso, por lo que las buenas
prácticas y metodologías son fundamentales para no invalidar las mismas.
Sin elementos digitales que analizar no puede existir el análisis digital. Sin embargo, tal como se puede
extraer de su definición, no todos los elementos analizados durante una investigación se pueden conside-
rar evidencias.
La prudencia es crítica cuando se sospecha que un activo de la empresa ha sido utilizado como medio
para perpetrar una acción ilícita y que debe ser objeto de análisis.
Inicialmente debe asumirse que es posible que el activo contenga evidencias y por ello hay que tratarlo
como un sistema con información importante y sensible para el caso. En muchos casos, las acciones
siempre bien intencionadas de áreas como sistemas o desarrollo modifican el escenario sin las debidas
medidas que deben de ser tomadas para manipular evidencias, lo que permite que, durante el juicio, que
la parte interesada pueda alegar que las evidencias pueden haber sido manipuladas con el objetivo de
favorecer o incriminar a alguien. Este es también habitualmente un argumento frecuentemente utilizado
en análisis contrapericiales.
Adicionalmente, la información proporcionada por el personal afectado es crucial debido a los factores
temporales y relativos a su localización. El analista es un ser humano, y uno de los mayores riesgos que
debe de evitar en el inicio de un análisis forense es que sus capacidades se vean afectadas por la visión
de los hechos relatada por dicho personal. Por lo que, en resumen:
Los testimonios del personal afectado no debe de condicionar en modo alguno al analista.
En ningún caso el analista debe seguir un impulso por llegar a obtener conclusiones que le haga
actuar sobre las infraestructuras afectadas sin respetar el procedimiento adecuado para ello.
Es la información relevante que permite a un analista establecer los motivos y fundamentos en los
que se basan sus conclusiones.
• Formato de la misma (la codificación que permite guardar, tratar, recuperar o almacenar la
información).
• Dispositivo físico o virtual en el cual se encuentra contenida.
Puede encontrarse en distintos estados que requieren procedimientos y herramientas distintas para
garantizar la integridad de la misma:
• Se debe de realizar una copia bit a bit de modo que ésta sea idéntica a la original original, y
sin alterar la integridad de la información original ni contaminarla
• La copia puede ser copiada tantas veces como se precise, con métodos que garantizan que
se está accediendo a la información en modo único de lectura, evitando su contaminación
o modificación, la que permite desde el punta de vista de la cadena de custodia preservar
integro el valor probatorio del original.
La Ley 1/2000, de 7 de enero, de Enjuiciamiento Civil establece en el capítulo V, ’De la prueba: dispo-
siciones generales’, en su:
Así como en su capítulo VI, ’De los medios de prueba y las presunciones’, en su:
• Que una de las evidencias o medios de prueba que se podrá hacer uso en un juicio es el
’dictamen de peritos’.
• Que se admitirán, conforme a lo dispuesto en la Ley, los medios de reproducción de la pa-
labra, el sonido y la imagen, así como los instrumentos que permiten archivar y conocer o
reproducir palabras, datos, cifras y operaciones matemáticas llevadas a cabo con fines conta-
bles o de otra clase, relevantes para el proceso.
• Que las partes podrán proponer como evidencia la reproducción de palabras, imágenes y
sonidos, captados mediante instrumentos de filmación, grabación o semejantes.
• Que el tribunal, a instancia de parte, admitirá como prueba adoptando las medidas que en
cada caso resulten necesarias, cualquier otro medio de prueba no expresamente previsto en
los apartados anteriores, que permita obtener certeza sobre hechos relevantes.
• La posibilidad de que las partes puedan aportar evidencias para cuestionar la autenticidad o
exactitud de lo reproducido o mostrado.
• La importancia de mantener las evidencias libres de posibles alteraciones y custodiadas ade-
cuadamente.
Por lo que se puede concluir, que el condicionante para que un elemento sea considerado como evidencia,
es que sea relevante para el proceso y útil para la acción probatoria de los hechos que se presentan.
Esto permite que cualquier tipo de registro o elemento que pudiese generarse en el futuro a causa del
desarrollo tecnológico pueda ser considerado como evidencia si se demuestra su relevancia como tal.
En un juicio, la responsabilidad última de interpretación atiende al criterio del juez, que interpreta las
leyes y las aplica según su entender. Por lo tanto, en relación con el tratamiento de las evidencias, sean
cuales fueren los procesos y acciones llevadas a cabo por el analista, éstas serán validadas y refrendadas
exclusivamente por él.
Pero finalmente, teniendo en consideración lo expuesto hasta el momento, llegará la hora de adquirir las
evidencias como fase crítica del proceso. En este momento vuelve a aparecer la cuestión fundamental,
¿cuál es el procedimiento adecuado? De nuevo la respuesta es compleja, no existe un procedimiento
único, así como tampoco existen unas herramientas ’validadas’ y que sirvan específicamente a efectos
judiciales.
La realidad es que a día de hoy no existe regulación en relación al tratamiento de evidencias. Sin embargo,
existen una serie de buenas prácticas que serán tratadas en un capítulo posterior, así como normas no
escritas cuyo seguimiento y aplicación es recomendable.
En muchos países de la Unión Europea, entre ellos España, no existe una legislación para la investigación
forense digital. Si bien existen iniciativas de asociaciones de peritos como ASPEI, que desarrolla el
proyecto Konfía, no puede expresarse de forma taxativa qué proceso es el adecuado ni cuáles son las
herramientas necesarias y cómo deben utilizarse.
Como se verá en detalle en el capítulo relativo a buenas prácticas, una operación crítica para el investi-
gador forense es la copia de los soportes probatorios. A grandes rasgos, el proceso de copiado debe de
garantizar que las copias realizadas deben ser idénticas al original y que éste no ha sido alterado. Igual-
mente, las buenas prácticas deben de disponer de medidas para garantizar que las conclusiones a las que
se llega tras el análisis de las copias realizadas de las evidencias, parten de un soporte idéntico al original
y por lo tanto no ha habido una manipulación del mismo.
Prueba anticipada
Durante una investigación forense digital es muy común que las evidencias necesarias para llegar a una
conclusión se encuentre en manos de terceros, como proveedores de comunicaciones, fuera del alcance
del perito. En relación con este tipo de situaciones se debe de tener en cuanta que:
Las posibles reflexiones que pueda realizar el analista no tienen validez dentro del proceso judicial.
Por éstas razones, entre otras, es recomendable agilizar la solicitud de acceso a dichas evidencias al
órgano competente.
Este procedimiento se denomina solicitud de prueba anticipada, y está justificado en situaciones excep-
cionales que pueden amenazar la prueba misma o su calidad. La prueba anticipada no hace sino reconocer
y plasmar en el caso particular el derecho a probar que corresponde esencialmente a las partes y que es
propio del debido proceso.
Un caso claro de prueba anticipada y que ya he vivido en varias ocasiones debido a mi implicación
en investigaciones forenses, es la necesidad de solicitar datos concretos relativos a una dirección IP a
un proveedor de comunicaciones. Ésta información sólo puede ser solicitada mediante orden judicial a
solicitud de un órgano competente como puede ser la policía.
Los artículos 293 a 298 de la sección IV de la Ley 1/2000 de Enjuiciamiento Civil recogen el ordena-
miento de la prueba anticipada.
Aunque la institución de la prueba anticipada se parece a otras como, por ejemplo, la prueba preconstitui-
da o prueba para perpetua memoria, tiene características particulares que la convierten en una institución
diversa de ellas.
Esto implica que, aunque el proceso judicial no haya sido iniciado, cualquiera de las partes puede solicitar
que se practique el proceso de solicitud anticipada, debiendo ser motivado y solicitado al tribunal que
está llevando el caso siempre con anterioridad al inicio del juicio.
Si bien el escrito de solicitud, mediante una súplica de oficio, es remitido por el abogado que lleva el caso
ante el juzgado correspondiente, es recomendable que el escrito sea revisado por el analista forense con
el fin de asesorar al abogado y evitar con ello incurrir en errores técnicos que hagan imposible atender a
la súplica.
Para el caso de un procedimiento de solicitud de prueba anticipada en el que se solicite información, a
una empresa de comunicaciones, acerca del propietario de una línea, éste deberá de complementarse con
el máximo de información posible. En este caso, se deberá de facilitar en la solicitud:
La cadena de custodia
Como perito, la clave para afrontar un proceso judicial en las mejores condiciones, es garantizar la
consistencia de las conclusiones presentadas mediante las evidencias digitales adquiridas. Este objetivo
se consigue mediante la utilización de procesos, procedimientos y buenas prácticas que garanticen la no
alteración de las evidencias.
El procedimiento de custodia de la evidencia o ’cadena de custodia’, desde su identificación hasta su
presentación debe de ser igualmente riguroso. La documentación es otro aspecto clave que afianzará la
garantía de no alteración, crítica para el proceso de análisis forense.
Según la wikipedia, ’La cadena de custodia de la prueba se define como el procedimiento controlado que
se aplica a los indicios materiales relacionados con el delito, desde su localización hasta su valoración
por los encargados de su análisis, normalmente peritos, y que tiene como fin no viciar el manejo de que
ellos se haga y así evitar alteraciones, sustituciones, contaminaciones o destrucciones’.
De esta forma se asegura que los elementos probatorios ofrecidos como evidencias o pruebas documen-
tales informáticas, son confiables.
Es necesario establecer un riguroso y detallado registro, que identifique la evidencia y posesión de la mis-
ma, lugar, hora, fecha, nombre y dependencia involucrada, en la recolección o adquisición, la interacción
posterior y su depósito en la sede que corresponda (judicial o no).
La buena noticia es que, en el caso de las pruebas y evidencias informáticas, se cuenta con una gran ven-
taja frente a otro tipo de evidencias o pruebas ya que, normalmente, es posible realizar copias idénticas
de la evidencia de forma que se pueden realizar todas las pruebas y exámenes pertinentes para llegar
a las conclusiones probatorias sin necesidad alguna de trabajar con las evidencias originales, evitando
cualquier tipo de manipulación, daño o contaminación de las mismas.
El órgano competente debe poder confiar en la integridad de dichas evidencias por considerarlos “testigos
mudos”, desde el punto de vista criminalístico clásico, y evaluarlos en tal sentido.
Desde un punto de vista legal, nuestro ordenamiento jurídico sólo menciona la cadena de custodia, indi-
rectamente, en el artículo 334 de la Ley de Enjuiciamiento Criminal, donde regula:
Así como en el artículo 338 LECrm, donde se especifica que se debe de garantizar su integridad, reten-
ción, conservación o depósito:
Sin perjuicio de lo establecido en el Capítulo II bis del presente
título, los instrumentos, armas y efectos a que se refiere el artículo
334 se recogerán de tal forma que se garantice su integridad y el Juez
acordará su retención, conservación o envío al organismo adecuado para
su depósito.
La cadena de custodia es un procedimiento que permite trazar y verificar todas las pruebas que se han rea-
lizado sobre cada una de las evidencias. El personal competente puede consultar en cualquier momento la
ubicación de la evidencia en un momento dado, los diferentes analistas que han inspeccionado la eviden-
cia, y así evitar la contaminación, alteración, posibles daños, reemplazos, contaminación o destrucción
de las mismas.
No he encontrado regulación especifica para procedimentar y garantizar la custodia de pruebas, ni en
España ni en otros países.
El Instituto Universitario de Investigación en Ciencias Policiales (IUICP) se inauguró el 19 de junio de
2007. Es una institución mixta que depende de la Universidad de Alcalá (UAH) y de la Secretaría de
Estado de Seguridad del Ministerio del Interior y, que se dedica a la investigación científica y técnica y
al desarrollo de programas docentes en materia policial.
Durante la celebración del IV Encuentro de Investigadores del IUICP se concedieron nueve proyectos
cuyo contenido aparece en la MEMORIA IUICP 2010. Uno de los proyectos actualmente en curso,
con código IUICP/PI2010/002, lleva por título ’La cadena de custodia como garantía de la evidencia
probatoria. Propuesta de regulación normativa.’.
Para que las pruebas periciales practicadas se declaren plenamente válidas es imprescindible garantizar
la corrección de la denominada “cadena de custodia”. Su fin es asegurar que aquello que se presenta
ante el Tribunal como evidencia es lo mismo que se encontró en el escenario delictivo. Sin embargo, y
aunque la Ley procesal ya contenga algunas previsiones sobre el aseguramiento de las pruebas, al ordenar
que se adopten las medidas necesarias para que su recogida y custodia se verifiquen en condiciones que
garanticen su autenticidad, no existe una normativa expresa que regule las exigencias mínimas para
garantizar formalmente la “cadena de custodia”. Pese a ello, su existencia se asume por la comunidad
jurídica y su garantía se reclama ante los Tribunales de Justicia.
Ante la citada falta de regulación, los expertos en Criminalística han ido elaborando unos protocolos de
actuación internos, con el fin de documentar todas y cada una de las fases que recorre todo elemento
probatorio, dejando constancia de cada uno de sus pasos, con el objetivo último de fortalecer lo que de
ellos dictamine el experto en su informe pericial. A este proceder es al que se ha dado valor jurídico y se
conoce como cadena de custodia policial.
Teniendo en consideración lo anterior, es necesario incorporar un fichero de cadena de custodia para cada
evidencia existente.
No obstante, si se tienen en cuenta las últimas reformas de la LECrim, los citados protocolos de actuación
policial, la jurisprudencia y algunas Recomendaciones del Consejo de Europa, podemos extraer que se
ha construido un “corpus iuris ” (Cuerpo de Derecho) que es asumido como vinculante por la comunidad
jurídica.
Partiendo de lo anterior, el proyecto IUICP/PI2010/002 pretende conseguir una regulación normativa de
la cadena de custodia policial, que contenga las formalidades, medidas y precauciones necesarias que
deben adoptarse en cada una de las fases que recorre la prueba para que su recogida, custodia, traslado
y análisis se verifique en las condiciones que permitan garantizar su corrección. Y todo ello teniendo en
cuenta las características específicas de cada prueba, que puede dar lugar al empleo de diversos métodos
en cada una de las fases de dicho procedimiento.
En definitiva, regular la hoja de ruta de la prueba, con el fin de garantizar la corrección del recorrido que
sigue todo vestigio delictivo hasta convertirse en evidencia probatoria, reforzando así el derecho a un
proceso con todas las garantías.
Me he puesto en contacto con la Profesora M. Carmen Figueroa Navarro, Profesora Titular de Derecho
Penal de la UAH e Investigadora Principal del Proyecto IUICP/PI2010/002 antes mencionado para in-
teresarme por el estado de la propuesta de regulación normativa, ya que he estado buscando información
del actual estado del arte en relación con la cadena de custodia en España y he encontrado referencias a
dicho proyecto, que me ha parecido muy interesante y algunas referencias al objetivo del proyecto, una
entrevista y un artículo, no me ha sido posible localizar más información.
Muy amablemente la profesora Figueroa me contestó, a fecha 21 de junio de 2013, con el siguiente texto:
Le adjunto dicho artículo, así como otros que tal vez puedan servirle
para su proyecto de fin de carrera.
Urbano Castrillo, E.: «La regulación legal de la prueba electrónica: una necesidad pendiente», en
La Ley Penal, n.o 82, mayo 2011, pág. 13.
Sanchís Crespo, C.: «La pericia informática en el proceso penal», en Revista de Contratación
Electrónica, n.o 91, marzo 2008.
Velasco Núñez, E.: «ADSL y troyanos: intervención de sus datos y telecomunicaciones en la in-
vestigación penal», en La Ley Penal, n.o 82, mayo 2011, pág. 25.
• Los requisitos técnicos formales que se incumplen más habitualmente en Europa son los
relativos al cumplimiento de las medidas necesarias para la comprobación de la autenticidad
y la inalterabilidad del documento electrónico, del correo electrónico enviado así como la
falta de firma electrónica en documentos que quedan sin fuerza probatoria a la hora de ser
presentados
Esta norma, una vez propuesta y aplicada, deberá tenerse en consideración para la cadena de custodia
policial por parte de las diferentes unidades de las fuerzas y cuerpos de seguridad del estado.
Sin embargo, aunque puede ser tomada como referencia, no afectará a aquellos análisis que sean realiza-
dos en el ámbito privado.
Es muy normal que, a lo largo de un análisis, tanto las evidencias como las copias garantizadas de las
mismas sean compartidas entre distintos analistas y otras organizaciones involucradas en el proceso.
El compromiso y responsabilidad del mantenimiento del procedimiento adecuado de la cadena de custo-
dia de las evidencias es trasladado al tenedor de la misma, quedando todo el procedimiento registrado. La
cadena de custodia permite identificar con claridad quién ha estado en posesión de las evidencias antes
de que éstas sean utilizadas en instancias judiciales, permitiendo que cualquier depositario de las mismas
pueda ser citado judicialmente si las evidencias quedaran en entredicho durante el proceso.
Como puede extraerse, la cadena de custodia permite al analista garantizar la independencia y objetividad
en la elaboración de sus conclusiones, y demostrar que no se ha realizado manipulación alguna de las
evidencias para favorecer a una de las partes.
Es por ello que la cadena de custodia deber recoger en todo momento información que permita contestar
a las siguientes cuestiones:
¿Quién es el depositario?
Función descriptiva
El fedatario publico ha de dar fe de la correcta descripción de:
Ejemplos concretos de la labor del fedatario durante la investigación seria, dejar constancia y dar
fe de que:
• Los elementos en los cuales se vuelca la información recabada son adecuados: discos, CDs
o DVDs nuevos que se desprecintan durante la actuación, memorias USB que se aportan en
su embalaje original y, en caso de que no sean nuevos, que sean sanitizados adecuadamente
(HARDWIPE).
• Se han realizado la cantidad de copias expresadas por el analista, que cada una de ellas está
identificada adecuadamente y que está documentado su destino y el receptor de las mismas.
• El analista describe las actuaciones que se van a realizar y las ejecuta en presencia del fe-
datario, para que el mismo de fe de que no ha habido ninguna manipulación mas allá de las
relatadas y de las que constan en el informe del analista.
• El analista, a pesar de no haber encontrado ninguna evidencia relativa a unos conceptos es-
pecíficos identificadas de antemano, ha buscado una lista de palabras claves en los ficheros
de un determinado equipo.
Registrar tiempos.
Planificar proyectos.
Hacer presentaciones.
Registrar notas.
Por ejemplo, los elementos TO-DO (cosas por hacer) pueden disponer de prioridades y fechas de venci-
miento, pueden estar subdivididos en subtareas o en listas de verificación, y pueden etiquetarse o darse
propiedades. También puede generarse automáticamente una agenda de las entradas de cosas por hacer.
La mayor parte del comportamiento del modo Org puede personalizarse mediante los procedimientos
habituales en Emacs (es decir estableciendo directamente el valor de las variables o utilizando la interfaz
Customize, más amigable para los usuarios).
Desde la versión 22 de Emacs, el modo Org es parte de su distribución oficial - aunque también dispone
de entregas separadas.
Un ejemplo de la sintaxis de Org-mode es:
* t i t u l o [ 0 / 1 ] [0 %]
** TODO una t a r e a con e s t a d o PORHACER : un_tag : o t r o _ t a g :
− *negrita*
− / italica /
− =codigo=
− ~verbatim~
P a r r a f o de t e x t o medio c o r t o .
− [ −] l i s t a p o r c o m p l e t a r [ 1 / 2 ] [50 %]
− [X] i t e m que e s t completo
− [ ] item por r e a l i z a r
Si se edita este fichero en formato org desde un procesador de textos, se observan construcciones del tipo
#+BEGIN_SRC y #+END_SRC. Este tipo de constructores permite trabajar desde la plataforma propuesta
con bloques de código de distintos lenguajes con Org mode, ejecutar los mismos o componer, como
se verá más adelante, ficheros de código completos al mismo tiempo que se escribe la documentación
relativa al mismo, con la facilidad de que, en cualquier momento, se pueden obtener ambos contenidos
por separado. Eso es lo que se conoce como programación literaria.
La ampliación de capacidades de Org mode relativas al uso de código viene implementada por Babel,
del que se hablará en distintos momentos en el actual capítulo.
Antes de empezar a explicar algunos keystrokes creo que es importante tener un mínimo de cultura
general de Lisp (list processing), ya que está totalmente relacionado con Emacs (más de un 75 % está
escrito en lisp, algo más de un 23 % en C, y el resto en lenguajes como sh, perl, awk, python y demás).
En primer lugar decir que Lisp es un lenguaje de programación multiparadigma, de alto nivel, declarativo,
funcional, orientado a objetos y con 50 años de historia. La potencia de lisp es mucho mayor de la que
lo gente piensa y aunque tiene relación con la IA (Inteligencia Artificial) se usa y se ha usado para
muchísimas cosas más, como estudiar los paradigmas de los lenguajes de programación del futuro.
Lisp tiene 3 dialectos principales hoy en día (aunque existen más), éstos son Scheme, Common lisp y
Emacs lisp.
Common lisp: por otro lado tenemos common lisp, el índice de las especificaciones de éste es
tan grande como todas las especificaciones de scheme, por lo lo que posee un gran número de
primitivas. La especificación y referencia más cercana es la CLtL.
Emacs lisp: por último tenemos Emacs lisp, este dialecto fue escrito pensando u orientado para el
entorno Emacs. El juego de primitivas que ofrece no es tan pequeño como el de Scheme, pero tan
poco tan grande como el de Common lisp. Su número de primitivas también es reducido, lo que
ocurre es que el estándar también define la biblioteca, que se construye con el juego de primitivas
reducidas.
Finalmente, comentar que Emacs, además de exportar a distintos formatos como HTML, dispone de
la capacidad de ejecutar un servidor HTTP para visualizar los contenidos desarrollados y exportados
adecuadamente.
Es muy recomendable, tal como se ha comentado anteriormente, utilizar algún paquete como Emacs
Starter Kit, Emacs Prelude o Emacs Live.
Otra forma de aplicar los anteriores argumentos a nivel de bloque de código es:
print times_two(5)
#+END_SRC
Ejemplo práctico
Un ejemplo del uso de la programación literaria utilizando algunos de los argumentos anteriormente es
el siguiente bloque de código:
#+NAME: gpgFilesToPDF
#+BEGIN_SRC emacs-lisp :exports code :mkdirp yes :tangle ~/.emacs.d/gpgFilesToPDF.el
(defun gpgFilesToPDF (buf1 buf2 file_name)
(interactive ’bFichero de MACROS: \nbFichero BASE: \nsNombre del fichero PDF: ’)
; create a new ’tempBuf’ buffer
(let ((myBuf (get-buffer-create ’tempBuf’)))
; make it the current displayed buffer
(switch-to-buffer myBuf)
(insert-buffer-substring buf1)
(insert-buffer-substring buf2)
(write-file (concat file_name ’.org.gpg’))
(org-mode)
(org-latex-export-to-pdf)
))
#+END_SRC
El código que aparece ha sido desarrollado específicamente para el actual proyecto dada la necesidad
de automatizar la tarea de combinar el contenido de dos ficheros cifrados y generar un tercer fichero en
formato LATEX/PDF.
En este caso podríamos añadir argumentos como :session s1 o :results silent, y obviar otros
argumento como :noweb que no es necesario en este caso, ya que ’no’ es el valor por defecto y el que
especificaríamos.
Si exportamos este bloque de código tal y como está especificado, se generará el fichero gpgFilesToPDF.el
en el directorio .emacs.d del usuario.
Para utilizar la función gpgFilesToPDF normalmente sin tener que añadirla al entorno cada vez, pode-
mos (si el directorio ./emacs.d del usuario está dentro del listado de la variable load-path de Emacs,
añadir la siguiente línea al fichero .emacs:
(require ’gpgFilesToPDF)
Otra opción es copiar el fichero a alguno de los directorios de los que Emacs importa automáticamente
los ficheros .el, lo que dependerá del entorno operativo y de la distribución de Emacs utilizada.
Para hacer uso de la función, primero debemos de disponer de un fichero de datos a exportar y en segundo
lugar de la plantilla a rellenar y exportar.
El fichero de datos tiene el siguiente formato:
#+MACRO: nomProf José Luis Jerez
#+MACRO: dniProf 12345678-x
#+MACRO: cifProf A-87654321
#+MACRO: calleProf C/Eureka
#+MACRO: numProf 10
#+MACRO: localidadProf Las Rozas
#+MACRO: provinciaProf Madrid
#+MACRO: codProf 28231
#+MACRO: empCli Red Iris
#+MACRO: nomCli Francisco Moserrat
#+MACRO: dniCli 66666666-D
#+MACRO: cifCli B-99999999
#+MACRO: calleCli Plaza de Manuel Gómez Moreno, s/n - 2a planta
#+MACRO: numCli 1
#+MACRO: localidadCli Madrid
#+MACRO: provinciaCli Madrid
#+MACRO: codCli 94043
#+MACRO: telCli (+34) 91 212 76 25
#+MACRO: emailCli [email protected]
#+MACRO: tipoServ Investigación forense
#+MACRO: codProy IF-RIRIS-POC-001
#+MACRO: costeIncumplimiento 6.000.000
#+MACRO: fechaIni Mon Mar 18 08:00:37 CET 2013
#+MACRO: fechaFin Thu Abr 18 18:00:07 CET 2013
#+MACRO: Activo_1 Fichero ’windows2003.img.gz’.
Donde, como se puede ver, se asigna mediante una macro, un valor (por ejemplo, José Luis Jerez) a
una variable (por ejemplo nomProf).
El fichero que importa los datos y es exportado a PDF debe de tener las cabeceras que se requieran para
darle el formato y propiedades deseadas y, adicionalmente, el texto a exportar, en el que se incluirán
los nombres de las variables donde así se requieran, siguiendo el formato del ejemplo que aparece a
continuación:
En {{{provinciaCli}}}, a {{{date(%d-%m-%Y)}}}.
* REUNIDOS
D./Dª {{{nomCli}}}, mayor de edad, con domicilio en la C/{{{calleCli}}}
Nº {{{numCli}}}, Localidad {{{localidadCli}}}
Provincia {{{provinciaCli}}} C.P. {{{codCli}}} con
D.N.I. {{{dniCli}}}, y en representación de la compañía {{{empCli}}}, con
CIF {{{cifCli}}} y domicilio social en {{{provinciaCli}}} y,
* EXPONEN
Una vez se disponga de ambos ficheros, se abren ambos en Emacs y se ejecuta la función gpgFilesToPDF.
En primera instancia se pedirá el nombre del buffer que contiene las distintas macros y en segunda ins-
tancia el nombre del buffer que contiene la plantilla a utilizar. Finalmente, solicita el nombre del fichero a
utilizar para la exportación y realiza la misma. Dado que el fichero org generado también se cifra, Emacs
solicita que se seleccione la clave de cifrado a utilizar.
Dado que hay que abrir los ficheros origen en Emacs, es indiferente si los mismos están o no cifrados.
Una vez realizada la exportación se obtiene un fichero con el nombre solicitado y extensión org.pdf, y
los correspondientes ficheros generados por TEX, que deben de ser eliminados manualmente si se cree
necesario o pueden ser utilizados para realizar modificaciones manuales de los mismos desde el propio
Emacs.
’la mayoría de estos términos son empleados por empresas consultoras como Accenture, McKin-
sey, Boston Consulting Group, Price Watherhouse, Deloitte & Touche, Stern Stewart. Ellas los
comercializan y ellas mismas se encargan de convencer a las empresas para que los pongan en
práctica.’
’Sin embargo, esos mismos detractores reconocen que no quiere decir esto que todas sean un mero
producto de la comercialización de las consultoras. Aplicadas con sentido común, pueden aportar
soluciones a problemas reales.’
Sin embargo, tras trabajar con distintas mejores prácticas, me uno al grupo que ’reconocen que las
mejores prácticas son sólo un buen comienzo, mejor que una hoja en blanco, pero que no reemplazan al
sentido común y a la reflexión y que, mientras se usen de manera racional y coherente, pueden acelerar
la puesta en servicio de mejoras en los procesos de las organizaciones.’
Las buenas prácticas deben estar documentadas para servir de referente a otros y facilitar la mejora de sus
procesos. Este es un aspecto básico de cualquier buena práctica, ya que de este modo es posible trasladar
el conocimiento fácilmente a otra organización con el objetivo de aprender y mejorar.
Prácticas relevantes
Tras investigar acerca de las prácticas relevantes que hay que tener en cuenta para enfrentar un análisis
forense, me he encontrado con tres elementos a tener en cuenta:
1. Prácticas legales.
2. Prácticas tecnológicas.
3. Prácticas metodológicas.
A nivel legal, cada país dispone de su propia legislación y a lo largo del PFC se hace referencia a las
distintas leyes que aplican dentro del estado Español, como la Ley de Enjuiciamiento Civil (LEC) y la
Ley e Enjuiciamiento Criminal (LECrim). No es objeto de este PFC adentrarse en los aspectos legales
concretos, si bien se recomienda conocer la legislación o asesorarse con un abogado experto en delitos
informáticos en el caso de tener que testificar como perito.
A nivel tecnológico, existe una gran cantidad de herramientas que es posible utilizar. Sin embargo, no to-
das son adecuadas en función , por ejemplo, de los distintos países. En USA, el uso de ’md5’ para extraer
y exponer un hash de un archivo o imagen forense digital en un juicio carece de valor probatorio ya que en
agosto de 2004, Xiaoyun Wang, Dengguo Feng, Xuejia Lai y Hongbo Yu anunciaron el descubrimiento
de colisiones de Hash para MD5. Su ataque se consumó en una hora de cálculo con un clúster IBM P690.
Debido al descubrimiento de métodos sencillos para generar colisiones de hash, muchos investigadores
recomiendan su sustitución por algoritmos alternativos tales como SHA-1 o RIPEMD-160. Sin embargo
en España no existe tal distinción. En apartados posteriores se identificarán diferentes herramientas a
utilizar durante una investigación.
En el plano metodológico internacional, se han desarrollado distintas iniciativas como directrices, buenas
prácticas, y recomendaciones entre las que cabe destacar el documento ETF Request for Comments 3227
Guidelines for Evidence Collection and Archiving (RFC 3227), de febrero de 2002, donde se establecen
una serie de principios o actuaciones básicas a considerar en la recopilación y almacenamiento de las
evidencias. En algunas fuentes de información se comenta que en el documento se tratan aspectos
relativos al análisis de evidencias, pero como se verá a continuación, esto no es correcto. Estas iniciativas
permiten establecer una base de validación con el fin de probar la idoneidad del proceso ejecutado y la
confiabilidad de los resultados para el juez y la parte contraría. Adicionalmente se tratan las técnicas a
aplicar para obtener la evidencia digital clave para efectos de soportar las afirmaciones o declaraciones
sobre una temática particular que se tenga en una diligencia civil, penal o de cualquier índole.
Quizás el documento más relevante en la actualidad es la norma ISO/IEC 27037:2012 Guidelines for
identification, collection, acquisition and preservation of digital evidence. Este documento, que es de
pago, viene a renovar el anterior documento, y de forma similar al anterior, está orientado al procedi-
miento de la actuación pericial en el escenario de la recogida, identificación y secuestro de la evidencia
digital, sin entrar en la fase de análisis de la evidencia. Él mismo permite homogeneizar una serie de
prácticas claves para efectos de dar mayor confiabilidad a los resultados de los procesos aplicados, que
previamente sólo estaban fundados en la buena práctica internacional, referentes particulares a institu-
ciones o entidades reconocidas por sus logros en este campo como veremos a continuación.
En países como Australia o USA, guías facilitadas por Standards Australia International (SAI), el Na-
tional Institute of Standards and Technology (NIST) o el National Criminal Justice Reference Service
(NCJRS), como:
NIJ (2004) Forensic Examination of Digital Evidence: A Guide for Law Enforcement.
NIJ (2008) Electronic Crime Scene Investigation: A Guide for First Responders, Second Edition.
son documentos utilizados por los investigadores forenses digitales con el fin de establecer un marco de
actuación formal y verificable por terceros.
La documentación desarrollada no contempla tecnologías recientes como las unidades de estado sólido
o los sistemas de control industrial (SCADA), entre otros temas especializados, que si bien pueden se-
guir el mismo proceso desarrollado en general para la informática forense (documentos y alcance de la
norma identificación, recolección y/o adquisición, conservación y/o preservación), en muchos casos va a
requerir de un enfoque particular dependiendo de su comportamiento a la hora de obtener una evidencia
digital confiable. Por lo tanto, como es lógico, las distintas tipologías actuales son sensibles a cambios
tecnológicos.
El reto de la informática forense pasa inexorablemente por revisiones y ajustes constantes en el tiempo de
manera periódica, con el objetivo de identificar cambios y ajustes que permitan mantener la confiabilidad
de los procedimientos aplicados, como quiera que este documento es un referente de alcance global.
Para terminar, comentar que los temas relacionados con el análisis e interpretación de la evidencia digital
que no son cubiertos por la norma ISO/IEC 27037:2012 se espera que la anunciada ISO/IEC 27042
Guidelines for the analysis and interpretation of digital evidence, prevista para el 28 de febrero de 2015,
sugiera los campos de acción en estos temas, los cuales tendrán retos importantes como se establece su
borrador:
“El análisis e interpretación de la evidencia digital puede ser un proceso complejo. En algunas circuns-
tancias, puede haber varios métodos que se pueden aplicar y los miembros de equipo de investigación
tendrán que justificar la selección de determinado proceso y mostrar cómo es equivalente a otro utilizado
por otros analistas. En otras circunstancias, los investigadores tendrán que idear nuevos métodos para
el examen de la evidencia digital que previamente no ha sido tenido en cuenta y deben ser capaz de
demostrar que el método de producción es ’adecuado’.”
RFC 3227
El RFC 3227 presenta un línea a seguir para los procesos de recolección y archivo de evidencias digitales
en casos de análisis forense digital. Este documento liberado en el año 2002, contiene recomendaciones
que se han de adaptar a las tecnologías y a las circunstancias.
El índice del documento es el que se puede observar a continuación:
Table of Contents
1 Introduction.................................................... 2
1.1 Conventions Used in this Document........................... 2
2 Guiding Principles during Evidence Collection................... 3
2.1 Order of Volatility......................................... 4
2.2 Things to avoid............................................. 4
2.3 Privacy Considerations...................................... 5
2.4 Legal Considerations........................................ 5
3 The Collection Procedure........................................ 6
3.1 Transparency................................................ 6
3.2 Collection Steps............................................ 6
4 The Archiving Procedure......................................... 7
4.1 Chain of Custody............................................ 7
4.2 The Archive................................................. 7
5 Tools you’ll need............................................... 7
El documento está en inglés, y se pueden encontrar traducido el español en la web para su consulta.
En el capítulo de introducción del documento, se establecen una serie de aspectos interesantes en párrafos
concretos:
’El propósito de este documento es el de proporcionar a los administradores de sistemas las pautas
para la recopilación y archivo de evidencias de dicho incidente de seguridad.’
’Si la recopilación de las evidencias se realiza correctamente, es mucho mas útil para la detención
del atacante y existen muchas más posibilidades de que las evidencias sean admitidas en el caso
de un proceso judicial.’
• Hace hincapié en la relevancia de la corrección al tratar las evidencias de cara a un posible
proceso judicial.
’Debería de utilizar estas pautas como base para la redacción de procedimientos de recopilación
de las evidencias, y debe de incorporar estas en la documentación de los procedimientos de control
de incidencias.’
• Esta parte contradice el enfoque inicialmente comentado, la redacción de este tipo de proce-
dimientos no debería de competer al área de sistemas.
’Las directrices propuestas en este documento podrían no ser adecuadas para todos los entornos o
jurisdicciones. Tiene que confirmar que los procedimientos de recopilación de evidencias, una vez
redactados con estas pautas, se adecuan a la ley.’
• Estos párrafos son básicos y de extrema importancia, pese a que aparentemente no tengan
una gran relevancia.
El documento plantea un proceso generalista, en el que se plantean los pasos, así como algunas de las
precauciones a tomar basado en los siguientes aspectos críticos:
Visualizar y estudiar el escenario global objeto de análisis. En este aspecto, es importante cono-
cer las normas y directrices de la empresa (si existen y si respaldan las actuaciones a realizar), así
como las leyes que aplican sobre la misma (privacidad).
Debe de asegurarse que la información recopilada con las evidencias que se están buscando no
está disponible al acceso de personas que normalmente no tendría acceso a dicha información.
Esto incluye el acceso a los archivos de registro que podrían revelar patrones de comportamiento
de los usuarios, así como archivos de datos personales.
• No inmiscuirse en la privacidad de las personas sin una fuerte justificación para ello. En
particular no tomar información de aquellas áreas en las que normalmente no existe razón
alguna para acceder (por ejemplo, los almacenamientos de archivos personales), a menos
que existan indicios suficientes de que existe un incidente real en los mismos.
• Asegúrese de contar con el respaldo de la dirección de la empresa en lo relativo al estableci-
miento de los procedimientos para la obtención de las evidencias de un incidente.
Generación de la linea temporal. Es necesario identificar todos los aspectos que permitan deter-
minar los flujos y eventos concretos en el tiempo.
Recopilar las evidencias. La evidencia debe de ser estrictamente protegida, por lo que se deben
de minimizar los cambios que alteren el escenario y eliminar los agentes externos que puedan
alterarlas.
• Es precise adoptar un enfoque metódico para cada dispositivo siguiendo las pautas estableci-
das del procedimiento de recopilación.
• La velocidad es, a menudo, un parámetro crítico, por lo que cuando existe un elevado número
de dispositivos a examinar, es necesario distribuir el trabajo de examen entre un equipo de
trabajo más amplio, para poder recoger las evidencias en paralelo. Sin embargo, cuando se
trate de un único sistema, la recopilación debería hacerse paso a paso.
1. Registros y cache.
2. Tablas de encaminamiento, caché ARP, tabla de procesos, estadísticas del kernel y la memo-
ria.
3. Sistemas de archivos temporales.
4. Disco.
5. Archivos de log, registro remoto y datos de seguimiento relevante para el sistema en cuestión.
6. Configuración física, topología de red.
7. Medios de almacenamiento externos.
• Ser metódico.
• Los procedimientos seguidos deben ser transparentes y reproducibles. Como cualquier aspec-
to de la política de respuesta a un incidente, los procedimientos deben de ser probados (por
terceros independientes) para asegurar su viabilidad en una crisis. Por razones de velocidad
y de precisión, los procedimientos deben de automatizarse en la medida de lo posible.
• ¿Dónde?
◦ es descubierta.
◦ se recoge la evidencia.
◦ es manipulada.
• ¿Cuándo?
◦ es descubierta.
◦ se recoge la evidencia.
◦ es manipulada.
◦ se han producido cambios en la custodia de las evidencias.
• ¿Quién?
◦ descubre la evidencia.
◦ recoge la evidencia.
◦ ha analizado y manipulado la evidencias.
◦ ha custodiado en cada momento la evidencia.
• ¿Cómo?
◦ se recoge la evidencia.
◦ se han analizado y manipulado las evidencias.
◦ se almacena.
◦ se han producido las transferencias.
• ¿Durante cuanto tiempo?
◦ se ha custodiado la evidencia.
Almacenar las evidencias adecuadamente. Las medidas a tomar para garantizar el correcto al-
macenamiento de las evidencias recogidas implica que éstas:
Herramientas que se necesitaran. El último apartado del documento hace referencia al echo
de que se debe poseer los programas necesarios para la recopilación de las evidencias y para la
actividad forense, en modalidad de sólo lectura (por ejemplo, un CD).
• El analista forense debe estar preparado con un set de herramientas apropiadas para cada
dispositivo que se prevea que va a ser necesario y que se vaya a hacer uso de él.
• El set de herramientas debería incluir lo siguiente:
◦ Programas para examinar los procesos (por ejemplo, ps).
◦ Programas para examinar el estado del sistema (por ejemplo, ’showrev’, ’ifconfig’, ’nets-
tart’, ’arp’).
◦ Un programa para realizar copias bit a bit (por ejemplo, ’dd’ , ’safeBack’).
◦ Programas para la generación de checksums y firmas (por ejemplo, ’sha 1 sum’, un
habilitador de checksum ’dd’, ’Safeback’, ’pgp’).
◦ Programas para la generación de imágenes del ’core’ y para examinarlas (por ejemplo,
’gcore’, ’gbd’).
◦ Programas (scrips) para automatizar la recopilación de evidencias (por ejemplo, ’FTK’,
’Sleuthkit’, ’Cain’).
• En el set de herramientas los programas deberían estar enlazados estáticamente y no requerir
del uso de ninguna librería excepto las necesarias para los dispositivos de medios de solo
lectura. Incluso así, dado que rootkits modernos pueden ser instalados a través de módu-
los kernel cargables, se debería considerar que las herramientas no podrían dar una imagen
completa del sistema.
ISO/IEC 27037
Tal y como se ha comentado, la norma ISO/IEC 27037:2012 /Guidelines for identification, collection,
acquisition and preservation of digital evidence/, viene a renovar a las ya antiguas directrices RFC 3227
vistas en el apartado anterior.
La norma está orientada a los procesos de actuación forense en el escenario de la identificación, colec-
ción, adquisición y preservación de la evidencia digital. Sin embargo, al igual que en el caso anterior, la
fase de análisis de la evidencia se trata muy tangencialmente, ya que no se encuentra dentro del alcance
del documento, por lo que se espera que en la anunciada ISO/IEC 27042 Guidelines for the analysis and
interpretation of digital evidence, prevista para el 28 de febrero de 2015, se extienda en los campos de
acción relativos a estos temas.
El análisis de las evidencias es diferenciado dependiendo del tipo de dispositivo o de evidencia sobre la
que se esté realizando el análisis.
Sobre este proceso de análisis la norma especifica que se ha de utilizar metodología científicamente
probadas para su aplicación según las características de las evidencias y obtener la información probatoria
necesaria.
El análisis ha de ser sistemático, huyendo de los exámenes intuitivos únicamente guiados y basados en la
experiencia y en el conocimiento, aunque estas dos características contribuyen a la realización de un buen
análisis y a llegar a las conclusiones correctas tras la interpretación de los resultados, sin embargo, sea
cual sea la metodología aplicada se ha de garantizar la exhaustividad y el análisis completo y minucioso
de la evidencia.
Esta norma pertenece al grupo de las normas ISO/IEC 27000 relativas a las técnicas de seguridad de la
información y de las tecnologías.
El resumen que presenta la organización en su web, ya que es no un documento de libre distribución,
expresa:
ISO/IEC 27037:2012 gives guidance for the following devices and circumstances:
Dispositivos móviles.
Foreword
Introduction
1 Scope
2 Normative reference
4 Abbreviated terms
5 Overview
5.3.1 General
1 He añadido el índice completo ya que me parece interesante poder observar la evolución de la norma frente al RFC 3227,
y por otro lado, he sido autorizado por escrito por AENOR (tras consultar con ISO copyright office), tal y se puede verificar en
el documento anexo ISO_IEC_27037_2012.pdf.
5.3.2 Auditability
5.3.3 Repeatability
5.3.4 Reproducibility
5.3.5 Justifiability
5.4.1 Overview
5.4.2 Identification
5.4.3 Collection
5.4.4 Acquisition
5.4.5 Preservation
6.2.1 General
6.2.2 Personnel
6.4 Competency
6.6 Documentation
6.7 Briefing
6.7.1 General
6.9.1 Overview
7.1.1 Identification
7.1.2 Collection
7.1.3 Acquisition
7.1.4 Preservation
7.2.1 Identification
Acrónimos
Si bien el vocabulario utilizado no varía frente al resto de documentación, he identificado dos acrónimos
que son interesantes, relacionados con algunos de los individuos o equipos responsables de la identifica-
ción, recolección, adquisición y preservación de las potenciales evidencias digitales, y que nombraré en
distintos momentos:
General: En la medida de lo posible, la evidencia digital debe ser adquirida del modo menos
intrusivo, preservando la originalidad de la prueba y realizar posteriormente las copias de respaldo
necesarias.
Auditable: Los procesos deben establecer las medidas necesarias para disponer de las evidencias
y trazas de todas las acciones realizadas y de sus resultados. Al igual que en el RFC, los procedi-
mientos deben haber sido validados por terceras partes, de forma que se asegure que siguen buenas
practicas profesionales.
Repetible: Los procedimientos deben de ser repetibles y para ello, las herramientas utilizadas
deben de ser documentadas previa validación por parte de terceros del uso para el cual se utilizan
en la actuación.
Reproducible: Los procedimientos utilizados deben de ser reproducibles por terceros en cualquier
momento, manteniendo el resultado inicial documentado.
Justificable: Los procedimientos y las evidencias deben de ser comprensibles para los entendidos
en la materia, quienes puedan dar validez y respaldo a las actuaciones realizadas.
Cadena de Custodia
El concepto de Cadena de Custodia no varía. Se basa en el uso de un documento que recoja todos los
aspectos relativos a la gestión de las evidencias digitales.
La trazabilidad de la gestión de las evidencias digitales es el objetivo de mantener una Cadena de Cus-
todia férrea. De esta forma es posible identificar aspectos como quien tuvo acceso a los dispositivos
digitales o datos en cualquier punto dado en el tiempo.
La Cadena de Custodia de las evidencias es uno de los aspectos clave en un proceso judicial, y ésta debe
ser mantenida durante todo el proceso, ya que un error en la misma puede derivar en la anulación de la
evidencia asociada a dicha Cadena de Custodia.
Como se ha comentado en distintas ocasiones, la Cadena de Custodia debe de ser establecida desde el
momento inicial en que el dispositivo digital y los datos digitales se han obtenido y no debe ser rota a lo
largo del tiempo.
La Cadena de Custodia debe contener información que permita identificar al DEFR, un identificador
único para el componente custodiado, fecha, hora y lugar de la identificación y recogida, así como los
datos relativos a las sucesivas custodias posteriores de la misma y las diferentes ubicaciones donde se
desplace.
Ámbito de actuación
Como he comentado, el ámbito de actuación en el que nos movemos es muy amplio. Sin embargo hay
una serie de elementos que, en caso de estar presentes en el escenario, son críticos a la par que evidentes,
como son los ordenadores personales (fijos o portátiles), dispositivos de almacenamiento, dispositivos
móviles, sistemas de circuito cerrado de televisión digital (CCTV) y, si los anteriores se encuentran in-
terconectados a dispositivos de red (electrónica de red, en general) se amplía el campo de búsqueda en
función del criterio del analista forense a servicios externos que pueden estar vinculados con la inves-
tigación. Otros elementos menos obvios son dispositivos como impresoras, contestadores automáticos
y, en general, dispositivos que asociamos en menor medida a la gestión de datos, pero que también son
objeto de la investigación.
En esencia, y como veremos a continuación, muchos de los tratamientos de los distintos dispositivos son
idénticos o muy similares.
Y, llegados a este punto,¿se puede complicar más el escenario? Pues sí.
En la actualidad ’la nube’ ya es un elemento común a tener en cuenta dentro de los escenarios diarios
del entorno digital. En la práctica es una extensión del escenario anterior en el que el Centro de Datos
(CPD) se podía ver envuelto dentro del ámbito de la actuación. Pero ’la nube’ incorpora una variable de
’deslocalización’ que es importante tratar adecuadamente.
No es objeto de este PFC tratar la casuística particular en la que ’la nube’ es parte del ámbito de ac-
tuación. Sin embargo, dado que me parece un tema interesante y que, a corto plazo, se va a convertir
en un elemento crítico en las actualizaciones forenses, he investigado acerca del acercamiento de los
profesionales a este tipo de proyectos.
Figura 1: http://www.slideshare.net/00heights/the-future-of-digital-forensics
Preservación Una vez la evidencia digital ha sido recolectada o adquirida, ésta debe de ser preservada
con el objetivo de garantizar su integridad y su utilidad, es decir, su originalidad para que posterior-
mente ésta pueda ser admisible como elemento de prueba original e integra en un proceso judicial.
Este proceso es tan importante como complejo dada la fragilidad de las evidencias digitales.
Buenas prácticas durante el proceso de identificación
Para la correcta identificación de todas las potenciales evidencias digitales se debe de aislar, inicialmente,
cada uno de los componentes del escenario a analizar de sus capacidades de interconexión, esto es, de
los interfaces que le permiten comunicar con diferentes entornos tecnológicos como IEEE 802.3, 802.11,
802.15.
Un ordenador es una potencial evidencia en si mismo, independientemente de si está conectado a una
red, ya sea mediante un cable físico o conexión inalámbrica, o de los dispositivos periféricos electrónicos
conectados al mismo que reciben (impresoras), procesan (dispositivo móvil) o almacenan datos (pen
drive).
Así mismo, cada uno de dichos elementos, como soportes de almacenamiento (discos duros, memorias
flash, CDs, DVDs, disquetes, cintas magnéticas o pen drives), impresoras, escáneres, cámaras web, re-
productores de MP3, sistemas GPS o dispositivos RFID entre otros, son potenciales evidencias digitales
a ser tratadas.
La existencia de equipos o dispositivos en red implica que el escenario es ampliable en función del
criterio del analista forense a la hora de acotar dónde se encuentran los datos. En ese punto, es necesa-
rio identificar equipos vinculados al escenario como servidores, otros ordenadores de distintos usuarios
localizados geográficamente en distintos puntos, puntos de acceso a la red, dispositivos bluetooth, y
electrónica de red en general (hubs, switches, routers) etc.
Las buenas prácticas más relevantes, desde mi punto de vista, a tener en cuenta por parte del DEFR
durante el proceso de identificación son:
Seguir estrictamente la legislación, normativas y procedimientos que pudieran afectar a la gestión
de las evidencias digitales.
Asegurar la escena del incidente de modo que ninguna persona no autorizada puede tener acceso
a los dispositivos que pueden contener evidencia digital.
• Entre otros aspectos, hay que minimizar el riesgo de que una persona, dado el reducido
tamaño de muchos dispositivos de datos o de los móviles, pueda sustraer o dañar algún de
los que se encuentran en el escenario inicial.
Registrar el escenario del incidente mediante el uso de fotografías, esquemas o filmación y reflejar
la escena tal como se encuentra al inicio, siempre de acuerdo con las circunstancias de costes y
de tiempo. Es posible que, basado en el criterio del analista forense, el escenario a registrar se
extienda al CPD u a otras localizaciones.
Garantizar que los dispositivos de comunicación no estén en situación de recibir o transmitir datos.
• Debe de usarse una caja de Faraday o una caja blindada para impedir que el dispositivo obten-
ga conexión a la red ya que la conexión a una red GPRS, 3G/4G, inalámbrica, o similar puede
dar lugar al deterioro de posibles pruebas digitales, debido a posibles llamadas y mensajes
entrantes.
Identificar y documentar (tipo, marca, modelo, número de serie, localización, etc) todos los posi-
bles elementos de prueba o contenedores de las mismas (ordenadores, los dispositivos periféricos,
etc) para su posterior recolección o adquisición.
• Identificar los posibles medios de carga (cargadores, cunas) y el cables de los dispositivos que
tienen baterías y que pueden funcionar sin conexión, para asegurar que la información no se
pierde. Éstos serán recopilados o adquiridos junto con el dispositivo que posee la evidencia
digital durante el proceso pertinente.
• Los dispositivos que estén funcionando se deben mantener conectados a la red eléctrica para
asegurar que la información no se pierde.
• Se recomienda la entrega inmediata de los dispositivos móviles encendidos al laboratorio
para su análisis.
• Si el dispositivo móvil esta apagado:
◦ Se analizan las acciones de empaquetado, precintado y etiquetado del dispositivo.
◦ Hay que evitar cualquier funcionamiento accidental a deliberado de las teclas a botones.
◦ Es aconsejable el usa de una caja de Faraday o cajas blindadas.
El DEFR debe tener especial cuidado para no contaminar posibles evidencias no digitales (hue-
llas dactilares, el ADN y las partículas) y coordinarse con los recolectores de pruebas que sean
pertinentes con el fin de asegurar dichas pruebas antes de proceder con siguientes pasos.
Utilizar un dispositivo que permita identificar, localizar y monitorizar señales inalámbricas los
dispositivos inalámbricos conectados.
• Los dispositivos recolectados deben ser colocados en embalajes adecuados para la naturaleza
de los dispositivos incautados, de modo que los mismos, o los datos que contiene, no sean
dañados.
Verificar que se dispone de los datos (marca, modelo y numero de serie) de cada uno de los dispo-
sitivos gestionados.
• Todo dispositivo se debe sellar con precintos, ser etiquetado y firmarse en la etiqueta.
• Las etiquetas de las pruebas no deben ser colocadas directamente en las partes mecánicas de
los dispositivos electrónicos, ni debe cubrir o esconder información importante.
• Se debe etiquetar las pruebas con tinta en lugar de lápiz ya que el polvo del grafito del lápiz
puede interferir con la lectura del disco o cinta.
Los dispositivos recogidos se deben de preservar en un ambiente de clima seguro y controlado que
no este sujeto a temperaturas extremas o a humedad.
En el caso de los dispositivos con conectividad a algún tipo de red hay que tener en cuenta que no
hay que modificar el estado de las comunicaciones hasta que se ha asegurado que no hay pérdida
de evidencias como resultado de la desconexión. Entonces se puede retirar los dispositivos de la
red.
Para las redes de cableado de datos, trazar (realizar un croquis) de las conexiones con los equipos
y etiquetar los puertos para la futura reconstrucción de la toda la red.
• Si el dispositivo está encendido, existen distintos servicios (como Bluetooth, RF, pantalla
táctil, IR) pueden estar activados o desactivados.
• Algunos deben estar encendidos para acceder al modulo y extraer la información, mientras
que otras adquisiciones de información se puede realizar directamente desde la tarjeta SIM.
• Los diferentes fabricantes utilizan diferentes sistemas operativos que requieren diferentes
métodos de adquisición de datos.
• Para dos imágenes del mismo dispositivo, se muestran diferentes valores de hash. Esto es
debido a las actualizaciones internas del sistema como puede ser, por ejemplo, la diferencia
entre la hora en que se hizo cada una de las copias.
Los dispositivos, en particular los móviles, pueden tener la capacidad para borrar los datos y por
lo que cualquier interacción manual con el dispositivo debe ser minimizada.
UNE 197001:2011
El informe forense es el elemento que consolida los diferentes procesos que dan soporte a un análisis
forense digital.
En general, las diferentes fuentes que he consultado2 coinciden en que el informe debe de estar basado
en una metodología científica con las adaptaciones a los distintos sistemas implicados y a las actividades
criminalísticas analizadas, que el ámbito de la investigación requiera.
Tras investigar y buscar información acerca de metodologías utilizadas para el desarrollo de informes
forenses digitales o estándares que conduzca a aportar formalidad y calidad en los informes, me ha
sorprendido no encontrar documentación estandarizada en países como USA, Australia, y otros en los
que, por el contrario, he identificado que el resto de procesos sí están evolucionados y documentados.
La norma UNE 197001:2011 ’Criterios generales para la elaboración de informes y dictámenes pericia-
les’, fue publicada por AENOR (Agencia Española de Normalización y Certificación) el 23 de Marzo de
2011.
La norma tiene por objeto establecer los apartados que se consideran mínimos necesarios a incluir en la
elaboración de un informe, sin ser éstos una enumeración excluyente, limitativa ni exhaustiva; así como
precisar los requisitos formales que deben tener los informes, sin determinar los métodos y procesos es-
pecíficos para la elaboración de los mismos. En resumen, podríamos decir que son las normas necesarias
para desarrollar el documento final que refleja nuestra investigación.
En la siguiente imagen aparece el índice de la norma3 , que como se puede apreciar, no es significativa-
mente extenso para lo que se podría pensar.
2 La documentación referida son los libros que aparecen en la bibliografía aportada en el proyecto.
3 Se ha solicitado permiso expreso a AENOR para la publicación del índice de la norma UNE 197001:2011.
Figura 3: Indice de la norma UNE 197001:2011
La norma, si bien a nivel de contenidos está muy poco desarrollada y su alcance es general en lo que
corresponde al ámbito de informes periciales, permite establecer una estructura común para todos los
análisis forenses digitales y agrega un valor diferenciador para aquellos profesionales cualificados que
se preocupan por mejorar cada día en la complicada tarea de ser analista forense.
Se recomienda, para evidenciar que se están siguiendo estándares y buenas prácticas para la redacción
del informe, redactar explícitamente un texto en el que se exponga que dicho informe se ha desarrollado
siguiendo la normativa UNE 197001:2011.
Además, se recomienda leer la norma, ya que su extensión, como se ha dicho, no implica un gran esfuer-
zo. A modo de resumen de los distintos apartados, se puede extraer como contenidos más relevantes:
REQUISITOS GENERALES
La norma marca que un informe forense debe de contener los siguientes elementos básicos:
• Título: Elemento que debe de identificar al documento de forma inequívoca, acorde al con-
tenido del texto del informe.
◦ Debe ser explicativo en relación a la temática del informe.
◦ No deben de nombrarse evidencias o actores.
◦ Asociar el código de referencia, ya que éste es único.
• Documento: Se compone de varios apartados claramente diferenciados que se desarrollarán
a continuación (identificación, declaraciones, índice, cuerpo del informe y anexos).
• Paginación: Todas las páginas deben estar numeradas.
IDENTIFICACIÓN
Respecto de la identificación que debe de aparecer en todas las páginas del documento, ya sea en
la cabecera o el pie del mismo, se define expresamente que:
DECLARACIÓN DE TACHAS
El analista forense debe de expresar por escrito que actúa de buena fe y que no existe ningún
motivo por el cual deba de abstenerse de realizar el informe.
JURAMENTO O PROMESA
El informe pericial no puede ser desarrollado por una persona relacionada con el proceso. El ana-
lista debe de ser independiente y objetivo, además de poseer los conocimientos necesarios para
desarrollarlo.
Este texto es en cierto modo irrelevante, ya que el mero hecho de aceptar el trabajo de realizar el
informe conlleva las obligaciones que desarrolla ésta declaración. La misma implica que el analista
forense:
• Está procediendo bajo juramento o promesa de decir la verdad, y haber actuado con la mayor
objetividad e imparcialidad posible.
• Está en conocimiento de las sanciones penales de no actuar de ese modo.
ÍNDICE GENERAL
En el presente apartado se explica que su objetivo es facilitar la búsqueda y localización de la
información por los diferentes capítulos.
Se debe de incluir el esquema básico del informe, que se compone de los títulos y numeración de
los puntos más relevantes del informe llegando a la profundidad que el analista forense considere,
siempre que se respeten las normas de simplicidad y claridad.
CUERPO DEL INFORME O DICTAMEN PERICIAL
El cuerpo del informe:
• Es el elemento integrador de las partes que componen el proceso global de análisis forense.
Integra:
◦ Los procesos y buenas prácticas seguidas.
◦ Las evidencias identificadas.
◦ Las investigaciones y el razonamiento analítico aplicado.
◦ Las conclusiones objetivas extraídas.
• Debe de tener una extensión suficiente, sin excederse debido a explicaciones superfluas o ser
incompleto por no haber facilitado la suficiente información.
• Debe de ser comprensible para el juez, abogados y otros profanos en la materia, evitando
tecnicismos.
• El idioma utilizado debe de ser el castellano, si bien se permite expresarse y redactar el
informe en la lengua oficial de la Comunidad Autónoma.
• Debe de ser correcto, léxica, sintáctica y semánticamente.
• Objeto. Aclara la finalidad del informe forense, e introducir qué es lo que se pretende con
todo el trabajo realizado.
• Alcance. Tal como indica su título, en este apartado se desarrolla el alcance de cada una de las
cuestiones que se plantaron en el apartado anterior de forma que quede claro para el receptor
del informe que se ha cumplido con los objetivos acordados, y, en caso de que el alcan-
ce se haya modificado durante el desarrollo del proyecto (siempre de mutuo acuerdo), que
todo aparezca claramente reflejado. Además, se desarrollarán aspectos como los procesos,
recursos, limitaciones, esfuerzo y presupuesto.
Antecedentes. Son los hechos acontecidos con anterioridad al inicio del análisis forense y que
sirven de punto de partida del mismo.
Sin embargo, los antecedentes no deben de condicionar el resultado del informe, y deben de tomarse
como una fuente más de información que debe de ser tratada.
Consideraciones preliminares. Dado que el informe se desarrolla a posteriori, al redactar este apar-
tado conocemos lo que pensábamos, como analistas previo a realizar el análisis y la certeza o
errores de nuestras consideraciones previas. Aquí se desarrolla todo lo que el analista forense con-
sidere necesario para explicar las decisiones tomadas en función de la información que se tenía
en ese momento, como se desarrolló el trabajo, qué bases teóricas dieron lugar a la utilización de
una u otra tecnología, los procedimientos seguidos, así como las limitaciones y restricciones que
existieron en cada momento.
Toda esta información permitirá conocer y entender como se ha realizado el trabajo, porque se ha iden-
tificado y extraído determinadas evidencias y otras se han podido perder, y cómo se ha llegado a las
conclusiones presentadas.
Actuaciones. Cada acción que ejecuta el analista forense debe de estar justificada previo a reali-
zarla, y documentada durante todo el proceso, de modo que el analista forense se encuentre en
disposición de contestar cualquier cuestión que se le plantee posteriormente.
Este apartado es especialmente importante el las actuaciones complejas, ya que la memoria no es fiable.
Análisis. Toda la labor realizada por el analista debe de quedar, de la forma más explícita y resu-
mida posible, plasmada y justificada en este apartado.
Debe de aparecer reflejado todo el proceso, fundamentado en buenas prácticas o experiencias previas a
falta de las primeras, todas la situaciones que se han ido dando, la resolución de las mismas y cualquier
explicación que permita comprender, sin lugar a dudas, el porque de cada paso dado y su necesidad.
Para toda aquella información que sea demasiado extensa o técnica se tendrá que evaluar la necesidad o
idoneidad de que aparezca en este apartado o en los anexos, haciendo referencia a los mismos.
Conclusiones. Sólo deben de desarrollarse las conclusiones de las cuestiones planteadas. Ésas
deben de ser:
• Objetivas.
• Precisas.
• Claras.
• Justificadas.
ANEJOS. No existen normas predefinidas para éste apartado. Cualquier aspecto que, por la razón
que sea, no haya podido ser desarrollado a lo largo del informe se puede y debe de añadir en como
anexo y deben de formar parte del mismo como cualquier otro punto, e incluirlos en el índice.
Hay muchos profesionales que piensan que sólo los informes forenses que cumplan con el contenido de
este estándar deberían de ser admitidos como entregables para un proceso penal ya que permite identificar
las capacidades del analista forense o, por lo menos, que sigue las normas marcadas para la realización
del análisis forense.
Capítulo 7: METODOLOGÍA
PROPUESTA
Metodología de investigación digital forense basada en Emacs
’El artículo 18 del Estatuto de los Trabajadores autoriza la realización de registros sobre
la persona del trabajador, en sus taquillas y efectos particulares, pero sólo en determinadas
circunstancias (cuando sea necesaria para la protección del patrimonio empresarial y del de
los demás trabajadores de la empresa), y con determinadas condiciones (dentro del centro de
trabajo y en horas de trabajo; respetando al máximo la dignidad e intimidad del trabajador y
contándose con la presencia de algún representante legal de los trabajadores).’1
Con esta introducción no pretendo ahondar en cuestiones tales como si los archivos personales y el correo
electrónico de los trabajadores son simples ’efectos particulares’, o pertenecen al ámbito de la intimidad
del trabajador, ya que no son objeto de este PFC 2 . Sin embargo, quería destacar la importancia de
conocer y acatar la legislación vigente, al margen de las buenas prácticas a aplicar.
Una vez finalizadas las explicaciones acerca de las buenas prácticas estandarizadas, voy a combinar en la
medida de lo posible dicho conocimiento con algunos de los conocimientos que he recabado de lecturas
de libros, blogs y documentación varia que se recoge en la bibliografía, y así disponer de una metodología
propia acorde con las buenas prácticas y experiencias de terceros, incluyendo las mías propias.
En mi opinión, el hecho de que el origen de determinada información no sea parte de la documentación
de un estándar no le quita valor, ya que se trata del conocimiento de los expertos que trabajan día a día
en este campo, y que, en resumen, aplican el sentido común a una labor ya de por si ’desquiciante’ en
muchos casos.
Una buena práctica que se repite mucho es, que si el equipo está encendido, es una buena opción obtener
una fotografía de la pantalla y apagarlo. ¿Y esta práctica no va en contra de los estándares anteriormente
comentados? Pues no. Puesto que pudiera haber información importante relativa a archivos temporales
o archivos críticos como, en el caso de sistemas Windows, el de paginación de memoria, podría optarse
por apagar el equipo cortando el suministro de energía. Obviamente, en este procedimiento, la pérdida
más relevante la constituyen la información relativa a la red y a la memoria RAM. Sin embargo, tal como
comenta la norma y el estándar, hay que tener presente las circunstancias del caso y el tipo de escenario
al que hay que enfrentarse para adoptar la decisión adecuada. En el caso de que la información de red y
de la memoria RAM fuesen críticas, sería imprescindible contar con testigos que pudieran refrendar las
1 http://archivo.cnt.es/Documentos/legislacion/legi_correoe.htm.
2 Un artículo interesante al respecto ’PROBLEMAS DERIVADOS DE LA UTILIZACIÓN DEL CORREO ELECTRÓ-
NICO E INTERNET EN EL ÁMBITO LABORAL’ es accesible en http://www.uria.com/documentos/publicaciones/
1235/documento/trib04.pdf?id=2029.
acciones realizadas y que pudieran atestiguar que no se ha realizado ninguna acción enfocada a manipular
datos, sólo a adquirirlos. No obstante, siempre habrá que tener prevista una respuesta en la vista judicial
para una defensa de las acciones realizadas.
Muchas organizaciones integran en sus procedimientos mecanismos para hacer uso de testigos en casos
concretos, como intervenciones de equipos de trabajo en procesos complejos. Para estos casos, suele
requerirse que todo el proceso de identificación, recolección o adquisición de las posibles evidencias
digitales sea llevado a cabo en presencia de una persona del comité sindical y el propio afectado, o en
su defecto dos personas de la organización totalmente independientes a las circunstancias del caso. La
integración de dichos mecanismos en los procedimientos derivados de los procesos forenses garantiza,
sobretodo si hay que entrar en procesos judiciales, la correcta ejecución de los procedimientos, habién-
dose realizado una serie de acciones específicas, con testigos concretos que pueden refrendar los hechos.
Al inicio del proyecto o investigación, antes de iniciar ningún proceso, hay que dar respuestas (por
escrito) a una serie de preguntas fundamentales. Algunas de las preguntas básicas son:
He observado que en ocasiones los profesionales e incluso los mismo estándares, tratan en distintos
procesos las mismas actuaciones (procedimientos). Un ejemplo claro es el procedimiento de copia de
disco, que se trata en la adquisición y el análisis, por lo que, con el objetivo de tratar de simplificar y
clarificar la metodología propuesta, he aplicado el sentido común a la hora de desarrollar cada uno de los
procesos, tratando de no repetir actuaciones iguales en procesos distintos. Sin embargo, y dado que hay
actividades muy relevantes, estas aparecerán reiteradas para mayor concienciación del lector.
A continuación, tal como he comentado, he recogido las prácticas de distintos profesionales a la hora
de trabajar sobre el terreno y, de acuerdo al contenido de los estándares de investigación forense y bue-
nas prácticas actuales, tanto técnicas como normativas o legislativas, he desarrollado una propuesta que
abarca desde el inicio de una investigación digital forense hasta la consolidación de la misma en forma
de informe forense, que igualmente, está alineado con los estándares de documentación internacionales.
Procesos básicos de una investigación forense
En general, está consensuado que existen cinco procesos básicos que se suceden de forma continua y
con dependencia de precedencia entre los mismos, de modo tal, que hasta que un proceso no finaliza, no
comienza el siguiente. Los cinco procesos son:
1. Preparación.
2. Identificación.
3. Recopilación o adquisición.
4. Preservación.
5. Análisis.
6. Consolidación.
Cada uno de estos procesos tiene que estar basado en la Ciencia y en la Técnica y adecuadamente
documentado, seguir una metodología estructurada adecuada a la actuación, ser sistemático, de forma
que sus fases permitan que el proceso sea completo y exhaustivo. Además, los procesos tienen que ser
capaces de ser reproducibles y comprensibles por un experto en la materia, así como proporcionar las
trazas necesarias para contrastar las acciones realizadas y los resultados obtenidos.
Es importante reiterar que los procesos, dependiendo del ámbito y alcance sobre el cual se esté realizando
la actuación, siempre deben de estar basados en protocolos conocidos de actuación y en buenas practicas
como las vistas en apartados anteriores.
Para abarcar por completo el alcance de una investigación forense, en algún proceso, se han especifi-
cado algunas acciones que no se pueden realizar directamente con Emacs por completo, por ejemplo la
realización de fotografías o las entrevistas con el personal involucrado, sin embargo, en algún punto de
la metodología estas acciones se alinearán con el uso de Emacs, ya se incluyendo las fotografías como
parte del informe forense (desarrollado en Emacs) o redactando las actas de las entrevistas.
Por otro lado, si bien se ha tratado la metodología como una secuencia de procesos, la realidad es que
prácticamente en la totalidad de las investigaciones es muy complicado esperar a que finalice cada una de
las fases para iniciar la siguiente, por lo que muchas veces la investigación implica mantener en paralelo
varios de los procesos al tratar distintos activos o evidencias. Sin embargo, el orden de los procesos
siempre debe de respetarse. No es posible iniciar la adquisición de una evidencia sin que esta haya sido
adecuadamente identificada o sin disponer de la documentación necesaria que autoriza al investigador a
acceder al escenario de la investigación.
En el caso del proceso final de consolidación, en el PFC se hará referencia a la misma desde el punto de
vista del informe, en el que se presentan por escrito los resultados de la investigación. Queda fuera
del alcance el planteamiento de la presentación de los resultados en un juicio.
Como se verá a continuación, durante el desarrollo de los procesos que componen la metodología pro-
puesta se van ha nombrar y describir elementos de información que son necesarios para el correcto
desarrollo de la investigación. Como parte del desarrollo de cada uno de los procesos de la metodología
propuesta se facilita una descripción y la correspondiente plantilla (en caso de que sea necesaria para
complementar la descripción) de cada uno de los documentos que se proponen.
Cada uno de estos elementos conforma, en parte o en su totalidad, un documento concreto que debe
de ser creado, mantenido y finalizado adecuadamente, en función de la metodología propuesta, por el
investigador. La extensión de los documentos es variable, y el hecho de que alguno de ellos pueda ser
concreto y escueto no es razón para obviarlo o tratar de integrarlo en otro fichero forzando una relación
que no aporte consistencia a la documentación global.
En la metodología planteada, la integridad y cifrado de documentos desde el momento inicial forma
parte de la misma, por lo que en el momento de la creación de cada uno de los documentos, su extensión
será ’.org.gpg’. De esta forma aseguramos que la información no pueda ser accedida3 , y por lo tanto
manipulada, sin las credenciales adecuadas.
Obviamente, los ficheros cifrados no van a ser los entregables finales, sino que sus contenidos serán
exportados a formato PDF para su entrega al receptor de los mismos.
Los procesos críticos que componen la metodología de investigación forense digital basada en Emacs
son:
Proceso de preparación
Todo el mundo conoce la frase ¿Preparados?. . . ¿listos?. . . ¡Ya!, que es el pistoletazo de salida de
muchos eventos.
De nuevo la semántica es un aspecto interesante en tanto en cuanto las dos cuestiones iniciales que
plantea la frase, en el contexto de arrancar un evento se refiere al estado ’hasta el momento’ y ’en el
momento’ de los participantes.
La correcta preparación de una investigación permite prevenir errores en procesos posteriores o malos
entendidos derivados de la falta de concreción documental que suele convivir con todo tipo de proyectos.
Durante la preparación del proyecto no se accede a ningún activo del cliente.
El objetivo del proceso de preparación es disponer de toda la documentación necesaria para el correcto
inicio de la investigación, por lo que se han identificado los siguientes documentos con el fin de cumplir
con dicho objetivo:
y en el caso de Emacs, el detalle del tiempo dedicado a una tarea se especifica como puede verse
a continuación
** Plan de proyecto
CLOCK: [2015-05-27 Wed 15:31]--[2015-05-27 Wed 22:03] => 6:32
CLOCK: [2015-05-27 Wed 07:35]--[2015-05-27 Wed 14:15] => 6:40
En el capítulo dedicado a la prueba de concepto se desarrolla un plan de proyecto que puede servir
como ejemplo para este tipo de documentos:
\PROYECTOS
\codProy
\PreProyecto
\Planificación
\Evidencias
\Informe
Esta estructura de directorios es muy básica, y puede y debe de ser modificada por el investigador
en la medida que lo estime oportuno.
En sistemas Linux y MacOS, previo a la creación de la estructura de directorios base del proyecto
tal como se especifica anteriormente, se va a crear un sistema de ficheros cifrado utilizando encfs.
Tras la instalación del sistema de ficheros se podría utilizar Emacs para automatizar, por ejemplo,
las siguientes tareas:
4 Se propone TrueCrypt como herramienta de cifrado local, si bien también es posible utilizarla como herramienta de cifrado
remoto.a
5 Se propone encfs como herramienta de cifrado remoto.
6 Se propone keepass como herramienta de gestión de contraseñas, si bien se podrían utilizar pass para entornos Linux/Mac
En el caso de sistemas Microsoft Windows se puede utilizar encfs4win, pero también es posi-
ble utilizar aplicaciones como TrueCrypt para montar un directorio/unidad de disco cifrado, que
permita disponer de un directorio de trabajo desplegado sobre una partición cifrada.
Antecedentes (ATC)
En el documento de antecedentes se debe de especificar la razón concreta por la que el cliente
contacta con el investigador forense para proponerle el proyecto, y el contexto previo a la llegada
del investigador.
En el citado documento debe de comentarse aspectos como por ejemplo, si ha existido algún
antecedente similar, y en caso de que se haya alterado el escenario, en algún modo se han dado
dichas alteraciones.
En particular, no debe de aparecer ningún tipo de nota especulativa acerca de los comentarios del
cliente. El investigador debe de mantener siempre la objetividad en cualquier circunstancia.
En el caso de los antecedentes no se ha considerado necesario la elaboración de una plantilla
debido a su escasa complejidad. Se trata básicamente de un acta de reunión en el que se deben de
documentar los aspectos citados y cualquier antecedente adicional.
En el capítulo dedicado a la prueba de concepto se desarrolla un documento de antecedentes que
puede servir como ejemplo para este tipo de documentos.
Proceso de identificación
Si una investigación se traduce en un fracaso la causa de ello, en términos generales, normalmente radica
en la investigación inadecuada que se ha practicado en el escenario de los hechos.
Se podría decir que, el éxito o fracaso de la investigación, dependerá de cómo se actué en el proceso
de identificación. Para ello se debe de tener muy claro el alcance y objetivo del proceso, que no es otro
que determinar, registrar y describir cada una de los activos que componen el escenario objeto
de la investigación, independientemente de si finalmente son considerados evidencias en si mismos,
contenedores de evidencias o don descartados para tal fin.
Un ejemplo claro de los activos involucrados a identificar son los equipos informáticos, sin entrar en el
detalle de identificar cada una de los dispositivos de almacenamiento que pueda tener conectados salvo
que el acceso sea inmediato al mismo y no implique ningún tipo de modificación del estado del activo
principal. Por lo que se podrá identificar cualquier dispositivo USB conectado al equipo pero no el disco
duro interno del mismo, y mucho menos ficheros concretos del sistema.
En el proceso de identificación hay aspectos relevantes a considerar previo a su desarrollo en función de
si el origen y objetivo de la actuación es por:
Solicitud de un particular, empresa, institución, u otra parte Será responsabilidad del solicitante facili-
tar información que permita al investigador forense establecer que el solicitante está en posesión de
los derechos legítimos sobre la que tiene que actuar y, por tanto, existe la posibilidad e idoneidad
de llevar a cavo la recolección de evidencias. Se tiene que contar con:
La presencia de un notario.
Un encargo por escrito y firmado por el solicitante, en el que se describa claramente el alcance
de la investigación (equivalente al documento de autorización y aceptación de trabajos, de la
fase de preparación), y que autorice al investigador forense para la realización de la actuación.
Revisión del contexto legal que afecta al escenario, dispositivo, elemento o información que se va
a analizar, las autorizaciones legales necesarias, cuales son los prerrequisitos, sobre que se debe
actuar, quien debe intervenir, quien puede estar presente, cual es el limite de la actuación. La
actuación debe transcurrir dentro de los parámetros de la legalidad, de tal modo que una incidencia
no invalide las posibles evidencias obtenidas.
Revisar que, para realizar una actuación correcta y adecuada sobre el objeto de la investigación, se
dispone de:
Dado que, como se ha visto, en este punto de la investigación es imposible diferenciar entre un
activo involucrado en la investigación y las distintas evidencias concretas que puede contener el
mismo, ya que éste puede ser una evidencia en si mismo, es necesario:
A modo de guía, y tras las consideraciones anteriormente desarrolladas, el investigador está en disposi-
ción de iniciar la identificación efectiva de las posibles evidencias en el escenario a analizar.
Si bien no se va a actuar sobre los activos ya que las tareas se limitan a la identificación de los mismos,
algunas de las precauciones que debe tomar el investigador, así como los pasos a seguir son:
Actuar estrictamente dentro del alcance definido en la orden o en el encargo recibido. Se debe de
obtener la autorización adecuada para proceder a actuar (y documentarlo en el registro de inciden-
cias):
Registrar las credenciales de los actores participantes y su vinculación con la actuación en si misma
mediante la documentación de identificación de actores y cuadro relacional.
Previamente al acercamiento físico al escenario (si es el caso) y a los distintos dispositivos, debe-
mos de disponer de las medidas adecuadas para no crear falsos rastros o indicios. Se recomienda
el uso de guantes de látex (sí, eso pone, además de la investigación digital debe de tenerse en
cuenta la investigación forense clásica) para la colocación de las etiquetas.
Reconocer el escenario:
En este punto, hay quien hace referencia a aspectos de la recolección o adquisición de datos, como la
toma de decisiones en el caso de identificar dispositivos encendidos. Sin embargo, por higiene mental y
coherencia metodológica, todos esos aspectos son tratados en los siguientes apartados.
Figura 1: Etiquetas
En muchos casos, sólo existe una posibilidad de adquirir la evidencia, por lo que la adquisición se tiene
que realizar adecuadamente, en la secuencia correcta y con todas las garantías necesarias.
La adquisición de datos puede darse en muy distintos escenarios a los que el analista forense se enfren-
tará, y que demandarán complejos y voluminosos procesos de copiado de datos que pueden requerir el
uso de distintos medios, y para cada uno de ellos hay que aplicar métodos diferentes de tratamiento de la
información. Por ejemplo, el:
• Asegurar que siempre se está trabajando dentro de las condiciones y requisitos de legalidad.
No violar el contexto de privacidad que se debe preservar y contar con las autorizaciones
adecuadas (legales y normativas de la empresa).
• Disponer de los medios y conocimientos para un controlar un contexto continuo en el tiempo
y una compleja localización.
◦ Un ejemplo es el seguimiento de accesos a dispositivos en red mediante el uso de dispo-
sitivos tipo sniffer.
• Se recomienda el uso de la herramienta ’NetCat’ o ’nc’ para la comunicación entre el equipo
origen de los datos y el equipo utilizado por el analista forense.
• Es muy normal dentro del complejo mundo tecnológico actual desconocer la ubicación es-
pecífica de los archivos o que éstos se encuentren ubicados en múltiples medios de almace-
namiento.
• En caso de no poder desplazar al investigador forense a las distintas localizaciones se podrá
utilizar personal local como ’manos remotas’, acceder por medios de comunicación remotos
y trabajar sobre muestras más reducidas de las que se tomarían localmente.
Durante el proceso de identificación el investigador forense debe de haber recolectado toda la informa-
ción requerida para la toma de decisiones durante el proceso de adquisición.
Si el dispositivo está aislado de las comunicaciones, ¿cómo se debe de actuar para mantener su
correcto aislamiento y preservarlo de actuaciones de terceros sin alterar la información contenida
en el mismo?
Apagado • Realizar una copia bit a bit utilizando los métodos forenses adecuados.
• Certificar matemáticamente mediante un algoritmo Hash7 la información obtenida.
• En caso de que sea necesario encenderlo, no hacerlo hasta haber realizado todas las
copias necesarias, haberlas documentado, certificado y facilitado el registro al órgano
competente.
Encendido • Realizar copia bit a bit de todos los elementos que contengan información, apli-
cando el criterio de mayor volatilidad.
• Certificar matemáticamente mediante un algoritmo Hash la información obtenida.
• Previamente a la desconexión o al apagado de un dispositivo, se debe de evaluar:
1. Las posibles implicaciones de desconectar el dispositivo de la red.
2. La posibilidad de que sea accedido y manipulado por terceros durante la actuación
pericial.
El investigador forense debe de disponer de las herramientas adecuadas para la correcta actuación en
función de:
Los elementos de intercomunicación que se necesitan para interactuar con el dispositivo y realizar
la copia.
Los soportes necesarios para preservar la copia de las evidencias de los dispositivos.
Algunos de los conceptos a tener en cuenta seguro que suenan muy obvios, básicamente porque lo son,
pero no por ello deben de ser omitidos en la metodología, ya que en muchas ocasiones el contexto de
la investigación provoca errores en los aspectos más evidentes y en otros casos pueden resultar cuestio-
nes obvias que, por simple desconocimiento pueden comprometer el resultado de la investigación. Es
importante tener en cuenta que:
En el caso de clonado de discos para su adquisición el disco destino deberá ser superior en tamaño
al de origen.
No es necesario clonar los dispositivos utilizando el mismo tipo de dispositivo, por ejemplo un
dispositivo USB puede ser adquirido mediante una copia almacenada en un disco IDE o en otro
dispositivo USB.
El dispositivo de destino no debe de disponer de ningún dato previo. Si no se toma tal precaución es
posible que en el espacio no copiado quedasen restos de datos de otros casos, con el consiguiente
problema de mezcla de evidencias.
El investigador debe de tomar la decisión más adecuada a la hora de utilizar un método u otro
de adquisición en función del escenario al que se enfrenta, el tipo de pruebas que sea necesario
practicar y las herramientas disponibles para realizar el análisis. Por ejemplo, en una investigación
donde hay una componente importante de análisis activo sería adecuado realizar un clonado de
disco. Sin embargo, en el caso de que el objetivo de la investigación radique en buscar una deter-
minada cadena de caracteres o un documento concreto, el método más adecuado, por su escasa
complejidad, sería la generación de una imagen del dispositivo.
Estimar el tiempo que es necesario dedicar para la adquisición de una evidencia depende de facto-
res como el espacio a adquirir, la velocidad de los dispositivos, el tipo de soporte, el tipo de hash a
realizar, si se va a realizar una verificación de copias, que junto a otros factores son elementos que
influyen directamente sobre el tiempo de adquisición.
Se realizará el levantamiento de acta por parte del fedatario publico tras realizarse, por parte del
investigador, la entrega de:
Se facilitará al analista copia del acta del fedatario publico de la entrega de material y documenta-
ción realizada como documentación de la actuación realizada.
El investigador podrá realizar copias de las evidencias para su posterior análisis forense si ese es
el objeto del encargo recibido por el mismo.
Finalmente, volver a recalcar que se tiene que registrar toda actuación realizada, detallando los pasos, el
orden seguido, las copias realizadas, cómo ha quedado identificada cada copia, a quién ha sido entregada,
como se da veracidad y fe de la misma, observaciones de interés que se hayan apreciado, y cualquier dato
relevante para mantener la trazabilidad completa del proceso y de la evidencia.
Proceso de preservación
En este punto ya se ha adquirido la evidencia digital.
La evidencia digital, tal como se ha comentado, es un elemento muy frágil, y puede ser eliminado o
alternado apenas sin dejar rastro.
Las evidencias digitales son manipuladas durante todo el proceso, desde su adquisición hasta su posterior
análisis. Es por esta razón que una de las premisas más importantes que se debe de respetar es no realizar
actuaciones sobre la evidencia original, ya que la misma se podría eliminar, modificar o contaminar.
Continuando con las recomendaciones facilitadas en el apartado anterior, relativas al proceso de adqui-
sición es de obligado cumplimiento, para la correcta preservación de las evidencias digitales que:
Debe obtenerse, como parte de la documentación, una ’función hash’ que garantice que el disco o
la información recolectada o adquirida no ha sido manipulada.
• Se recomienda el uso de, al menos, una herramienta que utilice el algoritmo SHA-1 (Secure
Hash Algorithm). Y de igual modo se desaconseja el uso de herramientas que utilicen el
algoritmo MD5 (Message-Digest Algorithm 5).
• Disponer del hash permite validar,ante la posible realización de análisis contrapericiales, que
las actuaciones realizadas por el analista forense se realizaron sobre los datos originales y
que los resultados obtenidos en dos momentos distintos del tiempo coinciden.
Es recomendable realizar un mínimo de dos copias adicionales al original. Sin embargo, es mejor
disponer de cuatro copias a repartir entre:
• El investigador forense (2 copias, una de ellas se utiliza como imagen origen de todas las
copias que sean necesarias).
• La empresa u órgano de custodia (si lo hay).
• El afectado por el caso.
Proceso de análisis
Hasta el proceso de preservación, la industria dispone de buenas prácticas estandarizadas que permiten
un entendimiento común entre los distintos profesionales, acerca de lo que se entiende como un compor-
tamiento adecuado al enfrentar un proceso determinado. Éste no es el caso del proceso de análisis.
¡Por fin podemos hablar de los analistas forenses dentro de un contexto adecuado!
En la actualidad, la norma ’ISO/IEC 27042 - Tecnología de la información – Técnicas de seguridad
– Directrices para el análisis e interpretación de la evidencia digital’ se encuentra en desarrollo, y su
publicación pretende marcar las directrices a seguir en el análisis e interpretación de la evidencia digital.
En la norma, cuya publicación está prevista para el 28 de febrero de 2015, y de la que apenas hay infor-
mación, se prevé que se trate en profundidad como hacer un análisis de la evidencia digital teniendo en
cuenta los principios de validez, reproducibilidad, repetible, etc. Además, tratará el diseño e implemen-
tación de procedimientos de análisis que permitan ser revisados por un tercero cuando sea necesario e
incluirá temas como la competencia personal que realiza los análisis, entre otros temas.
No es objetivo de este PFC realizar un amplio estudio de cómo analizar evidencias digitales, ya que este
aspecto daría lugar a un estudio de mayor calado técnico y cuyo contenido sería indudablemente más
extenso.
Por lo tanto, en el actual apartado voy a plantear una serie de buenas prácticas y consideraciones ge-
nerales, que permitan la obtención de resultados adecuados en el proceso de análisis de las evidencias,
basado en el conocimiento de distintos expertos en la materia.
En cualquier caso, dada su complejidad, al enfrentarse al proceso de análisis, es necesario valorar el
escenario particular y sus peculiaridades ya que, en función de las mismas, deberá de identificar el modo
de afrontar el mismo. Se podría completar un listado interminable con ejemplos objeto de análisis pericial
y sus grandes diferencias.
Cualquiera que haya visto series de televisión como CSI querría ser analista forense digital (no creo que
pase lo mismo con los médicos forenses, salvo que sea un miembro de la profesión).
Los casos relacionados con análisis de malware, análisis de memoria de dispositivos concretos, descu-
brimiento de técnicas antiforenses o de ocultación (como la estenografía) son ejemplos de escenarios
excitantes e interesantes que se dan en la vida diaria de un analista forense digital.
Sin embargo, estas series sintetizan lo mejor y más entretenido de este trabajo, dejando de lado los
aspectos más tediosos. En muchos casos, el trabajo del analista forense requiere el análisis de archivos
de log interminables o la búsqueda de cadenas de caracteres entre un gran volumen de archivos o zonas
de almacenamiento en disco menos accesibles.
Previo al momento de afrontar el análisis de evidencias, durante el proceso de preparación, se debe de
haber obtenido del cliente la información de contexto que permita desarrollar las siguientes tareas de
análisis:
• Si durante el análisis de los datos disponibles los indicios no estarán definidos con claridad,
se debe de solicitar una orientación adicional al respecto de qué buscar.
• Ejemplos de elementos clave que suelen ser datos que el cliente puede llegar a facilitar son,
un nombre, una URL, una dirección de correo o un teléfono.
• Sin estos datos es muy complejo realizar una investigación en mayor profundidad.
Otra de las primeras tareas a realizar por parte del analista es el desarrollo de los checklist de herramientas
y artefactos (descritos más adelante) en función de la información disponible acerca de los distintos
elementos a analizar.
Las labores de análisis no son tareas que finalizan secuencialmente y tras el desarrollo de un documento.
Normalmente, una vez se dispone de una serie de datos iniciales, las labores de análisis son tareas en
paralelo que en muchos casos se retroalimentan o se complementan para dar lugar a distintos resultados.
No es posible asignarles un tiempo para su completo desarrollo, por lo que es necesario acotarlas en
tiempo asumiendo que se trabaja en modo ’best effort’, y eso es algo muy importante a trasladar al
cliente. Cuanto más tiempo se pueda dedicar al análisis, mejores o más acertadas serán las conclusiones
expuestas en el informe.
En general, el proceso de análisis de una evidencia digital:
Nunca debe de aplicarse sobre los medios originales o sobre la copia en custodia de los anteriores,
sino sobre la copia extraída de éstas últimas, que seguirá utilizándose para realizar sucesivas copias
cuando sean necesarias.
Debe de estar basado en el método científico, ser metódico, sistematizado, y plantear hipótesis
obteniendo evidencias que la refrenden.
Debe permitir el análisis de la información que permita llegar a la obtención de las conclusiones
sobre lo que se desea conocer o determinar.
Debe plantearse con amplitud de miras, evitar la posible pérdida de evidencias por haber circuns-
crito la investigación al marco operativo e indicios originales exclusivamente.
Tiene que ser muy cuidadoso con el tratamiento de aquellos datos que puedan afectar a la intimidad
de las personas objeto de investigación.
• Saltar de una evidencia a otra sin una visión clara se reflejará sobre el informe resultante.
Debe anotar cualquier apreciación relativa a información obtenida directamente o a partir del cruce
de resultados.
Las herramientas no utilizadas de forma adecuada serán de escasa o nula utilidad. La experiencia ha
mostrado lo potentes que pueden llegar a ser aplicaciones sencillas utilizadas por manos expertas.
No existen varitas ni teclas mágicas para afrontar en un caso la fase de análisis. Cada uno de ellos
presenta sus peculiaridades y es muy importante desprenderse desde un principio de prejuicios y
conclusiones preconcebidas.
No debe olvidarse tampoco, que en ocasiones la visión profesional de un tercero puede dar aire
fresco a la investigación en momentos de bloqueo de ésta.
Es directamente dependiente de la experiencia y efectividad del analista forense, ya que éstos son
la clave para obtener resultados válidos y fiables.
Como curiosidad, a continuación he seleccionado algunas frases que creo realmente relevantes,
escritas por el escritor inglés Arthur Conan Doyle (1859–1930) y que puso en boca de Sherlock
Holmes, un detective ficticio (y en mi opinión un gran investigador / perito / analista) creado por
él:
Cada análisis es único en función de parámetros como antecedentes conocidos, objetivo, medios, eviden-
cias recolectadas y el estado de las mismas.
En algunos escenarios concretos, como es el caso de los dispositivos móviles , existe documentación
acerca de buenas prácticas o técnicas de análisis. La web del NIST es una buena fuente de documentación
para disponer de algunos procedimientos gratuitos, y adicionalmente, previo pago, otras organizaciones
han desarrollado documentación relativa a diferentes temas como:
Sistemas operativos.
Si bien al analista forense le llega toda la información recuperada, en muchos casos va a ser necesario
aplicar técnicas y herramientas específicas de reconstrucción de información debido a acciones de bo-
rrado, formateo o simplemente daños accidentales, así como para completar la información relevante de
cada archivo, como pudieran ser los metadatos del mismo, que permiten conocer aspectos como el ciclo
de vida del mismo, fechas y horas de la creación, accesos, modificaciones, y otra información de interés
en función del origen. Por otro lado, en función del estado de la información, es recomendable contar
con los servicios especializados de expertos en este tipo de actividades.
En el capítulo dedicado a la prueba de concepto se desarrolla un ejemplo de documentación del proceso
de análisis que puede servir como ejemplo para este tipo de documentos.
Proceso de consolidación
El análisis de las evidencias, permite al investigador (efectivamente, de nuevo se trata del investigador,
ya que es posible que no sea el analista el responsable de desarrollar los informes) llegar a una serie de
conclusiones determinadas que deben quedar reflejadas en el informe de análisis forense.
Normalmente se utiliza indistintamente las palabras ’informe’ y ’dictamen’ cuando semánticamente son
distintos.
Informe de Resumen ejecutivo Informe diseñado para proporcionar al lector la información más críti-
ca, un análisis sin desarrollar los aspectos técnicos y conclusiones objetivas e imparciales.
En última instancia es responsabilidad del investigador forense la elaboración del informe y éste dispone
de total libertad para la redacción del mismo en cuanto a formato, estructura y contenido.
Algunas recomendaciones recabadas de la documentación estudiada y que no han sido nombradas explí-
citamente, o que considero importante repetir, son:
8 Por ejemplo http://i-sight.com/investigation/investigation-report-essentials/.
Especificar la razón concreta por la que el cliente contacta con el analista forense para proponerle
el proyecto.
Enumerar las evidencias (si se dispone de fotografías, el número debe de aparecer al lado) facili-
tando además sobre ellas toda la información posible.
El ’Principio de intercambio’ formulado por Locard afirma que ’siempre que dos objetos entran en
contacto transfieren parte del material que incorporan al otro objeto’.
El exceso de información es tan grave como la falta de la misma, ya que puede desembocar en
desinformación o falta de claridad.
Siempre que sea necesaria, podrá establecerse la correlación existente entre los distintos análisis.
Los datos deben ser el hilo conductor de la investigación, realzando los más significativos.
El análisis debe reflejar la pericia del analista forense así como la eficacia de los métodos y apli-
caciones empleadas.
Las conclusiones son uno de los apartados finales del informe, sin embargo muy probablemente
será el punto que se lea en primera instancia.
El analista debe de abstraerse de las circunstancias externas del caso, sin que las consecuencias
posteriores que las conclusiones de su labor pueden acarrear afecten a su juicio.
No es objetivo del analista elucubrar sobre las posibilidades que pueden aportar datos no analizados
por alguna circunstancia ajena al analista, pero sí debe de reflejar en el informe que a partir de ellos
podría ser posible ampliar las conclusiones.
http://static.eluniversal.com/2008/05/15/infointerpol.pdf
• Ejemplo de informe pericial de carácter ’oficial” elaborado por la Interpol sobre los ordena-
dores y equipos informáticos de las FARC decomisados en Colombia.
Previo a la entrega del informe definitivo, se recomienda tener una reunión con el cliente, explicar el
contenido del informe y aclarar cualquier duda que pueda surgir. Esto facilitará la comprensión del
contenido del mismo por los interesados. Sin embargo, de nuevo, hay que insistir en la independencia de
analista, por lo que lo acontecido en dicha reunión no debe de afectar a las conclusiones del mismo.
Finalmente, el investigador forense debe de mantener bajo su propia custodia una copia del informe
entregado así como las trazas de los análisis y pruebas realizadas durante la actuación que le permitan
recordar, en cualquier momento, todo lo necesario como para trasladar sus conclusiones sin ninguna
sombra de duda.
¿Para qué es necesario seguir un proceso adecuado y desarrollar la documentación descrita?
Supongamos que, como analista forense, me encuentro ante la necesidad de presentar mi análisis a un
Juez explicando que, por ejemplo, a través del análisis de la memoria RAM de un equipo corporativo
se ha identificado una dirección de memoria que permite tener constancia de la manipulación de un
proceso del sistema que interfiere en las pulsaciones del teclado. Y que, además, dicha manipulación se
produjo por la instalación de una aplicación que, aunque en el registro del sistema aparezca realizada
por el usuario demandante, se cree que en realidad fue llevada a efecto por el demandado, mediante una
intrusión en el sistema del usuario demandante a través de una vulnerabilidad en la máquina virtual de
Java del equipo del mismo.
Tras la experiencia laboral de presentar un informe forense claro y conciso, en el que sólo había que
entender el concepto de dirección IP a nivel usuario y que el Juez, tras no enterarse de nada, ordenase
tomar nota de dicha dirección sin los puntos que separan los cuatro octetos, es inmediato deducir que la
posibilidad de transmitir la información del caso anteriormente planteado a un juez, y que comprenda
mínimamente el contexto para tomar una resolución, es una labor casi imposible.
Sin embargo, un informe completo, descriptivo, profesional, riguroso, respetuoso y argumentativo, junto
a una buena cronología acompañada de un mapa relacional y conservando copia de todo lo necesario
para poder, en un momento dado, rememorar todo el proceso y las actuaciones, siendo capaz de realizar
una exposición o dar las pertinentes explicaciones en un tribunal, pueden permitir al Juez entender mejor
la situación desde un plano menos técnico, como ha transcurrido la misma y con ella determinar cuales
son los momentos importantes y las evidencias que pueden refrendar o aportar información sobre lo
acontecido.
En definitiva, y a pesar de lo descrito anteriormente, en muchas ocasiones, un analista forense tiene
que hablar de ’interpretaciones’, como asociar el concepto de dirección IP a la dirección postal de una
vivienda, en lugar de hechos claros, ante lo cual serán los datos más simples y asequibles, alejados de
complejos planteamientos técnicos los más útiles para la labor tanto de analistas forenses como abogados.
Finalmente, una vez se ha acordado con el cliente el fin de la investigación, es necesario que se firme el
documento de aceptación de fin de proyecto.
3. Proceso de análisis
4. Cronograma de actividades
1. Diagrama temporal
5. Análisis de artefactos
6. Direcciones IP implicadas
7. Alcance de la intrusión
9. Recomendaciones
10. Referencias
11. Anexos
En el caso del informe forense digital no se ha considerado necesario la elaboración de una plan-
tilla debido a su complejidad y el nivel de personalización que puede desarrollarse, pero se han
desarrollado una serie de recomendaciones que se exponen a continuación.
• Documento
◦ Paginación: Todas las páginas deben estar numeradas.
◦ Cabecera/Pie:
Título
Código de ref
Fecha de liberación del informe
Numeración (x de y)
• Portada
◦ Título
◦ Cod. de expediente/procedimiento (si existe)
◦ Datos del peticionario de la actuación
◦ Datos del destinatario del informe
◦ Datos del investigador
◦ Datos del letrado (si procede)
◦ Datos de la localización física del análisis (Dirección, Coordenadas GPS o UTM, enlace
a Google Maps.)
• Declaración de tachas
El analista forense debe de expresar por escrito que actúa de buena fe y que no existe ningún
motivo por el cual deba de abstenerse de realizar el informe.
• Juramento o promesa
El informe pericial no puede ser desarrollado por una persona relacionada con el proceso. El
analista debe de ser independiente y objetivo, además de poseer los conocimientos necesarios
para desarrollarlo.
Este texto es en cierto modo irrelevante, ya que el mero hecho de aceptar el trabajo de realizar
el informe conlleva las obligaciones que desarrolla ésta declaración. La misma implica que
el analista forense:
◦ Está procediendo bajo juramento o promesa de decir la verdad, y haber actuado con la
mayor objetividad e imparcialidad posible.
◦ Está en conocimiento de las sanciones penales de no actuar de ese modo.
• Índice general
En el presente apartado se explica que su objetivo es facilitar la búsqueda y localización de
la información por los diferentes capítulos.
Se debe de incluir el esquema básico del informe, que se compone de los títulos y numeración
de los puntos más relevantes del informe llegando a la profundidad que el analista forense
considere, siempre que se respeten las normas de simplicidad y claridad.
Este apartado se corresponde con el apartado de ’Objetivos del reto’ del informe técnico del
reto.
• Cuerpo del informe
Los puntos a desarrollar son:
◦ Objeto. Aclara la finalidad del informe forense, e introducir qué es lo que se pretende
con todo el trabajo realizado.
◦ Alcance. Tal como indica su título, en este apartado se desarrolla el alcance de cada una
de las cuestiones que se plantearon en el apartado anterior de forma que quede claro para
el receptor del informe que se ha cumplido con los objetivos acordados, y, en caso de
que el alcance se haya modificado durante el desarrollo del proyecto (siempre de mutuo
acuerdo), que todo aparezca claramente reflejado. Además, se desarrollarán aspectos
como los procesos, recursos, limitaciones, esfuerzo y presupuesto.
◦ Antecedentes. Son los hechos acontecidos con anterioridad al inicio del análisis forense
y que sirven de punto de partida del mismo.
Sin embargo, los antecedentes no deben de condicionar el resultado del informe, y deben
de tomarse como una fuente más de información que debe de ser tratada.
◦ Consideraciones preliminares. Dado que el informe se desarrolla a posteriori, al redactar
este apartado conocemos lo que pensábamos, como analistas previo a realizar el análisis
y la certeza o errores de nuestras consideraciones previas. Aquí se desarrolla todo lo que
el analista forense considere necesario para explicar las decisiones tomadas en función
de la información que se tenía en ese momento, como se desarrolló el trabajo, qué ba-
ses teóricas dieron lugar a la utilización de una u otra tecnología, los procedimientos
seguidos, así como las limitaciones y restricciones que existieron en cada momento.
Toda esta información permitirá conocer y entender como se ha realizado el trabajo, por-
que se ha identificado y extraído determinadas evidencias y otras se han podido perder,
y cómo se ha llegado a las conclusiones presentadas.
◦ Documentos de referencia. Libros, documentos, manuales, normas, información obte-
nida de URLs, etc. Cualquier soporte, físico o electrónico, que haya sido utilizado para
desarrollar el análisis forense.
◦ Terminología y abreviaturas. Todos los términos tecnológicos y abreviaturas que se han
usado en la redacción del informe.
◦ Proceso de análisis
Actuaciones. (Equivale al proceso de análisis del informe del reto) Cada acción
que ejecuta el analista forense debe de estar justificada previo a realizarla, y docu-
mentada durante todo el proceso, de modo que el analista forense se encuentre en
disposición de contestar cualquier cuestión que se le plantee posteriormente.
Este apartado es especialmente importante el las actuaciones complejas, ya que la
memoria no es fiable.
Análisis. (Equivale al análisis de artefactos). Toda la labor realizada por el analista
debe de quedar, de la forma más explícita y resumida posible, plasmada y justificada
en este apartado.
Debe de aparecer reflejado todo el proceso, fundamentado en buenas prácticas o
experiencias previas a falta de las primeras, todas la situaciones que se han ido
dando, la resolución de las mismas y cualquier explicación que permita comprender,
sin lugar a dudas, el porque de cada paso dado y su necesidad.
Para toda aquella información que sea demasiado extensa o técnica se tendrá que
evaluar la necesidad o idoneidad de que aparezca en este apartado o en los anexos,
haciendo referencia a los mismos.
◦ Cronología de eventos
◦ Línea temporal
◦ Conclusiones. (Incluye el alcance de la intrusión). Sólo deben de desarrollarse las con-
clusiones de las cuestiones planteadas. Ésas deben de ser:
Objetivas.
Precisas.
Claras.
Justificadas.
◦ RECOMENDACIONES
En caso de que se soliciten como parte de la investigación digital. En un proceso
forense no son necesarias ya que no forma parte del alcance.
◦ ANEJOS. No existen normas predefinidas para este apartado. Cualquier aspecto que,
por la razón que sea, no haya podido ser desarrollado a lo largo del informe se puede y
debe de añadir en como anexo y deben de formar parte del mismo como cualquier otro
punto, e incluirlos en el índice.
Direcciones IP implicadas
Cualquier documento, nota, fotografía que ayude a entender o reforzar el conteni-
do de la pericial.
Temas técnicos tratados en profundidad.
Descripción de los méritos, menciones, titulaciones y certificaciones, experiencia y
trayectoria que acreditan al analista forense como experto en la materia sobre la que
se ha realizado el informe.
Datos relativos a la fecha de solicitud del informe, el plazo dado para la realización
del mismo y cualquier evento que haya podido modificar en el tiempo los resultados
del análisis, como retrasos justificados o injustificados.
Documento de aceptación de fin de proyecto (AFP)
El documento de aceptación de fin de proyecto debe de ser firmado por el cliente cuando el mismo
considere finalizada la investigación.
El objetivo del documento es dejar por escrito la aceptación del correcto cierre de la investigación.
Este documento debe de ser el origen de las respuestas ante cualquier duda o problema con el
cliente acerca del correcto cierre de la investigación.
En el documento, además de concretar los datos que permitan identificar la investigación, se deben
especificar los datos del cliente, la fecha de fin y la firma de aceptación del cliente.
A continuación se presenta una posible plantilla que se ha desarrollado y adaptado para su uso
mediante Emacs tal y como se puede ver a continuación:
Documento de aceptacion de fin de proyecto.org
Caine
Helix
deft
Masterkey
Plainsight
Estas distribuciones, basadas en Live distros ofrecen funcionalidades para realizar análisis live forensics,
logical acquisition, sparse acquisition y post mortem.
El análisis live forensics o live acquisitions se fundamenta en la obtención de evidencias y análisis de
un equipo mientras el sistema operativo se encuentra en funcionamiento. Este tipo de análisis resultan
especialmente adecuados en escenarios relativos a la identificación de aplicaciones con código malicioso
o de ataques que se producen en red. Dado que en este tipo de situaciones existe una alta posibilidad
de alterar las evidencias es especialmente crítico realizar las copias de seguridad y volcados de datos
necesarios previo al inicio de la investigación.
Dada la complejidad del tipo de análisis anterior a la hora de mantener la integridad del sistema, y en
consecuencia la integridad de las evidencias, el tipo de investigación forense más frecuente es el análi-
sis post mortem, que se realiza sin arrancar el sistema operativo del equipo a analizar. En este tipo de
investigación el riesgo de modificación de evidencias es muy bajo, y se dispone de los elementos necesa-
rios para volver a realizar las pruebas en caso necesario. Este tipo de investigación es especialmente útil
para búsquedas de datos, análisis de registros o recuperación de ficheros eliminados, por citar algunos
ejemplos significativos.
Cuando se trata de identificación de archivos concretos, como la búsqueda de logs, archivos de correo
electrónico u similar, el método utilizado es logical acquisition, y si dentro del ámbito de este tipo
de análisis se contempla la recuperación de ficheros borrados, al mismo se la identifica como sparse
acquisition.
En cualquiera de los tipos enumerados las fases a seguir y las medidas a contemplar son las mismas o muy
similares. A continuación, para cada una de las fases ya desarrolladas en la metodología, se presentarán
una serie de herramientas que permiten el desarrollo de cada una de las mismas.
Escenarios
El uso de Emacs es muy similar en los sistemas operativos objeto del alcance del presente PFC: Linux,
windows y MacOS.
Si bien todos los sistemas operativos disponen de herramientas para la ejecución de distintos test, como se
puede observar en el apartado anterior, los sistemas Linux disponen de un mayor abanico de herramientas
que el resto, por lo que se recomienda su uso.
Hay tres escenarios básicos a la hora de plantear la investigación de un equipo:
Análisis de una máquina virtual a partir de la copia de disco de la original: en la que podemos
realizar las pruebas necesarias repetidas veces, una vez realizadas las copias correspondientes.
Herramientas por procesos
Preparación
La fase de preparación no es estrictamente una fase como tal. Como se ha explicado, se basa en
disponer de todo lo necesario para afrontar el proyecto de investigación forense.
Desarrollar los procesos de negocio, establecer los límite o alcance del proyecto, determinar los
objetivos son tareas que, como se ha podido ver son perfectamente desarrollables utilizando Emacs
como herramienta para la edición de textos.
La herramienta necesaria para el desarrollo de los distintos procedimientos de documentación
es Emacs, y adicionalmente el resto de herramientas que pueden utilizarse como Taskjuggler u
similar.
Identificación
Para la fase de identificación se utilizarán las mismas herramientas que en el caso anterior, dado
que como se ha explicado, hasta el proceso de recopilación no se inician tareas concretas diferentes
del desarrollo de la base de conocimiento inicial.
La herramienta necesaria para el desarrollo de los distintos procedimientos de documentación
es Emacs, y adicionalmente el resto de herramientas que pueden utilizarse como Taskjuggler u
similar.
Recopilación
Como ya se ha comentado es importante recolectar las evidencias en función de su mayor o menor
volatilidad, por lo que en función de dicha prioridad, el orden propuesto es:
- Registros de microprocesador.
- Registros de dispositivos periféricos.
- Información en cache.
- Tabla de enrutamiento.
- Tabla de cache de direcciones ARP.
- Tabla de procesos.
- Núcleo de estadísticas.
- Información de memoria del sistema en ejecución.
- Sistemas de archivos temporales.
- Archivos almacenados en discos rígidos.
- Datos de monitorización del sistema en ficheros de seguimiento.
- Logs de procesos.
- Configuración física.
- Configuración de entorno.
- Topología de red.
- Medios de almacenamiento extraibles (CDs,DVDs, discos USB, etc).
- Unidades de copia de seguridad.
Sin embargo, es la experiencia del investigador y su percepción del entorno lo que tiene que deter-
minar el orden de recogida.
A continuación se desarrollan algunos de los procedimientos básicos a seguir dentro del proceso
de recopilación, utilizando siempre herramientas de línea de comando que pueden ser lanzadas
desde la shell de Emacs. No se va a desarrollar un caso por cada tipo de dato a recopilar ya que el
número de casos de uso es muy alto.
• Copia de memoria
Para realizar la copia de la memoria se utiliza el comando:
dd if=/dev/mem of=memdump.img
Con el contenido del fichero .img podemos utilizar comandos como grep para realizar bús-
quedas e identificar información interesante.
En caso de realizar la copia a través de una red, podemos realizarlo utilizando el comando
netcat para establecer una vía de comunicación con el objetivo.
En el equipo analizado ejecutamos:
where the ip address is the machine we want to send to and the second part (4444) is the port
address. On the listening machine, we type ‘nc -l -p 4444 >memdump.img‘ – here we are
specifiying that we’re listening locally (-l) and on port(-p) 4444.
• Hora del sistema
La hora del sistema es un dato básico, ya que a la hora de desarrollar la cronología relacional
o línea temporal un error en la misma puede dar lugar a conclusiones erróneas.
Se obtiene mediante el comando date para CEST o date -u para UTC.
bash-3.2$ date
Tue Jun 9 13:23:54 CEST 2015
bash-3.2$ date -u
Tue Jun 9 11:24:01 UTC 2015
bash-3.2$
1 md5sum nombre_archivo
2 sha1sum nombre_archivo
3 sha256sum nombre_archivo
4 md5deep -e nombre_archivo
5 sha1deep nombre_archivo
6 sha256deep nombre_archivo
7 tigerdeep nombre_archivo
8 whirlpooldeep nombre_archivo
• Fuzzy Hashing
Ssdeep y sdhash son dos algoritmos de fuzzy hashing que nos permite saber el nivel de
similitud de dos o más archivos.
Preservación
El proceso de preservación de las evidencias no contempla el uso de ninguna herramienta que no
se haya comentado anteriormente.
Análisis
El proceso de análisis es el más heterogéneo a la hora de plantear el uso de herramientas para el
análisis de las evidencias identificadas.
Partiendo de conocimientos básicos como el sistema de ficheros (en el caso de unidades de al-
macenamiento) o sistema operativo (en el caso de dispositivos que dispongan de procesador) de
las evidencias a analizar, tal como se explica en la metodología, se determinará un checklist de
artefactos y de herramientas a utilizar.
Muchos investigadores se plantean realizar exclusivamente el análisis del espacio particionado de
la unidad de disco. Sin embargo el espacio no particionado puede contener información muy rele-
vante, ya que la eliminación consciente de las particiones de un disco utilizando los procedimientos
habitualmente no elimina la información que reside en el espacio no particionado.
File Carving es una técnica de recuperación de ficheros basándose en la estructura de los fiche-
ros y en el contenido, obviando las estructuras del sistema de ficheros.
Esta técnica es usada comúnmente para recuperar ficheros en el área de disco donde no hay nada
almacenado desde el punto de vista de las estructuras del sistema de ficheros, lo que en el caso de
dispositivos dañados equivale a considerar todo el espacio.
Dado un dispositivo de almacenamiento, un File Carver podrá o no reconocer el sistema de ficheros
usado, por lo que es tarea de este determinar que espacio está sin reservar. Esto en algunos casos
significa que se trabajará sobre TODO el disco, lo que no es óptimo, por lo que para reducir esta
cantidad de trabajo, las aplicaciones más avanzadas son capaces de identificar ficheros del sistema
y ficheros pertenecientes a aplicaciones, todo esto basándose en Hashes MD5 y en palabras clave.
Encase y Forensik Toolkit poseen esta funcionalidad que ahorrará mucho trabajo.
Una de las herramientas que más me gusta a mi particularmente es bulk_extractor, sin embargo
existen muchas otras herramientas que pueden ser útiles a la hora de recuperar ficheros como
foremost, scalpel, magicrescue, photorec, recoverjpeg, extundelete, ntfsundelete o
scrounge-ntfs entre otras.
Por otro lado , una de los frameworks forenses más antiguos y actualmente más utilizados es sleuth-
kit, que como se puede ver en el siguiente gráfico, consta de tres (3) fases de análisis desarrolladas
por diferentes herramientas:
mac-robber es una herramienta de investigación digital que recoge datos de ficheros que se en-
cuentran en sistemas de ficheros montados, lo que es muy útil durante el análisis de un sistema en
vivo o para el análisis posterior de un sistema en un laboratorio.
Los datos pueden ser utilizados por la herramienta mactime de Sleuth Kit para hacer una línea de
tiempo de actividad de los ficheros.
Inicialmente había conformado en este punto del proyecto una larga lista de herramientas de los
distintos sistemas operativos que compartían la característica de ser ejecutables desde una shell y
por lo tanto desde la shell de Emacs. Sin embargo al analizarla en detalle me he dado cuenta de que
el listado no aportaba nada al objetivo del proyecto, por lo que decidí eliminarla. Es posible obtener
herramientas adicionales de muchas fuentes libres disponibles en internet, y a continuación pongo
varias de ellas:
• Proyecto Konfía
• Linux Forensics Tools Repository
• SIFT
• OS X Auditor: herramienta de análisis forense para Mac
• New version of Mac OS X Forensics Framework, Pac4Mac 0.3
• Nirsoft
• Sysinternals
Consolidación
La herramienta más importante para la consolidación de toda la información recabada es Emacs
de nuevo, si se obvian herramientas básicas como el ’sentido común’ y la ’objetividad’.
Utilizando Emacs y siguiendo las buenas prácticas metodológicas relativas al desarrollo de los in-
formes se consolidar toda la información obtenida durante la investigación y ésta, posteriormente,
puede ser facilitada en distintos formatos (ya que el formato ORG no es el más adecuado para
directivos o personal no acostumbrado a trabajar con ficheros de texto plano) como HTML, PDF
o similar.
Capítulo 8: PoC
La extensión del actual capítulo es importante y equivale al 50 % aproximadamente del documento. Esto
se debe que a lo largo del documento se ha omitido el contenido de las plantillas y otra documentación
desarrollada para el proyecto con el fin de que el volumen del mismo sea excesivo y se hace referencia
a las carpetas donde ésta se puede consultar. Sin embargo, en la prueba de concepto, se ha considerado
adecuado incorporar toda la documentación generada con el fin de tener un ejemplo práctico accesible
y comentado, y evitar el tener que ir accediendo uno a uno a los distintos documentos facilitados en las
carpetas.
Prueba de concepto
¿Porque un reto forense?
La respuesta es sencilla, si bien llegar a ella ha sido un proceso de prueba y error un tanto laborioso.
Inicialmente mi idea era plantear como prueba de concepto, siempre manteniendo Emacs como elemen-
to central, un ejercicio globalmente amplio a nivel de entornos operativos de trabajo (Linux, MacOS y
Windows), escenarios posibles (para realizar análisis live forensics, logical acquisition, sparse acquisi-
tion y post mortem) y plataformas analizadas (Linux, MacOS, Windows, iOS y Android) pero el mero
planteamiento de un número mínimo de casos de uso a analizar hacía que el proyecto fuese inabarcable.
En segunda instancia traté de plantearlo manteniendo lo que entiendo que comprende todos los aspectos
más importantes:
Tras plantearme distintos alcances y descartarlos debido a que el coste en tiempo de desarrollo eran
inasumibles observé que lo tenía que acotar era el escenario operativo y la plataforma a analizar, dado
que las constantes que no podía obviar eran el uso de Emacs como elemento principal y la validación de
la metodología planteada en función de los datos derivados de su uso.
En ese punto pensé que para comparar mi propuesta metodológica con algo realista, debería de poder
comparar mis resultados con los de otras personas y, de este modo, recordé los retos forenses de Red Iris
que conocí hace años.
Analizando varios retos, seleccioné el Reto Forense - Episodio III ya que a diferencia del resto conseguí
disponer de todos los elementos que necesitaba:
En este caso el reto forense se trata en el capítulo actual desde una perspectiva de investigación forense,
presuponiendo una solicitud por parte de un supuesto cliente, que tiene la intención de ir a juicio en el
caso de que se identifique una intrusión y al autor de la misma. Por lo tanto, el uso de una metodología y
medios adecuados así como el cumplimiento de la legislación española son críticos a la hora de presentar
el informe forense, que es el objetivo final del reto planteado.
Entorno de trabajo: Estación forense
En un primer momento se plantean las tres alternativas lógicas a la hora de seleccionar la plataforma
operativa para soportar la estación de trabajo forense:
Linux
MacOS
Windows
La primera premisa, que cumple cada una de las plataformas, es la posibilidad de instalar y utilizar Emacs
y la totalidad de la funcionalidad del mismo requerido por el desarrollo de la metodología planteada en
el PFC.
Además, cada una de las plataformas operativas es perfectamente funcional y dispone de herramien-
tas forenses adecuadas para realizar las distintas labores forenses de forma alineada con los requisitos
metodológicos y legales que son requeridos.
Hasta este punto cualquiera de las alternativas es viable, sin embargo, se ha descartado como estación de
trabajo forense la plataforma operativa:
Windows: por los problemas derivados del licenciamiento del sistema operativo a medio plazo.
Por lo tanto, como es obvio, se ha seleccionado la plataforma operativa Linux como estación de trabajo
forense. Pero ¿cual de los distintos sabores de Linux es el más adecuado?
En mi caso seleccionaría Linux Debian dado que se trata de mi plataforma de uso diaria, sin embargo, otra
alternativa que surge inmediatamente al plantear esta cuestión es el uso de una de las varias distribuciones
forenses actualmente presentes y en continua evolución.
Tras analizar las alternativas la decisión ha sido un planteamiento mixto. He seleccionado la distribución
mini de Ubuntu 64bits sobre la que es posible desplegar el entorno forense de SIFT, LXDE como entorno
de escritorio X11 liviano, Emacs y cualquier otra herramienta que se requiera.
En el contexto descrito se ha instalado una máquina virtual con los siguientes paquetes:
ENTORNO Linux
Usuario: investigador
Contraseña: forense
Se ha generado el par de claves para el usuario Investigador Forense, con dirección de correo inven-
tada [email protected]:
** Antecedentes :Finalizado:
CLOCK: [2015-05-29 Fri 23:30]--[2015-05-29 Fri 23:36] => 0:05
CLOCK: [2015-05-28 Thu 21:14]--[2015-05-28 Thu 21:40] => 0:26
,- Se inicia el análisis.
Adicionalmente se han desarrollado dos documentos que se incluyen en el principal durante la com-
pilación del mismo y que especifican los datos concretos relativos a las tareas (10-PoC.tji) y los datos
relativos a las horas invertidas, conocido como ~ booking, de cada recurso (20-jljerez.tji).
Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
by Chris Schlaeger <[email protected]>
This program is free software; you can redistribute it and/or modify it under
the terms of version 2 of the GNU General Public License as published by the
Free Software Foundation.
timingresolution 5min
currency ’EUR’
weekstartsmonday
extend resource {
text Phone ’Phone’
}
trackingscenario actual
now 2015-07-20-11:00
flags rolledup
# The daily default rate of all resources. This can be overriden for each
# resource. We specify this, so that we can do a good calculation of
# the costs of the project.
#------------------------------------------------------------------------------#
# Calendarios #
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# Recursos #
#------------------------------------------------------------------------------#
macro AlertColor [
cellcolor plan.alert = 0 ’#00D000’ # green
cellcolor plan.alert = 1 ’#D0D000’ # yellow
cellcolor plan.alert = 2 ’#D00000’ # red
]
macro planificacion_PFC_periodo [
taskreport ’00-PFC-plan=${1}=${2}’ {
headline ’PFC - Planificación del ${1} al ${2}’
scenarios plan, actual
formats html
period ${1} - ${2}
sorttasks tree
# hidetask ~isongoing(actual)
columns bsi { title ’WBS’ }, name, start, end, effort, resources { width 100 ${AlertColor}
listtype bullets
listitem ’<-query attribute=’name’->’
start ${projectstart} end ${projectend}}, chart { scale day width 1500 }
timeformat ’%a %d-%m-%Y %H:%M’
loadunit hours
}
]
macro asignacion_recurso [
resourcereport ’40-${1}-actual=${3}=${4}’ {
headline ’${2} - Planificación del ${3} al ${4}’
scenarios actual
formats html
period ${3} - ${4}
hidetask ~(isdutyof(${1}, actual) & isactive(actual))
hideresource ~(actual.id = ’${1}’)
columns no, name { width 300 }, start, end, effort, effortdone, chart { scale day width 1024
timeformat ’%a %d-%m-%Y %H:%M’
loadunit hours
numberformat ’-’ ’’ ’’ ’.’ 2
}
]
macro planificacion_tarea [
taskreport ’IF-${1}’ {
headline ’${2} - Planificación completa’
scenarios actual
formats html
hidetask ~(plan.id = ’${1}’ | ischildof(${1}))
columns no, name, start, end, effort, chart { scale day width 1024 }
timeformat ’%a %d-%m-%Y %H:%M’
loadunit hours
}
]
macro planificacion_tarea_periodo [
taskreport ’IF-${1}=${3}=${4}’ {
headline ’${2} - Planificación del ${3} al ${4}’
scenarios actual
formats html
period ${3} - ${4}
hideresource 0
hidetask ~(actual.id = ’${1}’ | (ischildof(${1}) & isongoing(actual)))
columns no, name { width 300 }, start, end, effort, chart { scale day width 1024 }
timeformat ’%a %d-%m-%Y %H:%M’
loadunit hours
}
]
macro planificacion_ejecutiva_periodo [
taskreport ’IE-${1}=${3}=${4}’ {
headline ’${2} - Planificación del ${3} al ${4} / <-query attribute=’now’-> ’
scenarios plan, actual
formats html
period ${3} - ${4}
hidetask ~(actual.id = ’${1}’ | (ischildof(${1}) & isongoing(actual)))
columns no, name { width 300 }, start, end, effort, chart { scale week width 1024 }
timeformat ’%a %d-%m-%Y %H:%M’
rolluptask ((treelevel() > 2) | rolledup)
loadunit hours
}
]
macro planificacion_externa_tarea_periodo [
taskreport ’IFE-${1}=${3}=${4}’ {
headline ’${2} - Planificación del ${3} al ${4}’
scenarios actual
formats html
period ${3} - ${4}
hidetask ~(plan.id = ’${1}’ | ischildof(${1}))
hideresource 1
columns no, name, start, end, effort, chart { scale day width 1024 }
timeformat ’%a %d-%m-%Y %H:%M’
loadunit days
}
]
macro horas_recurso [
resourcereport ’HR-RI-${1}=${3}=${4}’ {
headline ’${2} - Dedicación del ${3} al ${4}’
scenarios actual
formats html
period ${3} - ${4}
hidetask ~(isdutyof(${1}, actual) & isactive(actual))
hideresource ~(actual.id = ’${1}’)
columns no, name { width 300 }, start, end, effort, effortdone, daily { scale day width 1024
timeformat ’%a %d-%m-%Y %H:%M’
loadunit hours
}
]
macro planificacion_recurso [
resourcereport ’IP-RI-${1}=${3}=${4}’ {
headline ’${2} - Planificación del ${3} al ${4}’
scenarios plan
formats html
period ${3} - ${4}
hidetask ~(isdutyof(${1}, plan) & isactive(plan))
hideresource ~(plan.id = ’${1}’)
columns no, name, start, end, effortdone, chart { scale day width 1024 }
timeformat ’%a %d-%m-%Y %H:%M’
loadunit hours
}
]
#------------------------------------------------------------------------------#
# Proyecto #
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
# Asignaciones #
#------------------------------------------------------------------------------#
include ’20-jljerez.tji’ { }
#------------------------------------------------------------------------------#
# Informes #
#------------------------------------------------------------------------------#
start ${projectstart}
# Acuerdo de confidencialidad.
task AcuConf ’Acuerdo de confidencialidad’ {
depends !EstrDir
plan:effort 20min
actual:effort 20min
complete 100
}
# Registro de incidencias.
task regInc ’Registro de incidencias’ {
plan:effort 2.0h
actual:effort 10min
complete 100
depends !!ini.IniPro
}
# Identificación de actores.
task idAc ’Identificación de actores’ {
plan:effort 1.0h
actual:effort 110min
complete 100
depends !!ini.IniPro
}
# Registro de incidencias.
task dePre ’Dedicación a preservación’ {
plan:effort 2.0h
actual:effort 15min
complete 100
depends !!rec
}
}
# Checklist de artefactos
task ChkAr ’Checklist artefctos’ {
depends !!pre.dePre
plan: effort 2.5h
actual:effort 180min
complete 100
}
# Informe técnico
task infTec ’Informe técnico’ {
plan:effort 2d
actual:effort 2050min
complete 100
}
- ~pfc - poc-pfc-001~
+ ~0_inf_base~
+ ~1_planificacion~
+ ~2_inicio~
+ ~3_evidencias~
+ ~4_informes~
+ ~5_fin~
Acuerdo de confidencialidad
Toda investigación digital tiene connotaciones de confidencialidad que deben de tenerse en cuenta desde
el inicio de la relación entre las partes. Por ello, la firma de un documento que establezca las condiciones
de la colaboración entre las partes facilita el futuro entendimiento en caso de posibles incidentes futuros
relativos a la confidencialidad de los datos obtenidos durante la investigación.
El acuerdo de confidencialidad creado y que sería entregado al cliente previo al inicio de la investigación
está accesible a través del siguiente enlace:
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’./DOC_ANEXA/notebook.css’ />
En {{{provinciaCli}}}, a {{{date(%d-%m-%Y)}}}.
* REUNIDOS
* EXPONEN
1. Que ambas partes se reconocen capacidad jurídica suficiente para
suscribir el presente documento.
* CONDICIONES
** I. OBJETO
Con el presente contrato las partes fijan formalmente y por escrito los
términos y condiciones bajo las que las partes mantendrán la
confidencialidad de la información suministrada y creada entre ellas.
** II. DURACIÓN
** III. CONFIDENCIALIDAD
** V. CLÁUSULA PENAL
** X. JURISDICCIÓN.
Antecedentes de la investigación
La información relativa a los antecedentes se obtiene a partir de los datos que aparecen en el enlace
http://www.seguridad.unam.mx/eventos/reto/ y se ha concretado con el siguiente formato:
#+TITLE: ANTECEDENTES
#+AUTHOR: José Luis Jerez Guerrero
#+EMAIL: jljerez AT error0x01 DOT net
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil todo:nil title:nil
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
*Clasificación:* CONFIDENCIAL
*Asuntos a tratar:*
- Sucesos identificados.
- Personal implicado.
- Sistemas implicados.
*ASISTENTES*
|---------------+----------------|
| Nombre | Cargo |
|---------------+----------------|
| {{{nomCli}}} | {{{cargoCli}}} |
|---------------+----------------|
| {{{nomProf}}} | {{{tipoProf}}} |
|---------------+----------------|
*Observaciones:*
*ANTECEDENTES*
|-----+----------------------------------------------------------|
| Num | Descripcion |
|-----+----------------------------------------------------------|
| | El administrador de sistemas de una pequeña empresa |
| | ha notado que existe una cuenta que él no creó en su |
| 1 | sistema de ERP (Enterprise Resource Planning), por |
| | lo que el administrador de sistemas sospecha de algún |
| | ingreso no autorizado, del que desconoce el alcance. |
|-----+----------------------------------------------------------|
| | El sistema en que se ejecuta la aplicación es un |
| | servidor Windows 2003, cuya principal función |
| 2 | era proporcionar acceso al sistema ERP a través de |
| | la Web. |
|-----+----------------------------------------------------------|
| 3 | Hace poco tiempo que habían migrado al uso de este |
| | servidor. |
|-----+----------------------------------------------------------|
| | Según el administrador, trataba de mantener el |
| 4 | sistema actualizado por lo que no sabe cómo pudieron |
| | ingresar a su sistema. |
|-----+----------------------------------------------------------|
| | El administrador mencionó que más de una persona |
| 5 | tiene acceso a cuentas privilegiadas en el sistema |
| | y que a veces utilizan estas cuentas para labores |
| | administrativas y personales. |
|-----+----------------------------------------------------------|
| | El administrador mencionó que los usuarios del |
| 6 | servidor utilizan aplicaciones que no requieren |
| | ningún tipo de privilegio para ejecutarse. |
|-----+----------------------------------------------------------|
| | Datos de la imagen del equipo comprometido: |
| 7 | - Sistema Operativo de equipo comprometido: Windows 2003 |
| | - Tamaño de la imagen: <= 6 GB. |
| | - La firmas md5 de la imagen completa, comprimida y |
| | descomprimida, respectivamente, son: |
| | + 062cf5d1ccd000e20cf4c006f2f6cce4 - windows2003.img |
| | + 33a42d316c060c185f41bfcacf439747 - windows2003.img.gz |
|-----+----------------------------------------------------------|
|-----+-------------------------------------------------------------|
| Num | Descripcion |
|-----+-------------------------------------------------------------|
| 1 | No se especifica ningún dato adicional acerca del ERP. |
|-----+-------------------------------------------------------------|
| | No se especifica ningún dato adicional acerca del servdor, |
| 2 | como el nivel de parcheo o funcionalidades/aplicaciones |
| | adicionales del servidor que podrían ser relevantes para |
| | la investigación. |
|-----+-------------------------------------------------------------|
| 3 | No se facilitan fechas, concretas ni aproximadas, relativas |
| | a la instalación o posible intrusión. |
|-----+-------------------------------------------------------------|
| 4 | No se facilita información concreta acerca del nivel de |
| | parches instalados en el sistema o aplicativos instalados. |
|-----+-------------------------------------------------------------|
| 5 | No se facilita un listado de usuarios con acceso al sistema |
| | (ni por lo tanto sus contraseñas). |
|-----+-------------------------------------------------------------|
*COMPROMISOS/ACUERDOS*
|-----+-------------------------------------+---------------+-------|
| Num | Descripcion | Responsable | Fecha |
|-----+-------------------------------------+---------------+-------|
| 1 | firmar el documento de aceptación y | {{{nomProf}}} | |
| | autorización de trabajos | | |
|-----+-------------------------------------+---------------+-------|
| 2 | | | |
|-----+-------------------------------------+---------------+-------|
| 3 | | | |
|-----+-------------------------------------+---------------+-------|
Activos a analizar:
- {{{Activo_1}}}
D/Dª. {{{nomCli}}}
En {{{provinciaCli}}} a {{{date(%d-%m-%Y)}}}.
Para el caso que nos ocupa se ha cumplimentado la plantilla general de forma que el texto queda siguiente
modo:
Registro de exclusiones
Tras revisar el contexto legal y humano de la investigación y el escenario a analizar se observan las
siguientes exclusiones que limitan la misma:
#+tblname: POC-051114-001
|------------------+---------------------------------------------------|
| Código | POC-051114-001 |
|------------------+---------------------------------------------------|
| Exclusion/limite | Se excluye cualquier tipo de fuente de evidencias |
| | adicional a la imagen facilitada. |
|------------------+---------------------------------------------------|
| Motivo | Reglas del reto forense. |
|------------------+---------------------------------------------------|
| Responsable | Organización del reto. |
|------------------+---------------------------------------------------|
#+tblname: POC-051114-002
|------------------+-------------------------------------------------|
| Código | POC-051114-002 |
|------------------+-------------------------------------------------|
| Exclusion/limite | Se excluyen entrevistas o información adicional |
| | por parte del cliente. |
|------------------+-------------------------------------------------|
| Motivo | Reglas del reto forense. |
|------------------+-------------------------------------------------|
| Responsable | Investigador. |
|------------------+-------------------------------------------------|
#+tblname: POC-081114-001
|------------------+-----------------------------------------------------|
| Código | POC-081114-001 |
|------------------+-----------------------------------------------------|
| Exclusion/limite | Se excluye el acceso a datos personales localizados |
| | en la imagen facilitada. |
|------------------+-----------------------------------------------------|
| Motivo | Contexto legal. |
|------------------+-----------------------------------------------------|
| Responsable | Investigador. |
|------------------+-----------------------------------------------------|
/Referencia:/
/Antecedentes:/
- {{{Activo_1}}}
/Requisitos previos:/
* Ficha cliente
/Empresa:/ {{{empCli}}}
* Planificación
#+BEGIN_EXAMPLE
Firma:
de la empresa .
Fecha: 7 de julio de 2015
#+END_EXAMPLE
Registro de incidencias
El documento de registro de incidencias se crea en el momento es el que es requerido, por lo que no es un
documento asociado al proceso de identificación. Sin embargo, a pesar de que en el momento de crearlo
en la investigación que nos ocupa no se ha dado ninguna incidencia, creo que es importante disponer del
mismo desde el inicio aunque en este momento carezca de contenidos.
Por otro lado, si finaliza el proyecto sin incidencias, es importante disponer de dicho documento para
que se disponga de una evidencia que refuerce el argumento de que la investigación se ha iniciado y
finalizado sin incidencias.
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil todo:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../DOC_ANEXA/worg.css’ />
|-----+----------------+--------------+-------------+--------+------------+--------+-------------
| No. | Descripción de | Fecha | Responsable | Estado | Fecha | Fecha | Observacione
| | la incidencia | notificación | | | resolución | cierre |
|-----+----------------+--------------+-------------+--------+------------+--------+-------------
| 1 | | | | | | |
|-----+----------------+--------------+-------------+--------+------------+--------+-------------
| 2 | | | | | | |
|-----+----------------+--------------+-------------+--------+------------+--------+--------
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil todo:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../DOC_ANEXA/worg.css’ />
|-----+-------------------------+-----------------------------------------------|
| No. | Palabras clave | Observaciones |
|-----+-------------------------+-----------------------------------------------|
| 1 | Sistema de ERP | Enterprise Resource Planning |
|-----+-------------------------+-----------------------------------------------|
| 2 | Cuenta comprometida ERP | No se facilita la cuenta |
|-----+-------------------------+-----------------------------------------------|
| 3 | Windows 2003 | Sistema operativo del servidor comprometido |
|-----+-------------------------+-----------------------------------------------|
| 4 | Actualizaciones del SO | El sistema se trataba de mantener actualizado |
|-----+-------------------------+-----------------------------------------------|
| 5 | Cuentas privilegiadas | No se facilitan las cuentas |
| | | Con permisos de administración |
| | | Se utilizan para labores personales |
|-----+-------------------------+-----------------------------------------------|
| 6 | Aplicaciones de usuario | No se especifican las aplicaciones |
| | instaladas | |
|-----+-------------------------+-----------------------------------------------|
Identificación de actores
Los actores iniciales son los que se extrapolan del texto de antecedentes, si bien este documento se
ampliará a medida que se avance en la investigación y se identifiquen nuevos actores.
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil todo:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../DOC_ANEXA/worg.css’ />
|-----+--------------------------+---------------------------------------------------|
| No. | Actores | Observaciones |
|-----+--------------------------+---------------------------------------------------|
| 1 | Administrador | |
|-----+--------------------------+---------------------------------------------------|
| 2 | Empleados con acceso al | Disponen de cuentas con permiso de administración |
| | servidor | en el sistema |
|-----+--------------------------+---------------------------------------------------|
| 3 | *Usuario ERP sospechoso* | Cuenta no controlada por el administrador. Se |
| | | desconoce su origen. |
|-----+--------------------------+---------------------------------------------------|
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil todo:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../DOC_ANEXA/worg.css’ />
us [label=’Usuarios’]
use [label=’Usuarios ERP’]
usw [label=’Usuarios W2003’]
usp [label=’Usuarios privil’]
ad [label=’Administrador’]
re [label=’Resto usu ERP’]
us -> use
us -> usw
use -> ’Usuario ERP sospechoso’ [style=dotted][color=red]
use -> re
usw -> ad
usw -> usp
}
#+END_SRC
#+RESULTS:
[[file:cuadro_relacional.png]]
En este caso también tendríamos que hacer una fotografía de la pantalla tal como la encontramos e
incluso identificarla adecuadamente.
El escenario presentado se representa igualmente en un croquis desarrollado con Emacs siguiendo la
metodología, utilizando ditaa, como el que se puede ver a continuación.
+−−−−−−−+
| cBLU |
| 4 |
| DVD |
+−−−−−−−+
#+END_SRC
#+RESULTS :
[ [ f i l e : IMG / c r o q u i s . png ] ]
Identificación de activos involucrados
Los activos involucrados son los que se extrapolan del texto de antecedentes, si bien este documento, en
otro contexto, se podría ampliar a medida que se avance en la investigación.
Los códigos identificativos deben de corresponderse con los identificadores de las fotografías y de los
croquis si existe relación entre las mismas.
No es necesario dar mayor detalle de los activos ya que éstos se documentan en el documento de cadena
de custodia a partir del momento en que son recolectados o adquiridos.
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil todo:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../DOC_ANEXA/worg.css’ />
|-----+----------------+-------------------------------------|
| No. | Activos | Observaciones |
|-----+----------------+-------------------------------------|
| 1 | CPU | Equipo de trabajo del administrador |
|-----+----------------+-------------------------------------|
| 2 | Teléfono móbil | Teléfono móbil del administrador |
|-----+----------------+-------------------------------------|
| 3 | CPU | Servidor corporativo |
|-----+----------------+-------------------------------------|
| 4 | DVD | |
|-----+----------------+-------------------------------------|
Para el caso de la prueba de concepto, dado que nuestro único activo identificado es la imagen facilitada
por el cliente, el documento de identificación de activos involucrados sería:
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil todo:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../DOC_ANEXA/worg.css’ />
|-----+----------------------------------+----------------------------|
| No. | Activos | Observaciones |
|-----+----------------------------------+----------------------------|
| 1 | Imagen del servidor Windows 2003 | Fichero windows2003.img.gz |
|-----+----------------------------------+----------------------------|
Cadena de custodia
De los activos involucrados que aparecen en el apartado anterior se debería de crear, por cada uno de
ellos, un documento de cadena de custodia.
En la investigación en curso el único activo recopilado es la imagen de disco (windows2003.img.gz)
facilitada por el cliente, por lo que sólo se va a desarrollar un documento de cadena de custodia.
Si bien este documento se inicia dentro del proceso de recopilación, es un documento que permanece en
constante evolución a lo largo del proyecto y mientras s siga tratando la evidencia a la que referencia.
El correcto tratamiento de dicho documento es crítico a la hora de asegurar la validez de la evidencia
frente a cualquier jurado.
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil todo:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../DOC_ANEXA/worg.css’ />
|--------------------+------------------------------------------+--------------------------|
| | Datos | Observaciones |
|--------------------+------------------------------------------+--------------------------|
| Código | 1 | Ver PoC-IAI-001.pdf |
|--------------------+------------------------------------------+--------------------------|
| Activo | {{{Activo_1}}} | Fichero comprimido |
|--------------------+------------------------------------------+--------------------------|
| Hash | 2f53bf2187ce9efcb1ec0e7f930141b36f2f7dc9 | bash-3.2$ shasum -v |
| | | 5.84 |
|--------------------+------------------------------------------+--------------------------|
| Fecha recopilación | [2015-06-14 Sun 10:59] | |
|--------------------+------------------------------------------+--------------------------|
| Forma de recopil. | recolección | No se dispone de |
| | | notario ni fedatario |
| | | público. |
|--------------------+------------------------------------------+--------------------------|
| Tamaño (bytes) | 3500527266 | El fichero descomprimido |
| | | ocupa 5239471104 bytes |
|--------------------+------------------------------------------+--------------------------|
| Número de copias | 3 copias disponibles | 1 en la web |
| | | 1 en servidor NAS |
| | | 1 de trabajo |
|--------------------+------------------------------------------+--------------------------|
| Responsable | {{{nomProf}}} | {{{cargoProf}}} |
|--------------------+------------------------------------------+--------------------------|
* Documentación
- [X] Documentación de proyecto impresa
- [X] [[~/pfc/PFC%20-%20PLANTILLAS/Acuerdo%20de%20confidencialidad.org][Acuerdo de confide
- [X] Antecedentes
- [X] [[~/pfc/PFC%20-%20PLANTILLAS/Autorizacio%CC%81n%20y%20aceptacio%CC%81n%20de%20trabaj
- [X] Cadena de custodia
- [X] Plan de proyecto
- [X] Listado de contraseñas por defecto para dispositivos (BIOS, routers, etc)
- [X] [[~/pfc/PFC%20-%20DOC%20ANEXA/default%20passwords.pdf][default passwords.pdf]]
- [X] [[~/pdf/PFC%20-%20DOC%20ANEXA/Network__4-Admin_List_of_default_Router_Passwords_and_
- [X] https://cirt.net/passwords
- [X] http://www.routerpasswords.com
* Inventario de hardware
- [X] Equipo portátil con puerto serie
- [X] Monitor
- [X] Teclado
- [X] Ratón
- [X] Dispositivo de copia de discos 2½ y 3½
- [X] Unidad de almacenamiento
- [X] CD-ROM Lector/Gravador
- [X] DVD Lector/Gravador
- [X] Pendrive
- [X] Grabadora de voz
- [X] Disco vírgenes
- [X] CD
- [X] DVD
- [X] Hub
- [X] Switch
- [X] Router wifi
- [X] Tarjeta de red
- [X] ethernet
- [X] wireless
- [X] UPS
- [X] Cables
- [X] IDE 40/80 pines
- [X] IDE de alimentación
- [X] SATA 7 pines
- [X] SATA alimentación
* Inventario de sistemas de arranque
- [X] CD de arranque de sistema con herramientas forenses.
- [X] DVD de arranque de sistema con herramientas forenses.
- [X] Pendrive de arranque de sistema con herramientas forenses.
* Herramientas software
- [X] [[http://forensicswiki.org/wiki/Bulk_extractor][bulk-extractor]]
+ bulk_extractor is a computer forensics tool that scans a disk image,
a file, or a directory of files and extracts useful information
without parsing the file system or file system structures. The
results can be easily inspected, parsed, or processed with automated
tools. bulk_extractor also creates a histograms of features that it
finds, as features that are more common tend to be more
important. The program can be used for law enforcement, defense,
intelligence, and cyber-investigation applications.
- [X] [[http://afflib.sourceforge.net/][afflib-tools]]
+ Advanced Forensics Format (AFF) is an extensible open format for the
storage of disk images and related forensic metadata.
- [X] [[http://afterglow.sourceforge.net][AfterGlow]]
+ AfterGlow is a collection of scripts which facilitate the process of
generating link graphs. The tool is written in Perl and needs to be
invoked via the command line.
+ As input, AfterGlow expects a CSV file.
+ A common way of generating the CSV files are parsers which take a
raw input file, analyze it and output a comma separated list of
records based on the data they found. The output of AfterGlow is one
of two formats. Either it generates a dot attributed graph language
file - the input required by the graphviz library - or it can
generate GDF files that can, for example, be visualized with Gephi.
- [X] [[http://www.sleuthkit.org][The Sleuth Kit]]
- Conjunto de herramientas de analisis forense de libre distribucion.
- [X] [[http://es.wikipedia.org/wiki/John_the_Ripper][John the Ripper]]
- John the Ripper es un programa de criptografía que aplica fuerza
bruta para descifrar contraseñas. Es capaz de romper varios
algoritmos de cifrado o hash, como DES, SHA-1 y otros.
- [X] [[http://forensicswiki.org/wiki/Libevt][libevt]]
- The libevt package contains a library and applications to read
Windows Event Log (EVT) files.
- Contains ~evtinfo~, which shows information about
EVT files and ~evtexport~, which exports information from EVT files.
- [X] [[http://www.graphviz.org][graphviz]]
+ Graphviz is open source graph visualization software.
- [X] python
- [X] ipython
- [X] [[http://forensicswiki.org/wiki/Dc3dd][dc3dd]]
+ dc3dd is a patched version of GNU dd with added features for
computer forensics.
- [X] [[http://forensicswiki.org/wiki/Dcfldd][dcfldd]]
+ dcfldd is an enhanced version of dd developed by the U.S. Department
of Defense Computer Forensics Lab.
- [X] [[http://forensicswiki.org/wiki/Exif][Exif]]
+ The Exchangeable image file format (Exif) is an image file format
which adds lots of metadata to existing image formats, mainly JPEG.
- [X] [[http://www.monkey.org/~dugsong/dsniff/][dsniff]]
+ dsniff is a collection of tools for network auditing and penetration
testing. dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and
webspy passively monitor a network for interesting data (passwords,
e-mail, files, etc.). arpspoof, dnsspoof, and macof facilitate the
interception of network traffic normally unavailable to an attacker
(e.g, due to layer-2 switching). sshmitm and webmitm implement
active monkey-in-the-middle attacks against redirected SSH and HTTPS
sessions by exploiting weak bindings in ad-hoc PKI.
- [X] [[http://www.thoughtcrime.org/software/sslsniff/][sslsniff]]
+ It is designed to MITM all SSL connections on a LAN, and dynamically
generates certs for the domains that are being accessed on the fly.
- [X] [[http://es.wikipedia.org/wiki/Fdupes][fdupes]]
+ Fdupes es un programa para escanear directorios en busca de ficheros
duplicados, con opciones para listarlos y borrarlos. Primero compara
los tamaños de los ficheros y firmas MD5, y después realiza una
verificación byte-a-byte.
- [X] [[http://es.wikipedia.org/wiki/Netcat][Netcat]]
+ Netcat es una herramienta de red que permite a través de intérprete
de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un
HOST (quedando netcat a la escucha), asociar una shell a un puerto
en concreto (para conectarse por ejemplo a MS-DOS o al intérprete
bash de Linux remotamente) y forzar conexiones UDP/TCP (útil por
ejemplo para realizar rastreos de puertos o realizar transferencias
de archivos bit a bit entre dos equipos).
- [X] [[http://es.wikipedia.org/wiki/PDFtk][PDFtk]]
+ PDFtk o the PDF toolkit es una herramienta de código abierto
multiplataforma para la munipulación de documentos PDF. pdftk es
básicamente un front end de la biblioteca iText(compilada a código
nativo usando GCJ), capaz de dividir, combinar, cifrar, descifrar,
descomprimir, recomprimir y reparar documentos PDF. Puede también
ser utilizada para manipular marcas de agua, metadatos, o para
llenar formularios PDF con datos FDF (Forms Data Format) o datos
XFDF (XML Form Data).
- [X] [[http://www.cabextract.org.uk][cabextract]]
+ Free Software for extracting Microsoft cabinet files, also called
.CAB files. cabextract is distributed under the GPL license. It is
based on the portable LGPL libmspack library. cabextract supports
all special features and all compression formats of Microsoft
cabinet files.
- [X] [[https://gitlab.com/cryptsetup/cryptsetup][cryptsetup]]
+ Cryptsetup and LUKS - open-source disk encryption
- [X] [[http://www.nowrap.de/flasm][flasm]]
+ free command line assembler/disassembler of Flash ActionScript
bytecode.
- [X] [[http://foremost.sourceforge.net][foremost]]
+ Foremost is a console program to recover files based on their
headers, footers, and internal data structures. This process is
commonly referred to as data carving. Foremost can work on image
files, such as those generated by dd, Safeback, Encase, etc, or
directly on a drive. The headers and footers can be specified by a
configuration file or you can use command line switches to specify
built-in file types. These built-in types look at the data
structures of a given file format allowing for a more reliable and
faster recovery.
- [X] [[https://www.thc.org/thc-hydra/][hydra]]
+ THC-Hydra es un archi conocido Software que intenta crakear por
fuerza bruta la contraseña de una cantidad impresionante de
protocolos: TELNET, FTP, HTTP, HTTPS, HTTP-PROXY, SMB, SMBNT,
MS-SQL, MYSQL, REXEC,RSH, RLOGIN, CVS, SNMP, SMTP-AUTH, SOCKS5, VNC,
POP3, IMAP, NNTP, PCNFS, ICQ, SAP/R3, LDAP2, LDAP3, Postgres,
Teamspeak, Cisco auth, Cisco enable, AFP, LDAP2, Cisco AAA
(incorporado en el módulo de Telnet).
- [X] [[http://packages.ubuntu.com/precise/libafflib0][libafflib0]]
+ support for Advanced Forensics format
- [X] [[http://forensicswiki.org/wiki/Libewf][libewf]]
+ Libewf is a library to access the Expert Witness Compression Format
(EWF).
Checklist de artefactos
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../DOC_ANEXA/worg.css’ />
*Ficheros de registro*
- /WINDOWS/system32/config/software ::
- /WINDOWS/system32/config/system ::
- /WINDOWS/system32/config/security ::
- /WINDOWS/system32/config/SAM ::
- /WINDOWS/system32/config/default ::
- /Documents\ and\ Settings/$USUARIO$/NTUSER.DAT ::
- /Documents\ and\ Settings/$USUARIO$/Local Settings/History/History.IE5/index.dat ::
- /Pagefile.sys :: El archivo de paginación es un archivo que Windows
utiliza como si fuera memoria RAM (Memoria de acceso
aleatorio). Este archivo esta situado en la raiz del
disco duro y por defecto lo marca como oculto. El
archivo de paginación y la memoria física conforman
la memoria virtual. De manera predeterminada, Windows
almacena el archivo de paginación en la partición de
inicio, que es la partición que contiene el sistema
operativo y sus archivos auxiliares. El tamaño
predeterminado o recomendado del archivo de
paginación es igual a 1,5 veces la cantidad total de
memoria RAM.
Correspondencias:
+ HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate
- Zona horaria:
+ HKLM\SYSTEM\ControlSet001\Control\TimeZoneInformation\StandardName
+ HKLM\SYSTEM\ControlSet001\Control\TimeZoneInformation\DaylightName
- Software instalado:
+ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- Tarjetas de red:
+ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\
- Paramétros de red:
+
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
+ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
- Profile list
+ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
- Firewall
+
HKEY_LOCAL_MACHINE\RegTemp\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\
- Unidades compartidas
+
HKEY_LOCAL_MACHINE\\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares
- URLs accedidas
+ HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs
- Documentos recientes
+ NTUSER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
*ficheros Log*
*Cookies*
Para ver el contenido de una cookie, sólo tenemos que editarla con un
editor de texto. Las cookies se almacenan en memoria hasta que salimos
del navegador, momento en el que se escriben en el disco. Para ver las
cookies que nos pide un determinado sitio Web cuando estamos conectados,
podremos escribir en la barra de direcciones este simple comando:
JavaScript:alert(document.cookie);
Cada nuevo Service Pack contiene todas las soluciones incluidas en los
anteriores, es decir, cada Service Pack es acumulativo. Para mantener
actualizado nuestro sistema sólo necesitaremos instalar el último
Service Pack para cada producto o versión de Windows, ya que los Service
Packs son específicos para cada producto. No se utiliza el mismo Service
Pack para actualizar un Windows XP, que para actualizar un Windows 2000,
por ejemplo.
#+LANGUAGE: es
#+CATEGORY: PFC
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+STARTUP: fninline fnadjust
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} _:{} -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+OPTIONS: author:nil date:nil tags:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: Actual (a) Pendiente(p) Finalizado (f)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+INFOJS_OPT: view:showall toc:t ltoc:t mouse:underline path:http://orgmode.org/org-info.js
#+HTML_HEAD: <link rel=’stylesheet’ type=’text/css’ href=’../../DOC_ANEXA/worg.css’ />
* Tareas de análisis
Todas las tareas del análisis se han realizado desde Emacs. Sin embargo,
en muchos casos existen varias herramientas que permiten acceder a la
información deseada, por lo que, con el objetivo de poder disponer de
conocimientos acerca de distintas herramientas, iré utilizando varias de
ellas a pesar de que con menos herramientas también sería posible
realizar el análisis.
[[./PoC-PFC-001/3_EVIDENCIAS/bloqueo_fichero_MacOs.png]]
** Ejecutamos bulk-extractor
#+NAME:bulk-extractor
#+BEGIN_SRC sh
#Data carving
cd ~/Escritorio/pfc/PoC-PFC-001/3_EVIDENCIAS/
bulk-extractor -o output ./windows2003.img
#+END_SRC
#+BEGIN_EXAMPLE
00000000: eb52 904e 5446 5320 2020 2000 0208 0000 .R.NTFS .....
00000010: 0000 0000 00f8 0000 3f00 ff00 3f00 0000 ........?...?...
00000020: 0000 0000 8000 8000 fd25 9c00 0000 0000 .........%......
00000030: 0000 0400 0000 0000 5fc2 0900 0000 0000 ........_.......
00000040: f600 0000 0100 0000 d085 03a8 b603 a8a4 ................
00000050: 0000 0000 fa33 c08e d0bc 007c fbb8 c007 .....3.....|....
00000060: 8ed8 e816 00b8 000d 8ec0 33db c606 0e00 ..........3.....
00000070: 10e8 5300 6800 0d68 6a02 cb8a 1624 00b4 ..S.h..hj....$..
00000080: 08cd 1373 05b9 ffff 8af1 660f b6c6 4066 ...s......f...@f
00000090: 0fb6 d180 e23f f7e2 86cd c0ed 0641 660f .....?.......Af.
000000a0: b7c9 66f7 e166 a320 00c3 b441 bbaa 558a ..f..f. ...A..U.
000000b0: 1624 00cd 1372 0f81 fb55 aa75 09f6 c101 .$...r...U.u....
000000c0: 7404 fe06 1400 c366 601e 0666 a110 0066 t......f‘..f...f
000000d0: 0306 1c00 663b 0620 000f 823a 001e 666a ....f;. ...:..fj
000000e0: 0066 5006 5366 6810 0001 0080 3e14 0000 .fP.Sfh.....>...
000000f0: 0f85 0c00 e8b3 ff80 3e14 0000 0f84 6100 ........>.....a.
00000100: b442 8a16 2400 161f 8bf4 cd13 6658 5b07 .B..$.......fX[.
00000110: 6658 6658 1feb 2d66 33d2 660f b70e 1800 fXfX..-f3.f.....
00000120: 66f7 f1fe c28a ca66 8bd0 66c1 ea10 f736 f......f..f....6
00000130: 1a00 86d6 8a16 2400 8ae8 c0e4 060a ccb8 ......$.........
00000140: 0102 cd13 0f82 1900 8cc0 0520 008e c066 ........... ...f
00000150: ff06 1000 ff0e 0e00 0f85 6fff 071f 6661 ..........o...fa
00000160: c3a0 f801 e809 00a0 fb01 e803 00fb ebfe ................
00000170: b401 8bf0 ac3c 0074 09b4 0ebb 0700 cd10 .....<.t........
00000180: ebf2 c30d 0a41 2064 6973 6b20 7265 6164 .....A disk read
00000190: 2065 7272 6f72 206f 6363 7572 7265 6400 error occurred.
000001a0: 0d0a 4e54 4c44 5220 6973 206d 6973 7369 ..NTLDR is missi
000001b0: 6e67 000d 0a4e 544c 4452 2069 7320 636f ng...NTLDR is co
000001c0: 6d70 7265 7373 6564 000d 0a50 7265 7373 mpressed...Press
000001d0: 2043 7472 6c2b 416c 742b 4465 6c20 746f Ctrl+Alt+Del to
000001e0: 2072 6573 7461 7274 0d0a 0000 0000 0000 restart........
000001f0: 0000 0000 0000 0000 83a0 b3c9 0000 55aa ..............U.
00000200: 0500 4e00 5400 4c00 4400 5200 0400 2400 ..N.T.L.D.R...$.
00000210: 4900 3300 3000 00e0 0000 0030 0000 0000 I.3.0......0....
#+END_EXAMPLE
Mirando los primeros bytes con un editor hexadecimal puede verse que
corresponde a la cabecera de un sistema de ficheros NTFS.
#+NAME:fsstat
#+BEGIN_SRC sh
#Información del sistema de ficheros
fsstat ~/Escritorio/pfc/PoC-PFC-001/3_EVIDENCIAS/windows2003.img
#+END_SRC
#+BEGIN_EXAMPLE
FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: NTFS
Volume Serial Number: A4A803B6A80385D0
OEM Name: NTFS
Version: Windows XP
METADATA INFORMATION
--------------------------------------------
First Cluster of MFT: 262144
First Cluster of MFT Mirror: 639583
Size of MFT Entries: 1024 bytes
Size of Index Records: 4096 bytes
Range: 0 - 19632
Root Directory: 5
CONTENT INFORMATION
--------------------------------------------
Sector Size: 512
Cluster Size: 4096
Total Cluster Range: 0 - 1279166
Total Sector Range: 0 - 10233340
,+NAME:montar_disco
,+BEGIN_SRC sh
, Montar la imagen de disco
sudo kpartx -v -a windows2003.img
sudo mount /dev/loop0 /media/investigador/ -o -ro
#+END_SRC
#+BEGIN_EXAMPLE
Welcome to the Emacs shell
#+BEGIN_EXAMPLE
4 REG_DWORD <InstallDate> 1138258604 [0x43d872ac]
#+END_EXAMPLE
#+BEGIN_SRC javascript
function timeToHuman()
{
var theDate = new Date(document.u2h.timeStamp.value * 1000);
dateString = theDate.toGMTString();
document.u2h.result.value = dateString;
}
#+END_SRC
** Sistema operativo
#+NAME:datos_del_SSOO
#+BEGIN_SRC sh
#Obtener datos acerca del SSOO a partir del registro
cd /media/investigador/WINDOWS/system32/config
chntpw -i software
#+END_SRC
#+BEGIN_EXAMPLE
> cat Microsoft\Windows NT\CurrentVersion\ProductName
Value <Microsoft\Windows NT\CurrentVersion\ProductName> of type REG_SZ, data length 66 [0x42
Microsoft Windows Server 2003 R2
#+BEGIN_EXAMPLE
Loaded hives: <SAM> <SECURITY> <default> <software> <userdiff> <system>
** Zona horaria
#+NAME:zona_horaria
#+BEGIN_SRC src
#Configuración de la zona horaria
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r system -p timezone
#+END_SRC
Hay varias opciones para obtener los datos referentes a la zona horaria:
#+BEGIN_EXAMPLE
Launching timezone v.20130830
timezone v.20130830
(System) Get TimeZoneInformation key contents
TimeZoneInformation key
ControlSet001\Control\TimeZoneInformation
LastWrite Time Thu Feb 2 01:39:50 2006 (UTC)
DaylightName -> Pacific Daylight Time
StandardName -> Pacific Standard Time
Bias -> 480 (8 hours)
ActiveTimeBias -> 480 (8 hours)
#+END_EXAMPLE
#+BEGIN_EXAMPLE
> cat ControlSet001\Control\TimeZoneInformation\StandardName
Value <ControlSet001\Control\TimeZoneInformation\StandardName> of type REG_SZ, data length 44 [0x
Pacific Standard Time
- AppEvent.Evt
- SecEvent.Evt
- DnsEvent.Evt
- SysEvent.Evt
#+NAME:exporta_evt
#+BEGIN_SRC sh
#Exporta los eventos del sistema
evtexport -m all -p /media/investigador/ -r ./ -t system ./SysEvent.Evt|tee ~/Escritorio/pfc/PoC-
evtexport -m all -p /media/investigador/ -r ./ -t application ./AppEvent.Evt|tee ~/Escritorio/pfc
evtexport -m all -p /media/investigador/ -r ./ -t security ./SecEvent.Evt|tee ~/Escritorio/pfc/Po
evtexport -m all -p /media/investigador/ -r ./ ./DnsEvent.Evt|tee ~/Escritorio/pfc/PoC-PFC-001/3_
#+END_SRC
#+BEGIN_EXAMPLE
Loaded hives: <SAM><software>
#+END_EXAMPLE
Para obtener el fichero con los hashes de los usuarios (de la [[https://en.wikipedia.org/wik
que obtener el Syskey ([[https://en.wikipedia.org/wiki/Syskey][System key]]), y finalmente c
para determinar las contraseñas de los usuarios.
#+NAME:bkhive
#+BEGIN_SRC src
#Obtenemos el Syskey con bkhive
cd /media/investigador/WINDOWS/system32/config/
bkhive system ~/Escritorio/pfc/PoC-PFC-001/3_EVIDENCIAS/hive.txt
#+END_SRC
#+BEGIN_EXAMPLE
bkhive 1.1.1 by Objectif Securite
http://www.objectif-securite.ch
original author: [email protected]
#+NAME:samdump2
#+BEGIN_SRC src
#Obtenemos los hashes
cd /media/investigador/WINDOWS/system32/config/
samdump2 SAM ~/Escritorio/pfc/PoC-PFC-001/3_EVIDENCIAS/hive.txt > ~/Escritorio/pfc/PoC-PFC-001/3_
#+END_SRC
Una vez obtenido el fichero con los hashes, utilizamos John the ripper
para obtener las contraseñas, como se puede ver a continuación:
#+NAME:john_the_ripper
#+BEGIN_SRC src
#craqueo de contraseñas
john ~/Escritorio/pfc/PoC-PFC-001/3_EVIDENCIAS/hash.txt
#+END_SRC
#+BEGIN_EXAMPLE
Loaded 37 password hashes with no different salts (LM [DES 128/128 SSE2-16])
Press ’q’ or Ctrl-C to abort, almost any other key for status
MORA (zamorano:2)
P0STGR3 (postgres:1)
R3N0 (reno:2)
PASSWOR (ver0k:1)
(SUPPORT_388945a0)
(Guest)
1 (mpenelope:2)
2000 (moni:2)
CARMEN8 (amado:1)
D (ver0k:2)
4 (lalo:2)
R (ernesto:2)
LY (pili:2)
3 (mirna:2)
3 (amado:2)
18 (maick:2)
JUANG11 (maick:1)
MELUCHA (maru:1)
30 (caracheo:2)
83 (katy:2)
RODOLFO (reno:1)
MMONICA (moni:1)
026 (maru:2)
LALOLOC (ovejas:1)
O86 (ovejas:2)
TEGUIZA (zamorano:1)
CHIRIPI (pili:1)
CHLN026 (katy:1)
MIRK4AR (mirna:1)
T3R3CLT (lalo:1)
T3MP0RA (mpenelope:1)
T3WPJ0H (Johnatan)
SSQL (postgres:2)
3RN3S70 (ernesto:1)
L, (Administrator:2)
U7R3$7U (Administrator:1)
C4R$4CH (caracheo:1)
37g 0:02:51:36 3/3 0.003593g/s 45521Kp/s 45521Kc/s 90542KC/s C4R$4BU..C4R$4DW
Warning: passwords printed above might be partial
Use the ’--show’ option to display all of the cracked passwords reliably
Session completed
~ $
#+END_EXAMPLE
#+NAME:john_show
#+BEGIN_SRC src
#Obtenemos el listado de usuarios y contraseñas
investigador@EFI:~/Escritorio$ john --show hash.txt
#+END_SRC
#+BEGIN_EXAMPLE
Administrator:U7R3$7UL,:500:fad82559a3669bf1c349641028e9bf3b:ecde6a92576ca84b5ddcd7cb117bab5
Guest::501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SUPPORT_388945a0::1001:aad3b435b51404eeaad3b435b51404ee:8dcca3eb5e2ed3503e483df0dce5f072:::
Johnatan:T3WPJ0H:1006:fbc89204579fc565aad3b435b51404ee:7750def414475cf2b9b45a64fdd3481a:::
ernesto:3RN3S70R:1007:aa4d59741693011a944e2df489a880e4:2c759a0f3165fe70f3b2ef1355dbbf4e:::
amado:CARMEN83:1008:59cbc5117eaef5c21aa818381e4e281b:0ade3431a00b403ccc562b6cf629ab77:::
maick:JUANG1118:1009:85fec305e34929d18347bb1e72cc9f76:0e13f8a840ea89fcd88cb36b962a2f14:::
lalo:T3R3CLT4:1010:3264cf6b06490f7cff17365faf1ffe89:10ee4264b00cc787b80f6f3c80dcf9c5:::
moni:MMONICA2000:1011:506b60f26bb9aeef8b4c5fc57ce52905:0ac8ae6ef8beaae7c61cf4230c7a3b8d:::
maru:MELUCHA026:1012:03fb789ef35a2b6d40967f66e935e1ff:2e4f31fe3248f2bc9d1e961b579f0e5f:::
mirna:MIRK4AR3:1013:4547b34ebb1a63e81aa818381e4e281b:b84ef18830b2b30ba60105d507eaaec9:::
katy:CHLN02683:1014:b487217fce8da54ddc0adaac127d3673:2ce609fe8387032f3c7fbbfc7f4bd931:::
caracheo:C4R$4CH30:1015:10972d878c8158d23830ab41f50b8c79:1f29efc37cc7c33148c3b1a16b81c45e:::
ovejas:LALOLOCO86:1016:36cea0da9720c1866f3baf47315038ff:16fb5c5803db901b39f38adcfda64bf7:::
reno:RODOLFOR3N0:1017:f903d899f9f2f54138e225910e5ac3d2:da8ffa76f679c3a79d46b96d61758f34:::
pili:CHIRIPILY:1018:7ed41ffdc962e828527c3e14a6132a0f:8963676b5ef71347321fca96dfcf2243:::
zamorano:TEGUIZAMORA:1019:4f11278e04ff02b3451e935871f3e930:5550a4a120a88cfc12e1c856344d93c6:
mpenelope:T3MP0RA1:1020:7d536e187e4a5a05c2265b23734e0dac:2a6f455e8094160b511a810e4e8aee61:::
postgres:P0STGR3SSQL:1023:c848af05f3d8ca3c929ca03322bf4367:6812a8dcfcad8c09a65696fa3e893d31:::
ver0k:PASSWORD:1024:e52cac67419a9a224a3b108f3fa6cb6d:8846f7eaee8fb117ad06bdd830b7586c:::
** Software Instalado
#+NAME:software_instalado
#+BEGIN_SRC src
#Obtenemos el listado de software instalado
cd /media/investigador/WINDOWS/system32/config/
sudo perl /usr/share/regripper/rip.pl -r software -p uninstall
#+END_SRC
#+BEGIN_EXAMPLE
Launching uninstall v.20140512
uninstall v.20140512
(Software, NTUSER.DAT) Gets contents of Uninstall keys from Software, NTUSER.DAT hives
Uninstall
Microsoft\Windows\CurrentVersion\Uninstall
/media/investigador/WINDOWS/system32/config $
#+END_EXAMPLE
#+NAME:networkcards
#+BEGIN_SRC src
#Obtenemos el listado de tarjetas de red
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r software -p networkcards
#+END_SRC
#+BEGIN_EXAMPLE
Launching networkcards v.20080325
networkcards v.20080325
(Software) Get NetworkCards
NetworkCards
Microsoft\Windows NT\CurrentVersion\NetworkCards
Realtek RTL8139 Family PCI Fast Ethernet NIC [Wed Jan 25 21:07:08 2006]
3Com 3C900B-TPO Ethernet Adapter (Generic) [Wed Jan 25 21:07:13 2006]
#+END_EXAMPLE
#+NAME:nic
#+BEGIN_SRC src
#Obtenemos la configuración de networking
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r system -p nic
#+END_SRC
#+BEGIN_EXAMPLE
/media/investigador/WINDOWS/system32/config $
Launching nic v.20100401
nic v.20100401
(System) Gets NIC info from System hive
Adapter: {44C3A521-98D1-4B7A-850D-860BB2324A1D}
LastWrite Time: Thu Jan 26 06:26:22 2006 Z
EnableDHCP 1
IPAddress 0.0.0.0
SubnetMask 0.0.0.0
DefaultGateway
Adapter: {5269ADEB-9E6D-4673-B898-4238F085972C}
LastWrite Time: Thu Jan 26 06:26:22 2006 Z
EnableDHCP 0
IPAddress 192.168.5.5
SubnetMask 255.255.255.0
DefaultGateway 192.168.5.254
DhcpIPAddress 0.0.0.0
DhcpSubnetMask 255.0.0.0
DhcpServer 255.255.255.255
Lease 3600
LeaseObtainedTime Sun Jan 29 01:18:17 2006 Z
T1 Sun Jan 29 01:48:17 2006 Z
T2 Sun Jan 29 02:10:47 2006 Z
LeaseTerminatesTime Sun Jan 29 02:18:17 2006 Z
#+END_EXAMPLE
#+NAME:shutdown
#+BEGIN_SRC src
# Obtenemos el momento del apagado
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r system -p shutdown
#+END_SRC
#+BEGIN_EXAMPLE
Launching shutdown v.20080324
shutdown v.20080324
(System) Gets ShutdownTime value from System hive
** Profile
Aquí podemos ver que no todos los perfiles de usuario han estado activos
hasta el momento del apagado del sistema, y de echo algunos apenas han
tenido actividad desde el momento de su creación, por lo que se puede
descartar a la hora del análisis.
#+NAME:profilelist
#+BEGIN_SRC src
# Obtenemos el profile
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r software -p profilelist
#+END_SRC
#+BEGIN_EXAMPLE
Launching profilelist v.20100219
profilelist v.20100219
(Software) Get content of ProfileList key
Microsoft\Windows NT\CurrentVersion\ProfileList
LastWrite Time Sun Feb 5 20:47:22 2006 (UTC)
Path : %systemroot%\system32\config\systemprofile
SID : S-1-5-18
LastWrite : Thu Jan 26 06:56:44 2006 (UTC)
Domain Accounts
#+END_EXAMPLE
#+NAME:firewall
#+BEGIN_SRC src
# Configuración del firewall
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r system -p fw_config
#+END_SRC
Podemos ver que el firewall del servidor está activo, y los puertos
abiertos (y no nateados) son:
#+BEGIN_EXAMPLE
Launching fw_config v.20080328
fw_config v.20080328
(System) Gets the Windows Firewall config from the System hive
ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\AuthorizedApplication
LastWrite Time Sat Feb 4 02:05:32 2006 (UTC)
C:\Program Files\MSN Messenger\msnmsgr.exe -> C:\Program Files\MSN Messenger\msnmsgr.exe:*:Enable
ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\L
LastWrite Time Sat Feb 4 22:49:37 2006 (UTC)
445:TCP -> 445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005
2869:TCP -> 2869:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22008
5432:TCP -> 5432:TCP:*:Enabled:postgrest
138:UDP -> 138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002
139:TCP -> 139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004
3389:TCP -> 3389:TCP:*:Enabled:@xpsp2res.dll,-22009
137:UDP -> 137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001
1900:UDP -> 1900:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22007
ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplicati
LastWrite Time Sat Feb 4 02:05:32 2006 (UTC)
C:\Program Files\BitTorrent\bittorrent.exe -> C:\Program Files\BitTorrent\bittorrent.exe:*:Enable
C:\Program Files\MSN Messenger\msnmsgr.exe -> C:\Program Files\MSN Messenger\msnmsgr.exe:*:Enable
C:\apache\Apache\Apache.exe -> C:\apache\Apache\Apache.exe:*:Enabled:Apache
#+END_EXAMPLE
** Unidades compartidas
No existen unidades compartidas.
#+NAME:shares
#+BEGIN_SRC src
# Obtenemos el listado de unidades compartidas
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r system -p shares
#+END_SRC
#+BEGIN_EXAMPLE
Launching shares v.20140730
shares v.20140730
(System) Get list of shares from System hive file
** Terminal Server
#+NAME:termserv
#+BEGIN_SRC src
# Obtenemos la configuración de Terminal Server
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r system -p termserv
#+END_SRC
#+BEGIN_EXAMPLE
Launching termserv v.20130307
ControlSet001\Control\Terminal Server
LastWrite Time Sun Feb 5 20:46:23 2006 (UTC)
Reference: http://support.microsoft.com/kb/243215
ProductVersion = 5.2
fDenyTSConnections = 0
1 = connections denied
TSAdvertise = 0
0 = disabled, 1 = enabled (advertise Terminal Services)
Ref: http://support.microsoft.com/kb/281307
TSEnabled = 1
0 = disabled, 1 = enabled (Terminal Services enabled)
Ref: http://support.microsoft.com/kb/222992
TSUserEnabled = 0
1 = All users logging in are automatically part of the
built-in Terminal Server User group. 0 = No one is a
member of the built-in group.
Ref: http://support.microsoft.com/kb/238965
fAllowToGetHelp = 0
1 = Users can request assistance from friend or a
support professional.
Ref: http://www.pctools.com/guides/registry/detail/1213/
AutoStart Locations
Wds\rdpwd key
StartupPrograms: rdpclip
Analysis Tip: This value usually contains ’rdpclip’; any additional entries
should be investigated.
WinStations\RDP-Tcp key
InitialProgram: {blank}
Analysis Tip: Maybe be empty; appears as ’{blank}’
** Configuración de prefetch
#+NAME:prefetch
#+BEGIN_SRC src
# Obtenemos la configuración de prefetch
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r system -p prefetch
#+END_SRC
#+BEGIN_EXAMPLE
Launching prefetch v.20120914
prefetch v.20120914
(SYSTEM) Gets the the Prefetch Parameters
EnablePrefetcher = 2
0 = Prefetching is disabled
1 = Application prefetching is enabled
2 = Boot prefetching is enabled
3 = Both boot and application prefetching is enabled
#+END_EXAMPLE
#+NAME:mrt
#+BEGIN_SRC src
# Malicious Software Removal Tool
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r software -p mrt
#+END_SRC
#+BEGIN_EXAMPLE
Launching mrt v.20080804
mrt v.20080804
(Software) Check to see if Malicious Software Removal Tool has been run
#+NAME:samparse
#+BEGIN_SRC src
# Obtenemos la configuración de prefetch
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r SAM -p samparse
#+END_SRC
#+BEGIN_EXAMPLE
Launching samparse v.20120722
samparse v.20120722
(SAM) Parse SAM file for user & group mbrshp info
User Information
-------------------------
Username : Administrator [500]
Full Name :
User Comment : Built-in account for administering the computer/domain
Account Type : Default Admin User
Account Created : Wed Jan 25 21:03:58 2006 Z
Last Login Date : Sun Feb 5 22:29:16 2006 Z
Pwd Reset Date : Wed Jan 25 21:25:43 2006 Z
Pwd Fail Date : Fri Feb 3 04:37:46 2006 Z
Login Count : 39
--> Password does not expire
--> Normal user account
-------------------------
Group Membership Information
-------------------------
Group Name : Print Operators [0]
LastWrite : Wed Jan 25 21:03:59 2006 Z
Group Comment : Members can administer domain printers
Users : None
Analysis Tips:
- For well-known SIDs, see http://support.microsoft.com/kb/243330
- S-1-5-4 = Interactive
- S-1-5-11 = Authenticated Users
- Correlate the user SIDs to the output of the ProfileList plugin
#+END_EXAMPLE
#+NAME:samparse_tln
#+BEGIN_SRC src
# Obtenemos la configuración de prefetch
cd /media/investigador/WINDOWS/system32/config
sudo perl /usr/share/regripper/rip.pl -r SAM -p samparse
#+END_SRC
#+BEGIN_EXAMPLE
/media/investigador/WINDOWS/system32/config $ sudo perl /usr/share/regripper/rip.pl -r SAM -p sam
Launching samparse_tln v.20120827
1138223038|SAM||Administrator|Acct Created (Default Admin User)
1138224343|SAM||Administrator|Password Reset Date
1138941466|SAM||Administrator|Password Failure Date
1139178556|SAM||Administrator|Last Login (39)
1138223038|SAM||Guest|Acct Created (Default Guest Acct)
1138257673|SAM||SUPPORT_388945a0|Acct Created (Custom Limited Acct)
1138257673|SAM||SUPPORT_388945a0|Password Reset Date
1138313826|SAM||Johnatan|Acct Created (Default Admin User)
1138656776|SAM||Johnatan|Password Reset Date
1139023944|SAM||Johnatan|Password Failure Date
1139170989|SAM||Johnatan|Last Login (7)
1138314047|SAM||ernesto|Acct Created (Default Admin User)
1138315113|SAM||ernesto|Password Reset Date
1138314112|SAM||amado|Acct Created (Custom Limited Acct)
1138314934|SAM||amado|Password Reset Date
1138314154|SAM||maick|Acct Created (Custom Limited Acct)
1138315346|SAM||maick|Password Reset Date
1139019064|SAM||maick|Last Login (1)
1138314210|SAM||lalo|Acct Created (Custom Limited Acct)
1138315298|SAM||lalo|Password Reset Date
1138314251|SAM||moni|Acct Created (Custom Limited Acct)
1138315508|SAM||moni|Password Reset Date
1138314310|SAM||maru|Acct Created (Default Admin User)
1138315394|SAM||maru|Password Reset Date
1138316370|SAM||maru|Last Login (1)
1138314332|SAM||mirna|Acct Created (Custom Limited Acct)
1138315455|SAM||mirna|Password Reset Date
1138314370|SAM||katy|Acct Created (Custom Limited Acct)
1138315224|SAM||katy|Password Reset Date
1138314403|SAM||caracheo|Acct Created (Custom Limited Acct)
1138315023|SAM||caracheo|Password Reset Date
1138314460|SAM||ovejas|Acct Created (Custom Limited Acct)
1138315621|SAM||ovejas|Password Reset Date
1138314532|SAM||reno|Acct Created (Custom Limited Acct)
1138315699|SAM||reno|Password Reset Date
1138934058|SAM||reno|Last Login (1)
1138314560|SAM||pili|Acct Created (Custom Limited Acct)
1138315659|SAM||pili|Password Reset Date
1138314585|SAM||zamorano|Acct Created (Custom Limited Acct)
1138315738|SAM||zamorano|Password Reset Date
1138314627|SAM||mpenelope|Acct Created (Custom Limited Acct)
1139094567|SAM||mpenelope|Password Reset Date
1139094654|SAM||mpenelope|Password Failure Date
1139093183|SAM||postgres|Acct Created (Custom Limited Acct)
1139093183|SAM||postgres|Password Reset Date
1139093209|SAM||postgres|Last Login (2)
1139172330|SAM||ver0k|Acct Created (Default Admin User)
1139172330|SAM||ver0k|Password Reset Date
1139172441|SAM||ver0k|Last Login (1)
#+END_EXAMPLE
** Urls accedidas (Administrator)
#+NAME:j_typedurls
#+BEGIN_SRC src
# Obtenemos las URLs accedidas
cd /media/investigador/Documents and Settings/Administrator
sudo perl /usr/share/regripper/rip.pl -r NTUSER.DAT -p typedurls
#+END_SRC
#+BEGIN_EXAMPLE
Launching typedurls v.20080324
typedurls v.20080324
(NTUSER.DAT) Returns contents of user’s TypedURLs key.
TypedURLs
Software\Microsoft\Internet Explorer\TypedURLs
LastWrite Time Sat Feb 4 02:06:30 2006 (UTC)
url1 -> http://messenger.msn.com/xp/downloadx.aspx
url2 -> Local Disk (C:)
url3 -> http://www.google.com/
url4 -> http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar=msnhome
#+END_EXAMPLE
#+NAME:j_recentdocs
#+BEGIN_SRC src
# Obtenemos los documentos recientemente accedidos
cd /media/investigador/Documents and Settings/Johnatan
sudo perl /usr/share/regripper/rip.pl -r NTUSER.DAT -p recentdocs
#+END_SRC
#+BEGIN_EXAMPLE
Launching recentdocs v.20100405
recentdocs v.20100405
(NTUSER.DAT) Gets contents of user’s RecentDocs key
RecentDocs
**All values printed in MRUList\MRUListEx order.
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
LastWrite Time Sun Feb 5 22:21:02 2006 (UTC)
1 = L3 (D:)
0 = index.html
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.html
LastWrite Time Sun Feb 5 22:21:02 2006 (UTC)
MRUListEx = 0
0 = index.html
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\Folder
LastWrite Time Sun Feb 5 22:21:02 2006 (UTC)
MRUListEx = 0
0 = L3 (D:)
#+END_EXAMPLE
#+NAME:j_typedurls
#+BEGIN_SRC src
# Obtenemos las URLs accedidas
cd /media/investigador/Documents and Settings/Johnatan
sudo perl /usr/share/regripper/rip.pl -r NTUSER.DAT -p typedurls
#+END_SRC
#+BEGIN_EXAMPLE
Launching typedurls v.20080324
typedurls v.20080324
(NTUSER.DAT) Returns contents of user’s TypedURLs key.
TypedURLs
Software\Microsoft\Internet Explorer\TypedURLs
LastWrite Time Sun Feb 5 22:20:08 2006 (UTC)
url1 -> http://127.0.0.1/web-erp
url2 -> http://127.0.0.1/web-erp/
url3 -> http://mail.yahoo.com/
url4 -> http://www.google.com/
url5 -> http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar=msnhome
#+END_EXAMPLE
#+NAME:j_IE5_index_dat
#+BEGIN_SRC src
# Obtenemos la información de index.dat
cd /media/investigador/Documents and Settings/
msiecfexport -m all ’./Johnatan/Local Settings/History/History.IE5/index.dat’|tee ~/Escritorio/pf
#+END_SRC
#+BEGIN_EXAMPLE
Record type : URL
Offset range : 23808 - 24192 (384)
Location : Visited: Johnatan@http://e1.f376.mail.yahoo.com/ym/ShowFolder?rb=Inbox&reset=1&YY=9873
Primary time : Feb 05, 2006 20:43:11.328000000
Secondary time : Feb 05, 2006 20:43:11.328000000
Expiration time : (0x0000 0x0000)
Last checked time : Feb 05, 2006 20:43:12
Cache directory index : -2 (0xfe)
#+NAME:j_typedurls_tln
#+BEGIN_SRC src
# Obtenemos los documentos recientemente accedidos
cd /media/investigador/Documents and Settings/Johnatan
sudo perl /usr/share/regripper/rip.pl -r NTUSER.DAT -p typedurls_tln
#+END_SRC
#+BEGIN_EXAMPLE
Launching typedurls v.20120827
1139178008|REG|||TypedURLs - url1: http://127.0.0.1/web-erp
#+END_EXAMPLE
#+NAME:v_recentdocs
#+BEGIN_SRC src
# Obtenemos los documentos recientemente accedidos
cd /media/investigador/Documents and Settings/ver0k
sudo perl /usr/share/regripper/rip.pl -r NTUSER.DAT -p recentdocs
#+END_SRC
#+BEGIN_EXAMPLE
Launching recentdocs v.20100405
recentdocs v.20100405
(NTUSER.DAT) Gets contents of user’s RecentDocs key
RecentDocs
**All values printed in MRUList\MRUListEx order.
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
LastWrite Time Sun Feb 5 21:58:56 2006 (UTC)
18 = Administrator’s Documents
37 = examen.gif
36 = Apache
35 = ABOUT_APACHE.TXT
34 = maick
33 = Sti_Trace.log
32 = RRGEPPortadas.doc
31 = RRGEPNotas.doc
30 = Notas.doc
24 = Indice Pormenorizado.doc
29 = ÍNDICE DOCTORADO.doc
28 = formulario.doc
23 = 30SEP_bolecart-book.doc
26 = Israel Robledo Gonzáles’s Documents
27 = concha.doc
25 = Boletin11.doc
19 = modelos
22 = nm06082003.jpeg
21 = nm06052003.jpeg
20 = nm06042003.jpeg
10 = nm06032003.jpeg
9 = a017.jpg
7 = imagenes
8 = overlay_por_2006020110007_20060201224249.jpg
6 = overlay_por_2006020107034_20060201190204.jpg
17 = overlay_9_2006020110006.jpg
16 = overlay_8_2006020110005.jpg
15 = overlay_8.jpg
14 = overlay_7_2006020110005.jpg
13 = overlay_6_2006020110004.jpg
12 = overlay_6_2005112211035.jpg
11 = overlay_5_2006020110004.jpg
4 = Local Disk (C:)
5 = users.txt
3 = clientes.txt
1 = web-erp
2 = config.php
0 = AccountGroups.php
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.doc
LastWrite Time Sun Feb 5 21:47:42 2006 (UTC)
MRUListEx = 8,7,1,6,5,4,0,3,2
8 = RRGEPPortadas.doc
7 = RRGEPNotas.doc
1 = Notas.doc
6 = Indice Pormenorizado.doc
5 = ÍNDICE DOCTORADO.doc
4 = formulario.doc
0 = 30SEP_bolecart-book.doc
3 = concha.doc
2 = Boletin11.doc
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.gif
LastWrite Time Sun Feb 5 21:58:55 2006 (UTC)
MRUListEx = 0
0 = examen.gif
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.jpeg
LastWrite Time Sun Feb 5 21:19:05 2006 (UTC)
MRUListEx = 3,2,1,0
3 = nm06082003.jpeg
2 = nm06052003.jpeg
1 = nm06042003.jpeg
0 = nm06032003.jpeg
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.jpg
LastWrite Time Sun Feb 5 21:18:05 2006 (UTC)
MRUListEx = 4,3,2,1,0,9,8,7,6,5
4 = a017.jpg
3 = overlay_por_2006020110007_20060201224249.jpg
2 = overlay_por_2006020107034_20060201190204.jpg
1 = overlay_9_2006020110006.jpg
0 = overlay_8_2006020110005.jpg
9 = overlay_8.jpg
8 = overlay_7_2006020110005.jpg
7 = overlay_6_2006020110004.jpg
6 = overlay_6_2005112211035.jpg
5 = overlay_5_2006020110004.jpg
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.log
LastWrite Time Sun Feb 5 21:49:52 2006 (UTC)
MRUListEx = 0
0 = Sti_Trace.log
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.php
LastWrite Time Sun Feb 5 20:50:02 2006 (UTC)
MRUListEx = 1,0
1 = config.php
0 = AccountGroups.php
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.txt
LastWrite Time Sun Feb 5 21:53:46 2006 (UTC)
MRUListEx = 2,1,0
2 = ABOUT_APACHE.TXT
1 = users.txt
0 = clientes.txt
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\Folder
LastWrite Time Sun Feb 5 21:58:56 2006 (UTC)
MRUListEx = 8,7,2,6,5,3,1,0
8 = Administrator’s Documents
7 = Apache
2 = maick
6 = Israel Robledo Gonzáles’s Documents
5 = modelos
3 = imagenes
1 = Local Disk (C:)
0 = web-erp
#+END_EXAMPLE
#+BEGIN_EXAMPLE
Launching typedurls v.20080324
typedurls v.20080324
(NTUSER.DAT) Returns contents of user’s TypedURLs key.
TypedURLs
Software\Microsoft\Internet Explorer\TypedURLs
LastWrite Time Sun Feb 5 20:47:38 2006 (UTC)
url1 -> http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar=msnhome
#+END_EXAMPLE
#+NAME:v_IE5_index_dat
#+BEGIN_SRC src
# Obtenemos la información de index.dat
cd /media/investigador/Documents and Settings/
msiecfexport -m all ’./ver0k/Local Settings/History/History.IE5/index.dat’|tee ~/Escritorio/pfc/P
#+END_SRC
#+BEGIN_EXAMPLE
Record type : URL
Offset range : 21248 - 21504 (256)
Location : Visited: ver0k@file:///C:/users.txt
Primary time : Feb 05, 2006 21:06:37.562000000
Secondary time : Feb 05, 2006 21:06:37.562000000
Expiration time : (0x0000 0x0000)
Last checked time : Feb 05, 2006 21:06:38
Cache directory index : -2 (0xfe)
#+NAME:v_typedurls_tln
#+BEGIN_SRC src
# Obtenemos los documentos recientemente accedidos
cd /media/investigador/Documents and Settings/ver0k
sudo perl /usr/share/regripper/rip.pl -r NTUSER.DAT -p typedurls_tln
#+END_SRC
#+BEGIN_EXAMPLE
Launching typedurls v.20120827
1139172458|REG|||TypedURLs - url1: http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar
#+END_EXAMPLE
#+BEGIN_EXAMPLE
int getUserId(LPTSTR user)
{
unsigned int x = 0;
for (int i = 0; i < strlen(user); i++) {
x = x * 101;
x = x + towlower(user[i]);
}
return x;
}
#+END_EXAMPLE
Aunque no es posible obtener el nombre de usuario a partir del UserID,
si es posible comprobar si una determinada direccion de correo genera
ese mismo UserID.
Dado que entre la información recabada por bulk-extractor hay una serie
de direcciones de correo obtenidas mediante el procedimiento de file
carving, se desarrolló un programa para generar el UserID de todos los
casos obteniendo un match: [email protected]~, lo que nos confirma
que fue esta la cuenta empleada por el atacante.
#+BEGIN_EXAMPLE
INVITE MSNMSGR:[email protected] MSNSLP/1.0
To: <msnmsgr:[email protected]>
#+END_EXAMPLE
#+BEGIN_EXAMPLE
...............
Scanning /media/investigador/Documents and Settings/Administrator/My Documents/examen.gif
Scanning /media/investigador/Documents and Settings/Administrator/My Documents/explorer.exe
/media/investigador/Documents and Settings/Administrator/My Documents/explorer.exe: Win.Trojan.Cl
Scanning /media/investigador/Documents and Settings/Administrator/My Documents/Firefox Setup 1.5.
Scanning /media/investigador/Documents and Settings/Administrator/My Documents/fondo.jpg
Scanning /media/investigador/Documents and Settings/Administrator/My Documents/formulario.doc
Scanning /media/investigador/Documents and Settings/Administrator/My Documents/GNOME-MagnesiumPun
Scanning /media/investigador/Documents and Settings/Administrator/My Documents/imagen.jpg
..............
----------- SCAN SUMMARY -----------
Known viruses: 3846131
Engine version: 0.98.7
Scanned directories: 1710
Scanned files: 17609
Infected files: 1
Data scanned: 2340.11 MB
Data read: 2561.58 MB (ratio 0.91:1)
Time: 348.284 sec (5 m 48 s)
#+END_EXAMPLE
- GFI LANguard Network Security Scanner v6.0 [18], que aunque presente
no llego a instalarse en el sistema.
Se analiza:
#+BEGIN_EXAMPLE
38F83164 6A 6E 4A 65 70 2E 36 38 74 7A 32 67 5A 54 49 43 43 46 6B 72 4F 77 58 39 44
38F83188 71 41 5F 33 74 2E 46 35 74 44 61 6D 4E 71 71 6A 5A 4D 72 4E 33 58 4A 4D 62
38F831AC 32 69 75 50 58 31 59 45 4F 79 50 52 72 36 59 30 76 31 78 74 76 63 46 34 64
38F831D0 64 78 3D 30 26 53 65 61 72 63 68 3D 26 50 52 49 4E 54 3D 31 26 53 68 6F 77
38F831F4 38 35 39 30 37 26 6F 72 64 65 72 3D 64 6F 77 6E 26 73 6F 72 74 3D 64 61 74
38F83218 77 3D 61 26 68 65 61 64 3D 62 22 20 74 61 72 67 65 74 3D 5F 62 6C 61 6E 6B
38F8323C F3 6E 20 69 6D 70 72 69 6D 69 62 6C 65 3C 2F 61 3E 0A 20 45 73 74 65 20 6D
38F83260 73 74 E1 20 6D 61 72 63 61 64 6F 20 63 6F 6E 20 75 6E 61 20 62 61 6E 64 65
38F83284 65 66 3D 22 2F 79 6D 2F 53 68 6F 77 4C 65 74 74 65 72 3F 62 6F 78 3D 25 34
38F832A8 73 67 49 64 3D 34 32 32 34 5F 30 5F 32 32 5F 31 31 34 38 5F 31 35 35 5F 30
38F832CC 59 6B 59 6E 34 55 72 36 52 67 39 57 75 4A 66 53 4D 5A 2E 53 30 2E 75 76 61
38F832F0 68 57 36 70 4C 71 32 69 32 33 41 77 4E 76 59 57 6A 36 79 54 71 4C 74 6A 6E
38F83314 54 49 43 43 46 6B 72 4F 77 58 39 44 2E 35 5F 69 6C 7A 45 58 36 45 63 71 41
38F83338 71 71 6A 5A 4D 72 4E 33 58 4A 4D 62 5F 69 62 70 6F 35 37 2E 46 6D 39 32 69
38F8335C 36 59 30 76 31 78 74 76 63 46 34 64 4D 69 37 42 78 49 41 63 2D 26 49 64 78
38F83380 46 4C 47 3D 31 26 59 59 3D 38 35 39 30 37 26 6F 72 64 65 72 3D 64 6F 77 6E
38F833A4 70 6F 73 3D 30 26 76 69 65 77 3D 61 26 68 65 61 64 3D 62 22 3E 4D 61 72 63 61 72
38F833C8 2F 61 3E 20 2D 20 3C 61 20 68 72 65 66 3D 22 2F 79 6D 2F 53 68 6F 77 4C 65 74 74
38F833EC 30 42 25 34 30 42 75 6C 6B 26 4D 73 67 49 64 3D 34 32 32 34 5F 30 5F 32 32 5F 31
38F83410 5F 32 5F 2D 31 5F 30 5F 6F 53 4F 59 6B 59 6E 34 55 72 36 52 67 39 57 75 4A 66 53
38F83434 79 58 52 66 47 72 4D 32 75 55 72 68 57 36 70 4C 71 32 69 32 33 41 77 4E 76 59 57
38F83458 4A 65 70 2E 36 38 74 7A 32 67 5A 54 49 43 43 46 6B 72 4F 77 58 39 44 2E 35 5F 69
38F8347C 5F 33 74 2E 46 35 74 44 61 6D 4E 71 71 6A 5A 4D 72 4E 33 58 4A 4D 62 5F 69 62 70
38F834A0 75 50 58 31 59 45 4F 79 50 52 72 36 59 30 76 31 78 74 76 63 46 34 64 4D 69 37 42
38F834C4 3D 30 26 53 65 61 72 63 68 3D 26 55 4E 52 3D 31 26 2E 63 72 75 6D 62 3D 5A 39 54
38F834E8 59 59 3D 38 35 39 30 37 26 6F 72 64 65 72 3D 64 6F 77 6E 26 73 6F 72 74 3D 64 61
38F8350C 76 69 65 77 3D 61 26 68 65 61 64 3D 62 22 3E 4D 61 72 63 61 72 20 63 6F 6D 6F 20
38F83530 2F 61 3E 20 5D 0A 09 09 09 09 09 09 3C 2F 70 3E 0A 3C 2F 64 69 76 3E 0A 3C 21 2D
38F83554 4F 43 20 2D 2D 3E 09 09 09 09 09 0A 09 09 09 09 09 0A 09 3C 21 2D 2D 20 74 79 70
38F83578 6E 6F 77 6E 20 2D 2D 3E 0A 0A 09 09 09 09 09 09 09 09 09 3C 74 61 62 6C 65 20 63
38F8359C 61 67 65 68 65 61 64 65 72 20 63 65 6C 6C 73 70 61 63 69 6E 67 3D 30 20 63 65 6C
38F835C0 30 20 77 69 64 74 68 3D 22 31 30 30 25 22 20 62 6F 72 64 65 72 3D 30 3E 0A 3C 74
38F835E4 73 73 3D 6C 61 62 65 6C 20 6E 6F 77 72 61 70 3E 44 65 3A 3C 2F 74 64 3E 3C 74 64
38F83608 79 63 73 61 2E 63 6F 6D 2E 6D 78 26 6E 62 73 70 3B 26 6E 62 73 70 3B 3C 61 20 68
38F8362C 73 63 72 69 70 74 3A 64 6F 63 75 6D 65 6E 74 2E 66 72 6D 41 64 64 41 64 64 72 73
38F83650 22 3E 3C 69 6D 67 20 73 72 63 3D 22 68 74 74 70 3A 2F 2F 75 73 2E 69 31 2E 79 69
38F83674 2E 79 69 6D 67 2E 63 6F 6D 2F 69 2F 75 73 2F 70 69 6D 2F 65 6C 2F 61 62 6F 6F 6B
38F83698 66 22 20 61 6C 69 67 6E 3D 74 6F 70 20 76 73 70 61 63 65 3D 30 20 68 73 70 61 63
38F836BC 72 3D 30 20 61 6C 74 3D 22 41 F1 61 64 69 72 20 61 20 4C 69 62 72 65 74 61 20 64
38F836E0 6F 73 22 20 77 69 64 74 68 3D 31 36 20 68 65 69 67 68 74 3D 31 36 3E 41 F1 61 64
38F83704 65 74 61 20 64 65 20 63 6F 6E 74 61 63 74 6F 73 3C 2F 61 3E 3C 2F 74 64 3E 3C 2F
38F83728 74 64 20 63 6C 61 73 73 3D 6C 61 62 65 6C 20 6E 6F 77 72 61 70 3E 50 61 72 61 3A
38F8374C 6A 6F 6E 61 74 68 61 6E 2E 74 65 7A 63 61 40 79 61 68 6F 6F 2E 63 6F 6D 3C 2F 74
38F83770 74 72 3E 3C 74 64 20 63 6C 61 73 73 3D 6C 61 62 65 6C 20 6E 6F 77 72 61 70 3E 41
38F83794 64 3E 3C 74 64 3E 20 55 72 67 65 6E 74 65 21 21 3C 2F 74 64 3E 3C 2F 74 72 3E 0A
38F837B8 6C 61 73 73 3D 6C 61 62 65 6C 20 6E 6F 77 72 61 70 3E 46 65 63 68 61 3A 3C 2F 74
38F837DC 6E 2C 20 20 35 20 46 65 62 20 32 30 30 36 20 31 34 3A 31 31 3A 31 33 20 2D 30 36
38F83800 2F 74 64 3E 3C 2F 74 72 3E 0A 3C 2F 74 61 62 6C 65 3E 0A 3C 66 6F 72 6D 20 6E 61
38F83824 41 64 64 72 73 20 61 63 74 69 6F 6E 3D 22 68 74 74 70 3A 2F 2F 61 64 64 72 65 73
38F83848 68 6F 6F 2E 63 6F 6D 2F 79 61 62 2F 65 31 3F 76 3D 59 4D 26 2E 72 61 6E 64 3D 32
38F8386C 73 69 6D 70 3D 31 22 20 6D 65 74 68 6F 64 3D 22 70 6F 73 74 22 3E 0A 3C 69 6E 70
38F83890 68 69 64 64 65 6E 22 20 6E 61 6D 65 3D 22 66 6E 22 20 76 61 6C 75 65 3D 22 22 3E
38F838B4 79 70 65 3D 22 68 69 64 64 65 6E 22 20 6E 61 6D 65 3D 22 6C 6E 22 20 76 61 6C 75
38F838D8 70 75 74 20 74 79 70 65 3D 22 68 69 64 64 65 6E 22 20 6E 61 6D 65 3D 22 65 22 20
38F838FC 6F 70 65 7A 40 65 79 63 73 61 2E 63 6F 6D 2E 6D 78 22 3E 0A 3C 69 6E 70 75 74 20
38F83920 64 65 6E 22 20 6E 61 6D 65 3D 22 2E 64 6F 6E 65 22 20 76 61 6C 75 65 3D 22 68 74
38F83944 33 37 36 2E 6D 61 69 6C 2E 79 61 68 6F 6F 2E 63 6F 6D 2F 79 6D 2F 62 6C 6F 63 6B
38F83968 73 67 49 64 3D 34 32 32 34 5F 30 5F 32 32 5F 31 31 34 38 5F 31 35 35 5F 30 5F 32
38F8398C 59 6B 59 6E 34 55 72 36 52 67 39 57 75 4A 66 53 4D 5A 2E 53 30 2E 75 76 61 79 58
38F839B0 68 57 36 70 4C 71 32 69 32 33 41 77 4E 76 59 57 6A 36 79 54 71 4C 74 6A 6E 4A 65
38F839D4 54 49 43 43 46 6B 72 4F 77 58 39 44 2E 35 5F 69 6C 7A 45 58 36 45 63 71 41 5F 33
38F839F8 71 71 6A 5A 4D 72 4E 33 58 4A 4D 62 5F 69 62 70 6F 35 37 2E 46 6D 39 32 69 75 50
38F83A1C 36 59 30 76 31 78 74 76 63 46 34 64 4D 69 37 42 78 49 41 63 2D 26 6F 72 64 65 72
38F83A40 3D 26 73 6F 72 74 3D 64 61 74 65 26 76 69 65 77 3D 61 26 68 65 61 64 3D 62 26 62
38F83A64 6B 26 59 59 3D 38 35 39 30 37 26 2E 63 72 75 6D 62 3D 59 33 2E 41 50 43 30 74 48
38F83A88 70 65 7A 40 65 79 63 73 61 2E 63 6F 6D 2E 6D 78 26 49 53 4E 53 50 41 4D 3D
38F83AAC 3C 69 6E 70 75 74 20 74 79 70 65 3D 22 68 69 64 64 65 6E 22 20 6E 61 6D 65
38F83AD0 6C 75 65 3D 22 68 74 74 70 3A 2F 2F 65 31 2E 66 33 37 36 2E 6D 61 69 6C 2E
38F83AF4 6D 2F 53 68 6F 77 4C 65 74 74 65 72 3F 4D 73 67 49 64 3D 34 32 32 34 5F 30
38F83B18 35 5F 30 5F 32 5F 2D 31 5F 30 5F 6F 53 4F 59 6B 59 6E 34 55 72 36 52 67 39
38F83B3C 75 76 61 79 58 52 66 47 72 4D 32 75 55 72 68 57 36 70 4C 71 32 69 32 33 41
38F83B60 74 6A 6E 4A 65 70 2E 36 38 74 7A 32 67 5A 54 49 43 43 46 6B 72 4F 77 58 39
38F83B84 63 71 41 5F 33 74 2E 46 35 74 44 61 6D 4E 71 71 6A 5A 4D 72 4E 33 58 4A 4D
38F83BA8 39 32 69 75 50 58 31 59 45 4F 79 50 52 72 36 59 30 76 31 78 74 76 63 46 34
38F83BCC 6F 72 64 65 72 3D 64 6F 77 6E 26 69 6E 63 3D 26 73 6F 72 74 3D 64 61 74 65
38F83BF0 64 3D 62 26 62 6F 78 3D 40 42 40 42 75 6C 6B 26 59 59 3D 38 35 39 30 37 22
38F83C14 09 09 09 09 09 09 0A 09 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
38F83C38 20 69 64 3D 6D 65 73 73 61 67 65 3E 0A 0A 09 09 09 09 3C 21 2D 2D 20 74 79
38F83C5C 2D 3E 0A 0A 3C 70 72 65 3E 3C 74 74 3E 4A 6F 68 6E 6E 79 3A 0A 0A 50 6F 72
38F83C80 20 65 6C 20 63 61 74 61 6C 6F 67 6F 20 71 75 65 20 65 73 74 61 20 65 6E 0A
38F83CA4 74 74 70 3A 2F 2F 37 30 2E 31 30 37 2E 32 34 39 2E 31 35 30 2F 63 6C 69 65
38F83CC8 61 72 67 65 74 3D 5F 62 6C 61 6E 6B 20 20 6F 6E 63 6C 69 63 6B 3D 22 72 65
38F83CEC 6E 6B 57 61 72 6E 69 6E 67 28 29 22 20 3E 68 74 74 70 3A 2F 2F 37 30 2E 31
38F83D10 63 6C 69 65 6E 74 65 73 2E 77 6D 66 3C 2F 61 3E 0A 0A 41 6C 62 65 72 74 6F
38F83D34 63 74 6F 72 20 47 65 6E 65 72 61 6C 0A 45 6C 65 63 74 72 6F 6E 69 63 61 20
38F83D58 6F 6E 20 53 2E 41 2E 20 64 65 20 43 2E 56 2E 0A 3C 2F 74 74 3E 3C 2F 70 72
38F83D7C 20 3C 21 2D 2D 20 74 6F 63 74 79 70 65 20 3D 20 58 2D 75 6E 6B 6E 6F 77 6E
38F83DA0 09 09 20 20 09 09 20 20 3C 21 2D 2D 20 74 6F 63 74 79 70 65 20 3D 20 74 65
38F83DC4 20 20 3C 21 2D 2D 20 74 65 78 74 20 2D 2D 3E 0A 09 09 20 20 20 20 09 09 20
38F83DE8 0A 0A 3C 2F 64 69 76 3E 0A 0A 0A 0A 09 09 09 09 09 3C 21 2D 2D 20 45 4E 44
38F83E0C 09 0A 0A 09 09 09 09 09 3C 66 6F 72 6D 20 6E 61 6D 65 3D 73 68 6F 77 4C 65
38F83E30 64 3D 70 6F 73 74 20 61 63 74 69 6F 6E 3D 22 2F 79 6D 2F 53 68 6F 77 4C 65
38F83E54 53 65 61 72 63 68 3D 26 59 59 3D 38 35 39 30 37 26 6F 72 64 65 72 3D 64 6F
38F83E78 65 26 70 6F 73 3D 30 26 76 69 65 77 3D 61 26 68 65 61 64 3D 62 22 3E 0A 3C
38F83E9C 68 69 64 64 65 6E 20 6E 61 6D 65 3D 22 2E 63 72 75 6D 62 22 20 76 61 6C 75
38F83EC0 43 73 59 22 3E 09 09 09 09 09 09 3C 69 6E 70 75 74 20 74 79 70 65 3D 68 69
38F83EE4 4D 73 67 49 64 22 20 76 61 6C 75 65 3D 22 34 32 32 34 5F 30 5F 32 32 5F 31
38F83F08 5F 2D 31 5F 30 5F 6F 53 4F 59 6B 59 6E 34 55 72 36 52 67 39 57 75 4A 66 53
38F83F2C 52 66 47 72 4D 32 75 55 72 68 57 36 70 4C 71 32 69 32 33 41 77 4E 76 59 57
38F83F50 70 2E 36 38 74 7A 32 67 5A 54 49 43 43 46 6B 72 4F 77 58 39 44 2E 35 5F 69
38F83F74 74 2E 46 35 74 44 61 6D 4E 71 71 6A 5A 4D 72 4E 33 58 4A 4D 62 5F 69 62 70
38F83F98 58 31 59 45 4F 79 50 52 72 36 59 30 76 31 78 74 76 63 46 34 64 4D 69 37 42
38F83FBC 70 75 74 20 74 79 70 65 3D 68 69 64 64 65 6E 20 6E 61 6D 65 3D 22 62 6F 78
38F83FE0 40 42 75 6C 6B 22 3E 0A 3C 69 6E 70 75 74 20 74 79 70 65 3D 68 69 64 64 65
#+END_EXAMPLE
#+BEGIN_EXAMPLE
De: [email protected]
Para: [email protected]
Asunto: Urgente!!
Fecha: Sun, 5 Feb 2006 14:11:13 -0600 (CST)
Johnny:
Por favor baja el catalogo que esta en http://70.107.249.150/clientes.wmf
Alberto Lopez
Director General
Electronica y Computacion S.A. de C.V.
#+END_EXAMPLE
#+NAME:mac_robber
#+BEGIN_SRC sh
cd /media/investigador
mac-robber ./|tee ~/Escritorio/pfc/PoC-PFC-001/3_EVIDENCIAS/poc_mac_robber.mac
#+END_SRC
#+NAME:mactime
#+BEGIN_SRC sh
mactime -b ~/Escritorio/pfc/PoC-PFC-001/3_EVIDENCIAS/poc_mac_robber.mac -z EST5EDT |tee ~/Escrito
#+END_SRC
Los logs del servidor web Apache, tanto de acceso como de error, bajo
~C:\apache\Apache\logs~.
#+BEGIN_EXAMPLE
[Sun Jan 29 17:01:43 2006] [error] [client 134.186.42.18] client sent
HTTP/1.1 request without hostname (see RFC2616 section 14.23):
/w00tw00t.at.ISC.SANS.DFind:)
#+END_EXAMPLE
#+BEGIN_EXAMPLE
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does
not exist: c:/apache/apache/htdocs/nikto-1.35-d3ng4mwwxva0fqq8.htm
#+END_EXAMPLE
#+BEGIN_EXAMPLE
.............................................
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] attempt to invoke directory as s
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:30 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:31 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:31 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:31 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
[Mon Jan 30 17:28:31 2006] [error] [client 192.168.100.144] File does not exist: c:/apache/a
.............................................
#+END_EXAMPLE
** MySQL
La línea temporal del suceso a investigar es un gráfico que presenta, de una forma comprensible, los hitos
más relevantes de la investigación.
Siguiendo con la filosofía del proyecto de utilizar Emacs para acometer todas las tareas, se ha optado por
desarrollar la base de la línea temporal en Javascript.
Sin embargo la integración de la misma en el informe no es del todo satisfactoria, ya que el mismo está
orientado a formato pdf. La alternativa sería utilizar un informe con formato accesible vía web, por temas
estéticos y funcionales.
Tomando los datos del proceso de análisis se ha desarrollado una línea de tiempo vertical que está acce-
sible en formato html, y que tiene el aspecto que se muestra a continuación:
<!doctype html>
<html lang=’es-ES’>
<head>
<meta charset=’utf-8’>
<meta http-equiv=’Content-Type’’ content=’text/html’>
<title>PoC Timeline</title>
<meta name=’author’ content=’José Luis Jerez’>
<link rel=’shortcut icon’ href=’http://static.tmimgcdn.com/img/favicon.ico’>
<link rel=’icon’ href=’http://static.tmimgcdn.com/img/favicon.ico’>
<link rel=’stylesheet’ type=’text/css’ media=’all’ href=’css/bootstrap.min.css’>
<link rel=’stylesheet’ type=’text/css’ media=’all’ href=’css/bootstrap-glyphicons.css’>
<link rel=’stylesheet’ type=’text/css’ media=’all’ href=’css/styles.css’>
<script type=’text/javascript’ src=’js/jquery-1.11.0.min.js’></script>
</head>
<body>
<div class=’container’>
<header class=’page-header’>
<h1>POC Timeline</h1>
</header>
<ul class=’timeline’>
<li><div class=’tldate’>26 Enero</div></li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Se instala el sistema operativo</h4>
<p><small class=’text-muted’><i class=’glyphicon
glyphicon-time’></i> 06:56:44 </small></p>
</div>
<div class=’tl-body’>
<p>Windows 2003</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Instalación de Apache</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 18:00</small></p>
</div>
<div class=’tl-body’>
<p>Apache HTTP Server 1.3.34</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Instalación de MySQL</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 18:39</small></p>
</div>
<div class=’tl-body’>
<p>MySQL Server 4.1</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Instalación de WebERP</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 18:47</small></p>
</div>
<div class=’tl-body’>
<p>WebERP v3.04</p>
</div>
</div>
</li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Se hace una primera prueba externa de seguridad del
servidor web, que deja una curiosa entrada en el log</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 18:01</small></p>
</div>
<div class=’tl-body’>
<p>Apache error log: Sun Jan 29 17:01:43
134.186.42.18 client sent
HTTP/1.1 request without hostname (see RFC2616 section 14.23):
/w00tw00t.at.ISC.SANS.DFi
(v. http://isc.sans.org/diary.php?storyid=900)</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Escaneo de vulnerabilidades del
servidor apache</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 3/22/2014</small></p>
</div>
<div class=’tl-body’>
<p>Realizado desde la direccion IP
192.168.100.144 (dentro pues de
la red privada) con la herramienta ‘nikto’</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Intento de ataque singular</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 18:28:34</small></p>
</div>
<div class=’tl-body’>
<p>Realizado desde
132.248.124.144, buscando un problema
conocido con cgi-bin/excite, sin
consecuencias</p>
</div>
</div>
</li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4> Otro escaneo con nikto</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 18:53:00 a 18:53:45</small></p>
</div>
<div class=’tl-body’>
<p>esta vez desde 192.168.5.32</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Se nuevo ‘timezone’ </h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:59:57</small></p>
</div>
<div class=’tl-body’>
<p>hora estandar del Pacifico (PST)</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>El usuario ‘reno’ copia 514 ficheros
bajo C:\Documents and Settings en los
directorios de distintos
usuarios</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 18:34:18 a 18:45:35</small></p>
</div>
<div class=’tl-body’>
<p>ficheros Excel, Word, presentaciones Powerpoint,
PDFs e imagenes pornograficas en formato ‘jpg’</p>
</div>
</div>
</li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Escaneo de vulnerabilidades del
servidor web desde 84.18.17.15.</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 14:04:43 a 14:26:54</small></p>
</div>
<div class=’tl-body’>
<p>En esta ocasion si que parece un
ataque real, por cuanto es una IP externa
y no se usa ‘nikto’</p>
</div>
</div>
</li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Ataque tipo denegacion de servicio</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 14:19:14 a 14:19:19</small></p>
</div>
<div class=’tl-body’>
<p>Realizado desde 4.18.17.15</p>
</div>
</div>
</li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Instalacion de PostgreSQL</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 14:45:44 a 14:47:07</small></p>
</div>
<div class=’tl-body’>
<p>PostgreSQL 8.1</p>
</div>
</div>
</li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>El administrador crea un directorio</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 14:47:30</small></p>
</div>
<div class=’tl-body’>
<p>C:\Documents and settings\Administrator\Sof7w4r3</p>
</div>
</div>
</li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>El administración copia ficheros en el
directorio creado</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 14:59:43</small></p>
</div>
<div class=’tl-body’>
<p>Tcpview.exe, languardnss6.exe y cports.exe.</p>
</div>
</div>
</li>
<li>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>El administrador crea otro
directorio</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 15:28:25</small></p>
</div>
<div class=’tl-body’>
<p>C:\Documents and Settings\Administrator\My Documents\update
que contiene algunos hotfixes a instalar</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Comienzo del ataque</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:11:13</small></p>
</div>
<div class=’tl-body’>
<p>Alguien, en algún lugar,
crea un correo con el que intenta conseguir
que un usuario del sistema
(Johnatan) acceda a una URL determinada,
mediante la cual tiene
previsto conseguir acceso al sistema</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>El usuario Johnatan hace login en el sistema</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:23:09</small></p>
</div>
<div class=’tl-body’>
<p>Es
particularmente importante porque
es este usuario y en esta sesion el
que va a sufrir el ataque.</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Johnatan arranca el Internet Explorer</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:23:49</small></p>
</div>
<div class=’tl-body’>
<p>Process ID 3128</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Johnatan se conecta a mail.yahoo.com</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:26:46</small></p>
</div>
<div class=’tl-body’>
<p>Para leer su correo</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Primer intento de ataque. Johnatan ha caido en la
trampa y accede a http://70.107.249.150/clientes.wmf
</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:41:30</small></p>
</div>
<div class=’tl-body’>
<p> Sin embargo, el exploit falla y
no hayconsecuencias aparentes.</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Johnatan abre otro correo</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:43:44</small></p>
</div>
<div class=’tl-body’>
<p></p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Internet explorer advierte
a Johnatan de que el
contenido ha sido bloqueado. </h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:43:50</small></p>
</div>
<div class=’tl-body’>
<p>Pero este ignora la advertencia y sigue
adelante.</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Se accede a http://70.107.249.150:8080/clientes.wmf</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:44:10</small></p>
</div>
<div class=’tl-body’>
<p>Es la misma dirección que el anterior
pero diferente puerto</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>¡¡¡EXPLOIT!!! El atacante arranca un interprete
de comandos en el sistema accesible desde el exterior</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:44:11</small></p>
</div>
<div class=’tl-body’>
<p>Ademas, como
Johnatan pertenece al grupo Administrators,
con privilegios de
Administrador.</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>El atacante anade la cuenta ver0k</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:45:30</small></p>
</div>
<div class=’tl-body’>
<p>Con el comando ’net user
ver0k password /ADD’</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>Luego anade la cuenta ver0k al grupo
Administrators</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:45:53</small></p>
</div>
<div class=’tl-body’>
<p>Con el comando ’net group ’Administrators’ ver0k /ADA’</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>el atacante cambia las entradas del registry que
permiten el acceso remoto al sistema </h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:46:23</small></p>
</div>
<div class=’tl-body’>
<p>En particular,
’HKLM\SYSTEM\CurrentControlSet\Terminal Server\fDenyTSConenctions =0’
con Terminal Remoto: “REG ADD
‘HKLM\System\CurrentControlSet\Control\Terminal Server’ /v
fDenyTSConnections /t REG_DWORD /d 0 /f</p>
</div>
</div>
</li>
<li class=’timeline-inverted’>
<div class=’tl-circ’></div>
<div class=’timeline-panel’>
<div class=’tl-heading’>
<h4>El atacante (‘ver0k’) se conecta por
Terminal Remoto al sistema</h4>
<p><small class=’text-muted’>
<i class=’glyphicon glyphicon-time’>
</i> 12:46:54 a 12:47:21</small></p>
</div>
<div class=’tl-body’>
<p>Desde la IP 70.107.249.155, distinta de la
anterior que era 70.107.249.150</p>
</div>
</div>
</li>
</ul>
</div>
</body>
</html>
Informe técnico
El informe técnico realizado, al igual que en los casos anteriores, se va a presentar a continuación en
formato org, tal como se ha desarrollado.
Adicionalmente, para facilitar la lectura, se presenta en formato pdf (preferiblemente) y html.
El informe ha sido desarrollado siguiendo la metodología propuesta, al igual que el resto de tareas de la
prueba de concepto, y en este caso particular, está preparado para importar datos de la plantilla de datos
generales y que la generación del informe se realice (utilizando la función de emacs-lisp gpgFilesToPdf
desarrollada para este proyecto) de forma segura.
Tal como se comenta en el análisis, el objetivo del proyecto es que el continente del mismo sea adecuado
a la metodología, no siendo la calidad del contenido (en relación al alcance de la investigación y el detalle
de su desarrollo forense) un objetivo principal, lo que no implica que la calidad del mismo sea baja.
#+LATEX_CLASS: article
#+LATEX_CLASS_OPTIONS: [a4paper]
#+EXPORT_EXCLUDE_TAGS: HIDDEN
#+LATEX_HEADER: \usepackage{gensymb}
#+LATEX_HEADER: \hypersetup{colorlinks=true,linkcolor=magenta}
#+LaTeX_HEADER: \usepackage[T1]{fontenc}
#+LaTeX_HEADER: \usepackage{libertine}
#+LaTeX_HEADER: \renewcommand*\oldstylenums[1]{{\fontfamily{fxlj}\selectfont #1}}
#+LaTeX_HEADER: \usepackage{lmodern}
\newpage
\tableofcontents
\newpage
* Declaración de tachas
#+BEGIN_EXAMPLE
1. No ser conyuge o pariente por consanguinidad o afinidad, dentro del
cuarto grado civil de una de las partes o de sus abogados o
procuradores.
* Juramento o promesa
* Índice general
+ *Proceso de análisis*
+ *Cronología de eventos*
+ *Línea temporal*
* Objetivas.
* Precisas.
* Claras.
* Justificadas.
+ *RECOMENDACIONES*
+ *ANEJOS*.
* *Direcciones IP implicadas*
\newpage
\newpage
** Alcance
|-----------------------------------------------+------------+----------|
| Headline | Time | |
|-----------------------------------------------+------------+----------|
| *Total time* | *5d 17:56* | |
|-----------------------------------------------+------------+----------|
| Proceso de Preparación | 18:03 | |
| \emsp Registro de acciones... | | 0:05 |
| \emsp Plan de proyecto | | 13:38 |
| \emsp Estructura de directorios | | 0:11 |
| \emsp Acuerdo de confidencialidad | | 0:21 |
| \emsp Antecedentes | | 0:32 |
| \emsp Fichero de datos generales | | 0:23 |
| \emsp Autorización y aceptación de trabajos | | 0:18 |
| \emsp Registro de limitaciones y exclusiones | | 1:11 |
| \emsp Documento de inicio de proyecto | | 1:24 |
| Proceso de identificación | 3:53 | |
| \emsp Registro de incidencias | | 0:11 |
| \emsp Identificación de palabras clave | | 0:13 |
| \emsp Identificación de actores y cuadro... | | 1:50 |
| \emsp Croquis del escenario | | 1:25 |
| \emsp Identificación de activos involucrados | | 0:14 |
| Proceso de recopilación (recolección... | 0:55 | |
| \emsp Cadena de custodia | | 0:55 |
| Proceso de preservación | 0:15 | |
| \emsp Tiempo dedicado a la preservación de... | | 0:15 |
| Proceso de análisis | 3d 8:11 | |
| \emsp Checklist de herramientas HW/SW | | 6:22 |
| \emsp Checklist de artefactos | | 2:58 |
| \emsp Análisis de datos y evidencias | | 2d 16:57 |
| \emsp Cronología relacional o línea temporal | | 5:54 |
| Proceso de consolidación | 1d 10:39 | |
| \emsp Informe técnico | | 1d 10:08 |
| \emsp Documento de aceptación de fin de... | | 0:31 |
|-----------------------------------------------+------------+----------|
[[./taskjuggler.png]]
Si bien los objetivos del proyecto no han sido modificados tal y como se
ha comentado, si es cierto que el alcance se ha visto afectado por una
serie de limitaciones que fueron notificadas al cliente y documentadas
en su momento, y son:
#+tblname: POC-051114-001
|------------------+---------------------------------------------------|
| Código | POC-051114-001 |
|------------------+---------------------------------------------------|
| Exclusion/limite | Se excluye cualquier tipo de fuente de evidencias |
| | adicional a la imagen facilitada. |
|------------------+---------------------------------------------------|
| Motivo | Reglas del reto forense. |
|------------------+---------------------------------------------------|
| Responsable | Organización del reto. |
|------------------+---------------------------------------------------|
#+tblname: POC-051114-002
|------------------+-------------------------------------------------|
| Código | POC-051114-002 |
|------------------+-------------------------------------------------|
| Exclusion/limite | Se excluyen entrevistas o información adicional |
| | por parte del cliente. |
|------------------+-------------------------------------------------|
| Motivo | Reglas del reto forense. |
|------------------+-------------------------------------------------|
| Responsable | Investigador. |
|------------------+-------------------------------------------------|
#+tblname: POC-081114-001
|------------------+-----------------------------------------------------|
| Código | POC-081114-001 |
|------------------+-----------------------------------------------------|
| Exclusion/limite | Se excluye el acceso a datos personales localizados |
| | en la imagen facilitada. |
|------------------+-----------------------------------------------------|
| Motivo | Contexto legal. |
|------------------+-----------------------------------------------------|
| Responsable | Investigador. |
|------------------+-----------------------------------------------------|
\newpage
** Antecedentes
*Antecedentes iniciales*
~Clasificación:~ CONFIDENCIAL
~Asuntos a tratar:~
- Sucesos identificados.
- Personal implicado.
- Sistemas implicados.
~ASISTENTES~
|---------------+----------------|
| Nombre | Cargo |
|---------------+----------------|
| {{{nomCli}}} | {{{cargoCli}}} |
|---------------+----------------|
| {{{nomProf}}} | {{{tipoProf}}} |
|---------------+----------------|
~Observaciones:~
~ANTECEDENTES~
|-----+----------------------------------------------------------|
| Num | Descripcion |
|-----+----------------------------------------------------------|
| | El administrador de sistemas de una pequeña empresa |
| | ha notado que existe una cuenta que él no creó en su |
| 1 | sistema de ERP (Enterprise Resource Planning), por |
| | lo que el administrador de sistemas sospecha de algún |
| | ingreso no autorizado, del que desconoce el alcance. |
|-----+----------------------------------------------------------|
| | El sistema en que se ejecuta la aplicación es un |
| | servidor Windows 2003, cuya principal función |
| 2 | era proporcionar acceso al sistema ERP aa través de |
| | la Web. |
|-----+----------------------------------------------------------|
| 3 | Hace poco tiempo que habían migrado al uso de este |
| | servidor. |
|-----+----------------------------------------------------------|
| | Según el administrador, trataba de mantener el |
| 4 | sistema actualizado por lo que no sabe cómo pudieron |
| | ingresar a su sistema. |
|-----+----------------------------------------------------------|
| | El administrador mencionó que más de una persona |
| 5 | tiene acceso a cuentas privilegiadas en el sistema |
| | y que a veces utilizan estas cuentas para labores |
| | administrativas y personales. |
|-----+----------------------------------------------------------|
| | El administrador mencionó que los usuarios del |
| 6 | servidor utilizan aplicaciones que no requieren |
| | ningún tipo de privilegio para ejecutarse. |
|-----+----------------------------------------------------------|
| | Datos de la imagen del equipo comprometido: |
| 7 | - Sistema Operativo de equipo comprometido: Windows 2003 |
| | - Tamaño de la imagen: <= 6 GB. |
| | - La firmas md5 de la imagen completa, comprimida y |
| | descomprimida, respectivamente, son: |
| | + 062cf5d1ccd000e20cf4c006f2f6cce4 - windows2003.img |
| | + 33a42d316c060c185f41bfcacf439747 - windows2003.img.gz |
|-----+----------------------------------------------------------|
|-----+-------------------------------------------------------------|
| Num | Descripcion |
|-----+-------------------------------------------------------------|
| 1 | No se especifica ningún dato adicional acerca del ERP. |
|-----+-------------------------------------------------------------|
| | No se especifica ningún dato adicional acerca del servdor, |
| 2 | como el nivel de parcheo o funcionalidades/aplicaciones |
| | adicionales del servidor que podrían ser relevantes para |
| | la investigación. |
|-----+-------------------------------------------------------------|
| 3 | No se facilitan fechas, concretas ni aproximadas, relativas |
| | a la instalación o posible intrusión. |
|-----+-------------------------------------------------------------|
| 4 | No se facilita información concreta acerca del nivel de |
| | parches instalados en el sistema o aplicativos instalados. |
|-----+-------------------------------------------------------------|
| 5 | No se facilita un listado de usuarios con acceso al sistema |
| | (ni por lo tanto sus contraseñas). |
|-----+-------------------------------------------------------------|
~COMPROMISOS/ACUERDOS~
|-----+-------------------------------------+---------------+-------|
| Num | Descripcion | Responsable | Fecha |
|-----+-------------------------------------+---------------+-------|
| 1 | firmar el documento de aceptación y | {{{nomProf}}} | |
| | autorización de trabajos | | |
|-----+-------------------------------------+---------------+-------|
| 2 | | | |
|-----+-------------------------------------+---------------+-------|
| 3 | | | |
|-----+-------------------------------------+---------------+-------|
*Actores clave*
|-----+--------------------------+---------------------------------------------------|
| No. | Actores | Observaciones |
|-----+--------------------------+---------------------------------------------------|
| 1 | Administrador | |
|-----+--------------------------+---------------------------------------------------|
| 2 | Empleados con acceso al | Disponen de cuentas con permiso de administración |
| | servidor | en el sistema |
|-----+--------------------------+---------------------------------------------------|
| 3 | *Usuario ERP sospechoso* | Cuenta no controlada por el administrador. Se |
| | | desconoce su origen. |
|-----+--------------------------+---------------------------------------------------|
*Cuadro relacional*
[[../2_INICIO/cuadro_relacional.png]]
*Palabras clave*
|-----+-------------------------+-----------------------------------------------|
| No. | Palabras clave | Observaciones |
|-----+-------------------------+-----------------------------------------------|
| 1 | Sistema de ERP | Enterprise Resource Planning |
|-----+-------------------------+-----------------------------------------------|
| 2 | Cuenta comprometida ERP | No se facilita la cuenta |
|-----+-------------------------+-----------------------------------------------|
| 3 | Windows 2003 | Sistema operativo del servidor comprometido |
|-----+-------------------------+-----------------------------------------------|
| 4 | Actualizaciones del SO | El sistema se trataba de mantener actualizado |
|-----+-------------------------+-----------------------------------------------|
| 5 | Cuentas privilegiadas | No se facilitan las cuentas |
| | | Con permisos de administración |
| | | Se utilizan para labores personales |
|-----+-------------------------+-----------------------------------------------|
| 6 | Aplicaciones de usuario | No se especifican las aplicaciones |
| | instaladas | |
|-----+-------------------------+-----------------------------------------------|
*Activos clave*
|-----+---------+--------------------|
| No. | Activos | Observaciones |
|-----+---------+--------------------|
| 1 | Fichero | windows2003.img.gz |
|-----+---------+--------------------|
*Croquis de escenario*
No aplica.
*Cadena de custodia*
|--------------------+------------------------------------------+--------------------------|
| | Datos | Observaciones |
|--------------------+------------------------------------------+--------------------------|
| Código | 1 | Ver PoC-IAI-001.pdf |
|--------------------+------------------------------------------+--------------------------|
| Activo | {{{Activo_1}}} | Fichero comprimido |
|--------------------+------------------------------------------+--------------------------|
| Hash | 2f53bf2187ce9efcb1ec0e7f930141b36f2f7dc9 | bash-3.2$ shasum -v |
| | | 5.84 |
|--------------------+------------------------------------------+--------------------------|
| Fecha recopilación | [2015-06-14 Sun 10:59] | |
|--------------------+------------------------------------------+--------------------------|
| Forma de recopil. | recolección | No se dispone de |
| | | notario ni fedatario |
| | | público. |
|--------------------+------------------------------------------+--------------------------|
| Tamaño (bytes) | 3500527266 | El fichero descomprimido |
| | | ocupa 5239471104 bytes |
|--------------------+------------------------------------------+--------------------------|
| Número de copias | 3 copias disponibles | 1 en la web |
| | | 1 en servidor NAS |
| | | 1 de trabajo |
|--------------------+------------------------------------------+--------------------------|
| Responsable | {{{nomProf}}} | {{{cargoProf}}} |
|--------------------+------------------------------------------+--------------------------|
*Observaciones finales*
\newpage
** Documentos de referencia
\newpage
** Terminología y abreviaturas
\newpage
** Proceso de análisis
*Entorno de trabajo*
- ENTORNO Linux
- [X] VM SIFT (Sans Forensics)
+ http://sift.readthedocs.org/en/latest/packages/index.html#all-packages
+ sleuthkit/Autopsy
+ mac-robber
+ mactime
+ dcfldd
+ dc3dd
+ tcpdump
+ wireshark
+ [[http://plaso.kiddaland.net/usage][Plaso]]
+ [[http://www.forensicswiki.org/wiki/Bulk_extractor#Download][bulk_extractor]]
- http://www.dragonjar.org/data-carvers-en-retos-forenses.xhtml
- http://www.dragonjar.org/bulk-extractor.xhtml
+ libqcow-tools
+ libsmdev-tools
+ libsmraw-tools
+ libvhdi-tools
+ libvmdk-tools
- [X] Emacs 24
- [X] tmux
- [X] parcellite/glipper/klipper/
- [X] sshfs
- [X] autofs
- [X] memdump
- [X] [[https://code.google.com/p/lime-forensics][lime forensics]]
- Usuario: investigador
- Contraseña: forense
#+BEGIN_QUOTE
investigador@EFI:~$ gpg --edit-key 29678D06
gpg (GnuPG) 1.4.16; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
*Actuaciones*
#+BEGIN_EXAMPLE
/media/investigador/WINDOWS/system32/config $
Launching nic v.20100401
nic v.20100401
(System) Gets NIC info from System hive
Adapter: {44C3A521-98D1-4B7A-850D-860BB2324A1D}
LastWrite Time: Thu Jan 26 06:26:22 2006 Z
EnableDHCP 1
IPAddress 0.0.0.0
SubnetMask 0.0.0.0
DefaultGateway
Adapter: {5269ADEB-9E6D-4673-B898-4238F085972C}
LastWrite Time: Thu Jan 26 06:26:22 2006 Z
EnableDHCP 0
IPAddress 192.168.5.5
SubnetMask 255.255.255.0
DefaultGateway 192.168.5.254
DhcpIPAddress 0.0.0.0
DhcpSubnetMask 255.0.0.0
DhcpServer 255.255.255.255
Lease 3600
LeaseObtainedTime Sun Jan 29 01:18:17 2006 Z
T1 Sun Jan 29 01:48:17 2006 Z
T2 Sun Jan 29 02:10:47 2006 Z
LeaseTerminatesTime Sun Jan 29 02:18:17 2006 Z
#+END_EXAMPLE
+ He utilizado [[http://www.sleuthkit.org/mac-robber/index.php]
[mac-robber]] para recoger toda la información relativa a
los ficheros del sistema analizado. Se puede ver las salida en el
fichero [[../3_EVIDENCIAS/poc_mac_robber.mac][poc_mac_robber]].
Una vez obtenido el fichero con los hashes, utilizamos ~John the
ripper~ para obtener las contraseñas, como se puede ver a
continuación:
#+BEGIN_EXAMPLE
Loaded 37 password hashes with no different salts (LM [DES 128/128 SSE2-16])
Press ’q’ or Ctrl-C to abort, almost any other key for status
MORA (zamorano:2)
P0STGR3 (postgres:1)
R3N0 (reno:2)
PASSWOR (ver0k:1)
(SUPPORT_388945a0)
(Guest)
1 (mpenelope:2)
2000 (moni:2)
CARMEN8 (amado:1)
D (ver0k:2)
4 (lalo:2)
R (ernesto:2)
LY (pili:2)
3 (mirna:2)
3 (amado:2)
18 (maick:2)
JUANG11 (maick:1)
MELUCHA (maru:1)
30 (caracheo:2)
83 (katy:2)
RODOLFO (reno:1)
MMONICA (moni:1)
026 (maru:2)
LALOLOC (ovejas:1)
O86 (ovejas:2)
TEGUIZA (zamorano:1)
CHIRIPI (pili:1)
CHLN026 (katy:1)
MIRK4AR (mirna:1)
T3R3CLT (lalo:1)
T3MP0RA (mpenelope:1)
T3WPJ0H (Johnatan)
SSQL (postgres:2)
3RN3S70 (ernesto:1)
L, (Administrator:2)
U7R3$7U (Administrator:1)
C4R$4CH (caracheo:1)
37g 0:02:51:36 3/3 0.003593g/s 45521Kp/s 45521Kc/s 90542KC/s C4R$4BU..C4R$4DW
Warning: passwords printed above might be partial
Use the ’--show’ option to display all of the cracked passwords reliably
Session completed
~ $
#+END_EXAMPLE
#+BEGIN_EXAMPLE
Administrator:U7R3$7UL,:500:fad82559a3669bf1c349641028e9bf3b:ecde6a92576ca84b5ddcd7cb117bab50
Guest::501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SUPPORT_388945a0::1001:aad3b435b51404eeaad3b435b51404ee:8dcca3eb5e2ed3503e483df0dce5f072:::
Johnatan:T3WPJ0H:1006:fbc89204579fc565aad3b435b51404ee:7750def414475cf2b9b45a64fdd3481a:::
ernesto:3RN3S70R:1007:aa4d59741693011a944e2df489a880e4:2c759a0f3165fe70f3b2ef1355dbbf4e:::
amado:CARMEN83:1008:59cbc5117eaef5c21aa818381e4e281b:0ade3431a00b403ccc562b6cf629ab77:::
maick:JUANG1118:1009:85fec305e34929d18347bb1e72cc9f76:0e13f8a840ea89fcd88cb36b962a2f14:::
lalo:T3R3CLT4:1010:3264cf6b06490f7cff17365faf1ffe89:10ee4264b00cc787b80f6f3c80dcf9c5:::
moni:MMONICA2000:1011:506b60f26bb9aeef8b4c5fc57ce52905:0ac8ae6ef8beaae7c61cf4230c7a3b8d:::
maru:MELUCHA026:1012:03fb789ef35a2b6d40967f66e935e1ff:2e4f31fe3248f2bc9d1e961b579f0e5f:::
mirna:MIRK4AR3:1013:4547b34ebb1a63e81aa818381e4e281b:b84ef18830b2b30ba60105d507eaaec9:::
katy:CHLN02683:1014:b487217fce8da54ddc0adaac127d3673:2ce609fe8387032f3c7fbbfc7f4bd931:::
caracheo:C4R$4CH30:1015:10972d878c8158d23830ab41f50b8c79:1f29efc37cc7c33148c3b1a16b81c45
ovejas:LALOLOCO86:1016:36cea0da9720c1866f3baf47315038ff:16fb5c5803db901b39f38adcfda64bf7
reno:RODOLFOR3N0:1017:f903d899f9f2f54138e225910e5ac3d2:da8ffa76f679c3a79d46b96d61758f34:
pili:CHIRIPILY:1018:7ed41ffdc962e828527c3e14a6132a0f:8963676b5ef71347321fca96dfcf2243:::
zamorano:TEGUIZAMORA:1019:4f11278e04ff02b3451e935871f3e930:5550a4a120a88cfc12e1c856344d9
mpenelope:T3MP0RA1:1020:7d536e187e4a5a05c2265b23734e0dac:2a6f455e8094160b511a810e4e8aee6
postgres:P0STGR3SSQL:1023:c848af05f3d8ca3c929ca03322bf4367:6812a8dcfcad8c09a65696fa3e893
ver0k:PASSWORD:1024:e52cac67419a9a224a3b108f3fa6cb6d:8846f7eaee8fb117ad06bdd830b7586c:::
+ C:\apache\Apache\logs
+ C:\apache\Apache\mysql\data\
+ C:\Program Files\PostgreSQL\8.1\data\pg_log
- Se analiza el ~profile~
+ Aquí podemos ver que no todos los perfiles de usuario han estado
activos hasta el momento del apagado del sistema, y de echo algunos
apenas han tenido actividad desde el momento de su creación, por lo
que se puede descartar a la hora del análisis.
- Análisis de MSN
Dado que entre la información recabada por bulk-extractor hay una serie
de direcciones de correo obtenidas mediante el procedimiento de file
carving, se desarrolló un programa para generar el UserID de todos los
casos obteniendo un match: [email protected]~, lo que nos confirma
que fue esta la cuenta empleada por el atacante.
Adicionalmente se confirma ademas por el hecho de encontrar en el
fichero
#+BEGIN_EXAMPLE
INVITE MSNMSGR:[email protected] MSNSLP/1.0
To: <msnmsgr:[email protected]>
#+END_EXAMPLE
*Análisis*
#+BEGIN_EXAMPLE
4 REG_DWORD <InstallDate> 1138258604 [0x43d872ac]
#+END_EXAMPLE
- Sistema operativo
#+BEGIN_EXAMPLE
> cat Microsoft\Windows NT\CurrentVersion\ProductName
Value <Microsoft\Windows NT\CurrentVersion\ProductName> of type REG_SZ, data length 66 [0x42]
Microsoft Windows Server 2003 R2
#+BEGIN_EXAMPLE
Loaded hives: <SAM><software>
#+END_EXAMPLE
- Sofware Instalado
+ Podemos ver que el firewall del servidor está activo, y los puertos
abiertos (y no nateados) son:
- Terminal Server
- Unidades compartidas
- Busqueda de ‘malware’.
#+BEGIN_EXAMPLE
Launching recentdocs v.20100405
recentdocs v.20100405
(NTUSER.DAT) Gets contents of user’s RecentDocs key
RecentDocs
**All values printed in MRUList\MRUListEx order.
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
LastWrite Time Sun Feb 5 21:58:56 2006 (UTC)
18 = Administrator’s Documents
37 = examen.gif
36 = Apache
35 = ABOUT_APACHE.TXT
34 = maick
33 = Sti_Trace.log
32 = RRGEPPortadas.doc
31 = RRGEPNotas.doc
30 = Notas.doc
24 = Indice Pormenorizado.doc
29 = ÍNDICE DOCTORADO.doc
28 = formulario.doc
23 = 30SEP_bolecart-book.doc
26 = Israel Robledo Gonzáles’s Documents
27 = concha.doc
25 = Boletin11.doc
19 = modelos
22 = nm06082003.jpeg
21 = nm06052003.jpeg
20 = nm06042003.jpeg
10 = nm06032003.jpeg
9 = a017.jpg
7 = imagenes
8 = overlay_por_2006020110007_20060201224249.jpg
6 = overlay_por_2006020107034_20060201190204.jpg
17 = overlay_9_2006020110006.jpg
16 = overlay_8_2006020110005.jpg
15 = overlay_8.jpg
14 = overlay_7_2006020110005.jpg
13 = overlay_6_2006020110004.jpg
12 = overlay_6_2005112211035.jpg
11 = overlay_5_2006020110004.jpg
4 = Local Disk (C:)
5 = users.txt
3 = clientes.txt
1 = web-erp
2 = config.php
0 = AccountGroups.php
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.doc
LastWrite Time Sun Feb 5 21:47:42 2006 (UTC)
MRUListEx = 8,7,1,6,5,4,0,3,2
8 = RRGEPPortadas.doc
7 = RRGEPNotas.doc
1 = Notas.doc
6 = Indice Pormenorizado.doc
5 = ÍNDICE DOCTORADO.doc
4 = formulario.doc
0 = 30SEP_bolecart-book.doc
3 = concha.doc
2 = Boletin11.doc
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.gif
LastWrite Time Sun Feb 5 21:58:55 2006 (UTC)
MRUListEx = 0
0 = examen.gif
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.jpeg
LastWrite Time Sun Feb 5 21:19:05 2006 (UTC)
MRUListEx = 3,2,1,0
3 = nm06082003.jpeg
2 = nm06052003.jpeg
1 = nm06042003.jpeg
0 = nm06032003.jpeg
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.jpg
LastWrite Time Sun Feb 5 21:18:05 2006 (UTC)
MRUListEx = 4,3,2,1,0,9,8,7,6,5
4 = a017.jpg
3 = overlay_por_2006020110007_20060201224249.jpg
2 = overlay_por_2006020107034_20060201190204.jpg
1 = overlay_9_2006020110006.jpg
0 = overlay_8_2006020110005.jpg
9 = overlay_8.jpg
8 = overlay_7_2006020110005.jpg
7 = overlay_6_2006020110004.jpg
6 = overlay_6_2005112211035.jpg
5 = overlay_5_2006020110004.jpg
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.log
LastWrite Time Sun Feb 5 21:49:52 2006 (UTC)
MRUListEx = 0
0 = Sti_Trace.log
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.php
LastWrite Time Sun Feb 5 20:50:02 2006 (UTC)
MRUListEx = 1,0
1 = config.php
0 = AccountGroups.php
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.txt
LastWrite Time Sun Feb 5 21:53:46 2006 (UTC)
MRUListEx = 2,1,0
2 = ABOUT_APACHE.TXT
1 = users.txt
0 = clientes.txt
Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\Folder
LastWrite Time Sun Feb 5 21:58:56 2006 (UTC)
MRUListEx = 8,7,2,6,5,3,1,0
8 = Administrator’s Documents
7 = Apache
2 = maick
6 = Israel Robledo Gonzáles’s Documents
5 = modelos
3 = imagenes
1 = Local Disk (C:)
0 = web-erp
#+END_EXAMPLE
- URLs accedidas
+ Analizando las URLs accedidas por los usuarios hay dos usuarios que
llaman la atención:
* Vemos que el ~Administrator~ ha accedido a google, a la unidad de
disco (C:) y se ha descargado la herramienta de IM de
Microsoft. Sin embargo este usuario no ha accedido con ningún
usuario ya que el directorio ~C:/Documents and
Settings/Administrator/Application Data/Microsoft/MSN Messenger~
aparece vacío.
\newpage
** Cronología de eventos
Asimismo, todas las horas estan referidas al huso horario del Pacifico
(PST, o GMT-8) aunque la evidencia en ocasiones este asociada a GMT o
Alaska (GMT-9), como ya he comentado.
- ~1-feb-06 18:53:00 a 18:53:45~: Otro escaneo con nikto, esta vez desde 192.168.5.32
- ~2-feb-06 12:59:57~: Se pone como nuevo ‘timezone’ la hora estandar del Pacifico (PST)
+ File creation:
* updates 15:28:25
* Windows2000-KB828741-x86-ESN.EXE 15:28:27
* Windows2000-KB835732-x86-ESN.EXE 15:28:32
- ~5-feb-06 12:11:13~: Comienzo del ataque. Alguien, en algún lugar,
crea un correo con el que intenta conseguir que un usuario del sistema
(Johnatan) acceda a una URL determinada, mediante la cual tiene
previsto conseguir acceso al sistema.
#+BEGIN_EXAMPLE
De: [email protected]
Para: [email protected]
Asunto: Urgente!!
Fecha: Sun, 5 Feb 2006 14:11:13 -0600 (CST)
Johnny:
Por favor baja el catalogo que esta en http://70.107.249.150/clientes.wmf
Alberto Lopez
Director General
Electronica y Computacion S.A. de C.V.
#+END_EXAMPLE
+ Security Event Log 05/02/2006 12:23:49 New Process Has Been Created
-- New Process ID - 3128; Image File Name - C:\Program
Files\Internet Explorer\IEXPLORE.EXE; Creator Process ID Domain -
904; Username - Johnatan; Domain - COUNTERS; Logon ID -
(0x0,0x3DF69A);
Sec Event Log 05/02/2006 12:44:11 New Process Has Been Created -- New
Process ID - 884; Image File Name - C:\WINDOWS\system32\rundll32.exe;
Creator Process ID Domain - 3128; Username - Johnatan; Domain -
COUNTERS; Logon ID - (0x0,0x3DF69A);
Sec Event Log 05/02/2006 12:44:12 New Process Has Been Created -- New
Process ID - 3376; Image File Name - C:\WINDOWS\system32\cmd.exe;
Creator Process ID Domain - 884; Username - Johnatan; Domain - COUNTERS;
Logon ID - (0x0,0x3DF69A);
Y por la existencia de dicho fichero .tif entre los que son recuperables
dentro de los ficheros temporales de Internet. En concreto, lo
encontramos en C:\Documents and Settings\Johnatan\Local
Settings\Temporary Internet
Files\Content.IE5\LQ9ClubsIAJKIa2jdYtSFExez4sRyL.tiff.
+ Security Event Log 05/02/2006 12:46:23 New Process Has Been Created
-- New Process ID - 3984; Image
\newpage
** Línea temporal
[[./poc_timeline1.png]]
[[./poc_timeline2.png]]
[[./poc_timeline3.png]]
[[./poc_timeline4.png]]
[[./poc_timeline5.png]]
[[./poc_timeline6.png]]
[[./poc_timeline7.png]]
\newpage
** Conclusiones
\newpage
** Recomendaciones
*Solucion al incidente*
- Reinstalar una version limpia del sistema operativo, siempre sin estar
conectado al exterior.
*Recomendaciones finales*
\newpage
** Anejos
*Direcciones IP implicadas*
|-----------------+--------------------------------------------------------------|
| 134.186.42.18 | Posible intento de ataque al web Server, |
| | el 29 de Enero a las 18:01:43 segun |
| | access.log |
|-----------------+--------------------------------------------------------------|
| 132.248.124.144 | Intento de ataque al web Server, el 30 de Enero, |
| | a las 18:28:34 |
|-----------------+--------------------------------------------------------------|
| 84.18.17.15 | Origen de escaneo de vulnerabilidades del web Server, |
| | el 4 de Febrero a las14:04:43 |
|-----------------+--------------------------------------------------------------|
| 4.18.17.15 | Origen de escaneo de vulnerabilidades Sat Feb 04 14:19:14. |
|-----------------+--------------------------------------------------------------|
| 70.107.249.150 | Dirección IP asociada al atacante |
|-----------------+--------------------------------------------------------------|
| 70.107.249.155 | Dirección IP asociada al atacante |
|-----------------+--------------------------------------------------------------|
| 192.168.100.144 | Escaneo de vulnerabilidades del web Server con nikto. |
|-----------------+--------------------------------------------------------------|
| 192.168.5.32 | Escaneo de vulnerabilidades del web Server con nikto. |
|-----------------+--------------------------------------------------------------|
| 192.168.5.5 | La propia direccion IP del sistema atacado, obtenida de |
| | HKLM\System\ControlSet001\Services\{5269ADEB-9E6D-4673-B898- |
| | 4238F085972C}\Parameters\Tcpip\IPAddress, tambien dentro de |
| | esa misma subred privada. |
|-----------------+--------------------------------------------------------------|
*Descripción de los méritos, menciones, titulaciones y certificaciones*
*experiencia y trayectoria que acreditan al investigador forense como*
*experto en la materia sobre la que se ha realizado el informe.*
~Publicaciones~
Debido a que las guías oficiales sólo recogen los contenidos mínimos que
deben articular estos planes, la AEI ha desarrollado este nuevo
documento en el que se describe el modo de abordar la implantación de
las medidas y más tarde reflejarlo en dichos Planes.
La Guía cuenta con dos grandes apartados alineados con la estructura del
Plan de Seguridad del Operador (PSO) y del Plan de Protección Específico
(PPE):
~Cursos~
- Imperva - SecureSphere Web Application Firewall and SecureSphere File Security & Complianc
~Certificaciones~
- (ISC)2
+ CISSP, Certified Information System Security Professional
+ Licencia Certificate/ID number 380030
- ISACA
+ CISM, Certified Information Security Manager
+ Licencia Certificate/ID number 0708123
- ISACA
+ CISA, Certified Information Systems Auditor
+ Licencia Certificate/ID number 0651861
- AlienVault
+ OCSA: OSSIM Security Analyst
+ AlienVault
- AlienVault
+ OCSE: OSSIM Security Engineer
+ AlienVault
- ISACA
+ CRISC, Certified in Risk and Information Systems Control
+ Licencia Certificate/ID number 1108411
- Sourcefire
+ SFCP, Sourcefire Certified Professional
- Sourcefire
+ SFCSE, Sourcefire Certified Security Engineer
- Sourcefire
+ SFCSR, Sourcefire Certified Sales Rep
~Educación~
D./Dª {{{nomCli}}}
Firma
Capítulo 9: CONCLUSIONES Y LÍNEAS
FUTURAS
Conclusiones
Tras finalizar el proyecto, la primera conclusión personal, evidente e inmediata es que no hay como dedi-
car tiempo a alguna materia con suficiente interés para llegar a tener un nivel de conocimiento importante
de la misma.
Cuando empecé el PFC, a pesar de tener ya alguna experiencia profesional acerca de lo que todo el mundo
llama análisis forense, era consciente de que mis conocimientos eran muy rudimentarios, sobretodo por
la gran cantidad de dudas que tenía acerca de los pasos a seguir, las acciones a realizar o no realizar y en
general acerca de todo el proceso.
Tras investigar acerca de todo el proceso de investigación informática forense he llegado a la conclusión
de que incluso realizando la mejor de las investigaciones forenses, incluso sin cometer errores y desarro-
llando los informes con claridad, es posible que no sea suficiente para que sea adecuadamente utilizado
en un proceso judicial, ya que existe un factor no controlado dentro del mismo, que es la propia condición
humana y el nivel de conocimiento de la persona que debe de juzgar los resultados presentados.
Sin embargo, y a pesar de lo comentado en el apartado anterior, la principal conclusión que he sacado
es que cualquier investigación informática forense debe de ser llevada a cabo por personal cualificado
tanto técnicamente como a nivel normativo y legal. Además, la investigación debe de ser extremada-
mente metodológica, basarse en buenas prácticas y ser documentada exhaustivamente, hasta el punto de
disponer de la metodología utilizada de forma previa al inicio de la investigación para evitar la necesidad
de requerir ’ideas felices’ que pueden poner en riesgo la integridad de la investigación.
Dado que se ha concluido la necesidad de disponer de una metodología explícita, coherente y docu-
mentada adecuadamente, la siguiente conclusión inmediata es que Emacs, tras una importante curva de
aprendizaje, es claramente una alternativa que cumple con cualquier requisito relativo al uso de un pro-
cesador de textos que pueda requerir una investigación informática forense, por más compleja que sea la
misma. Además, su capacidad para funcionar en cualquier plataforma de uso común, su facilidad para
integrarse con otras herramientas y su versatilidad a la hora de gestionar tareas y tiempos, la posibilidad
de trabajar con ficheros cifrados desde el momento inicial del proyecto y sobretodo su integración con
distintos lenguajes muy potentes de programación y la posibilidad de desarrollar la documentación si-
guiendo los paradigmas de la programación literaria, derivan en la clara conclusión de que Emacs es la
herramienta clave para el eficiente desarrollo de la investigación desde el punto de vista de la gestión y
seguridad de la misma.
Finalmente, en relación al objetivo de limitar el uso de herramientas forenses a aquellas que pueden ser
utilizadas e integradas directamente por Emacs, la conclusión clara está en el mismo planteamiento, el
uso exclusivo de herramientas forenses que pueden ser utilizadas e integradas directamente en Emacs es
una limitación en si mismo, y por lo tanto un error de procedimiento.
Líneas futuras
Derivado de las anteriores concusiones y del conocimiento adquirido tangencialmente durante la inves-
tigación creo que hay un gran potencial en la idea de base planteada, pero debe de ser correctamente
replanteado. Existen más iniciativas como DFF (Digital Forensics Framework) por ejemplo, con objeti-
vos similares pero con distinto acercamiento, aunque igualmente acertado.
Obviamente, el mayor cambio a realizar, es eliminar la limitación del uso exclusivo de herramientas
forenses que pueden ser utilizadas e integradas directamente por Emac, si bien éstas deben de ser maxi-
mizadas por motivos obvios, a igualdad de resultados frente a otras herramientas sobretodo con interfaces
gráficas.
En relación a la metodología planteada, dado que he seguido las buenas prácticas internacionales actua-
les, soy consciente de que en el futuro próximo estas van a ser ampliadas y con toda seguridad mejoradas,
por lo que habrá que mantener alineada la metodología propuesta con las buenas prácticas que se publi-
quen.
Además, sería muy interesante desarrollar un laboratorio forense en el que se dispusiese de distintos
equipos, cada uno de ellos con un sistema operativo distinto y sus correspondientes herramientas e inves-
tigar la viabilidad de disponer de un equipo principal con acceso por ssh a los anteriores para centralizar
desde éste la investigación.
Por otro lado, en la actualidad proliferan los sistemas distribuidos o cloud computing platforms,
y creo que este proyecto podría integrarse en nuevos planteamientos que tratan de dar solución a in-
vestigaciones realizadas en dichas plataformas como Digital Forensic Tools for the OpenStack Cloud
Computing Platform, desde un punto de vista metodológico y de integración.
Igualmente, otro de los campos donde podría investigarse su adecuada integración es en el nuevo campo
de moda, el llamado Big data, sobretodo teniendo en cuenta que sleuthkit dispone de un framework
orientado a utilizar Hadoop para procesar imágenes de disco.
Finalmente, en relación con la documentación y la evolución de la programación literaria, sería intere-
sante tratar de alinear el actual planteamiento con la documentación reactiva.
Capítulo 10: GLOSARIO
El glosario no se ha desarrollado de forma explícita ya que he utilizado la capacidad de org-mode de
enlazar fácilmente los conceptos con URLs en los que se da su correspondiente descripción en tiempo
real.
Creo que es más útil dedicarle tiempo a un glosario dinámico, independiente del contenido estático que
pueda expresar en el proyecto, y asociar la explicación de los conceptos a entidades donde su descripción
es más amplia y su posibilidad de actualización es mayor.
Sin embargo, en caso de identificar conceptos o siglas que considere que son interesantes para dejarlos
reflejados estáticamente en este proyecto, aparecen a continuación.
Capítulo 11: BIBLIOGRAFÍA
Bibliografía
http://es.wikipedia.org
• http://es.wikipedia.org/wiki/Delito_inform%C3%A1tico
• http://es.wikipedia.org/wiki/C%C3%B3mputo_forense
• http://es.wikipedia.org/wiki/Criminalística
• http://es.wikipedia.org/wiki/C%C3%B3mputo_forense
• http://es.wikipedia.org/wiki/M%C3%A9todo_cient%C3%ADfico
http://www.elladodelmal.com/2012/04/analisis-forense-de-metadatos-15.html
http://seguinfo.wordpress.com/category/analisis-forense/
http://luisvilanova.es/
• http://luisvilanova.es/peritos-informaticos-analsis-forense/
• http://luisvilanova.es/norma-une1970012011-base-para-las-periciales-informaticas/
http://conexioninversa.blogspot.com.es/
• http://conexioninversa.blogspot.com.es/2008/11/te-gusta-el-anlisis-forense-ponte.
html
http://www.slideshare.net/slideshow/embed_code/17377044#
http://www.youtube.com/watch?feature=player_embedded&v=JDaicPIgn9U
http://www.antpji.com/index.php/ique-es-un-perito-informatico
http://www.thingsupsecurity.com/
http://noticias.juridicas.com/base_datos/Penal/lecr.l2t5.html
http://noticias.juridicas.com/base_datos/Privado/r41-l1-2000.html
http://conexioninversa.blogspot.com.es/2013/12/artefactos-forenses-i.html
http://conexioninversa.blogspot.com.es/2014/01/artefactos-forenses-ii-prefetch-y.
html
http://insecuredata.blogspot.com.es/2015/03/artefactos-forenses-i.html
http://insecuredata.blogspot.com.es/2015/03/artefactos-forenses-ii.html
http://orgmode.org
• http://orgmode.org/manual/Working-With-Source-Code.html#Working-With-Source-Code
• http://orgmode.org/manual/Literal-examples.html#Literal-examples
◦ http://orgmode.org/worg/org-contrib/babel/intro.html
◦ http://orgmode.org/worg/org-contrib/babel/how-to-use-Org-Babel-for-R.
html
http://www.literateprogramming.com/index.html
https://github.com/limist/literate-programming-examples
http://vasc.ri.cmu.edu/old_help/Programming/Literate/literate.html
Metodología
http://es.wikiquote.org/wiki/Sherlock_Holmes
http://www.cienciaforense.com/Pages/es/computers/comp.html
http://cp4df.sourceforge.net/index.html
http://www.seinhe.com/blog/87-el-proceso-de-analisis-forense-informatico
http://policiasenlared.blogspot.com.es/2011/11/la-cadena-de-custodia-informatico.
html
http://www.elderecho.com/www-elderecho-com/contaminacion-custodia-invalida-periciales-inform
11_556555001.html#nota1
http://en.wikipedia.org/wiki/Electronic_discovery
http://www.kelvintopset.com/resources/how-to-write-the-investigation-report
http://insecurityit.blogspot.com.es/2013/09/reflexiones-sobre-la-norma-isoiec.
html
http://www.portaley.com/delitos-informaticos/
http://www.oas.org/juridico/spanish/cyb_analisis_foren.pdf
http://peritoit.com/2013/12/08/utilizacion-de-un-programa-espia-para-el-despido-por-uso-inde
http://peritoit.com/2012/06/03/rfc-3227directrices-para-la-recopilacion-de-evidencias/
http://www.egarante.com/validez-legal-de-egarante/
http://www.sidertia.com/media/6fcbe47e-e7dc-4967-af14-22e828fa112e/-673106981/
Documentos/Un%20forense%20llevado%20a%20juicio_1.0_SDT.pdf
Documentación
Acuerdo de confidencialidad
Emacs/Orgmode/LATEX
http://stackoverflow.com/questions/15255080/how-to-auto-close-an-auto-encryption-mode-buffer
http://stackoverflow.com/questions/7246212/elisp-create-unnamed-buffer-from-contents-of-file
http://emacs-fu.blogspot.com.es/2011/04/nice-looking-pdfs-with-org-mode-and.
html
http://nickguthrie.com/archives/276
http://juanreyero.com/article/emacs/org-teams.html
http://www.gigamonkeys.com/book/
http://sachachua.com
• http://pages.sachachua.com/emacs-notes/how-to-read-emacs-lisp
+http://sachachua.com/blog/wp-content/uploads/2013/05/How-to-Learn-Emacs8.png
http://www.masteringemacs.org/articles/2011/02/08/mastering-key-bindings-emacs/
http://www.gnu.org/software/emacs/manual/html_node/elisp/index.html#Top
http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html#Top
http://www.blackhats.es/wordpress/
http://www.dotemacs.de/basics.html
http://www.rpublica.net/emacs/
http://orgmode.org/manual/index.html#Top
http://www.emacswiki.org/emacs/VictorPeinado
http://www.emacswiki.org/emacs/AutoEncryption
http://www.emacswiki.org/emacs/ElispCookbook
http://www.emacswiki.org/emacs/InteractiveFunction
http://tex.stackexchange.com/questions/76105/what-does-restricted-write18-enabled-mean-
Vídeos
http://hangouton.es/video-peritaje-informatico-herramientas-y-cadena-de-custodia/
Herramientas
Listado de artefactos.
• http://conexioninversa.blogspot.com.es/2013/12/artefactos-forenses-i.html
• http://conexioninversa.blogspot.com.es/2014/01/artefactos-forenses-ii-prefetch-y.
html
• http://insecuredata.blogspot.com.es/2015/03/artefactos-forenses-i.html
• http://insecuredata.blogspot.com.es/2015/03/artefactos-forenses-ii.html
Listado de aplicaciones.
• https://santoku-linux.com/ : Mobile forensics
• http://resources.infosecinstitute.com/registry-forensics-regripper-command-line-lin
• http://resources.infosecinstitute.com/windows-registry-analysis-regripper-hands-cas
• https://www.elhacker.net/InfoForenseWindows.html
Timeline
• http://blog.templatemonster.com/demos/build-a-vertical-timeline-archives-page-usin
Capítulo 12: ANEXOS
Documentación anexa en la carpeta DOC_ANEXA
bash-3.2$ pwd
/Users/error0x01/pfc
bash-3.2$ cd DOC_ANEXA/
bash-3.2$ ls
ISO_IEC_27037_2012.pdf
UNE_197001_2011.pdf
org-info.js
pfc.el
regripper_plugins.csv
regripper_plugins.pdf
worg.css
bash-3.2$
Convenciones
Para seguir adecuadamente el presente capítulo se tiene que tener presente las siguientes convenciones:
Emacs dispone de varias formas para la ejecución de los distintos comandos. A continuación se van
a enumerar las distintas posibilidades disponibles junto a un ejemplo común. Este ejemplo permitirá
saber, en cada caso, la forma de ejecutar una búsqueda de una secuencia concreta y el reemplaza por una
segunda:
Nombre de comando: Para ejecutar un comando hay que pulsar M-x y nombre de comando.
Mediante la pulsación de una determinada secuencia de teclas, específica para cada comando.
• Por ejemplo, en la siguiente imagen podemos ver la opción de menú para el reemplazo de
una secuencia.
En este manual se explicarán los comandos más útiles a la hora de desarrollar un análisis forense, y su
ejecución mediante la pulsación de la secuencia de teclas correspondiente, que denominaremos comando.
Quizás pueda parecer, disponiendo de la posibilidad de realizar las operaciones mediante las opciones
del menú de Emacs, que el ejercicio de memoria que supone la ejecución de comandos mediante la
pulsación de una determinada secuencia de teclas, puede implicar una complicación innecesaria. Sin
embargo, a medida que se conoce más acerca de la utilización de Emacs, se aprecian las ventajas que
supone sobre todo en el uso de los comandos de utilización más frecuente, en factores tan importantes
como la productividad, y eficiencia.
Finalmente, comentar que la combinación de teclas que Emacs asocia a cada comando es una combina-
ción que presenta por defecto. La instalación y customización de Emacs (secuencias de teclas incluidas)
no es objeto de este PFC, y se encuentra ampliamente documentado, por lo que el usuario puede modifi-
car la misma y adaptarla a su gusto.
Figura 1: Ejemplo de reemplazo en emacs
Ayuda de Emacs
La ayuda de Emacs es muy amplia, pero con los siguientes comandos se resuelven un tanto por ciento
muy amplio de las necesidades de un neófito en Emacs:
C-h v VARIABLE Consulta el uso y valor de las variables del entorno Emacs.
C-h a PATRÓN Hace apropos de las funciones, es decir busca un listado de funciones según una
cadena o parte de ella dada.
Configuración inicial
Buffers
Existe un concepto fundamental cuando hablamos de edición de texto, los archivos de texto. Emacs
no edita archivos. Cuando Emacs se ’encuentra’ (usando terminología Emacs), un archivo origi-
nal, independientemente de su localización física, éste es copiado en un buffer temporal, donde se
realiza toda la actividad de edición.
Igualmente, cuando creamos una ventana de texto en Emacs, lo que hacemos es crear un buf-
fer. Emacs lo gestiona todo mediante buffers, hasta que el usuario decide ’salvar’ el contenido,
momento en el que se almacena el contenido del buffer en un archivo.
Los buffers tienen un nombre, y normalmente, éste suele coincidir con el de su archivo asociado.
Sin embargo, existen buffers que no tienen archivos asociados, cuyo nombre normalmente empieza
y termina con el carácter \*. El ejemplo más evidente es el buffer \*scratch\*, de gran utilidad,
ya que es el equivalente al scratch paper.
Los comandos que facilitan el trabajo con los buffers son:
• C-x C-b Lista de buffers.
• C-x C-s Guardar el contenido de un buffer en un archivo.
• C-x C-right/left Acceder al siguiente/posterior buffer.
• C-z Comando para salir de Emacs temporalmente, para que pueda regresar a la misma sesión
de Emacs después escribiendo ’exit’.
Modos
Emacs dispone de modos de edición mayores y menores, que es como conseguimos que Emacs se
adecue a la tarea concreta a desarrollar.
Por ejemplo, Emacs dispone, entre otros, de modo texto para la redacción, mode Marckup para
lenguajes como LATEX, HTML, SGML o XML, modos de programación para distintos lenguajes
(Python, Lisp, Java, Perl, etc), un modo mail, para el correo correo. . . .etc. Si bien, es posible
desarrollar modos ad-hoc, personalizados para distintas necesidades particulares.
Al seleccionar un modo, el entorno de Emacs ’transforma’ el editor de forma que se adecuado al
tipo de tarea que estemos realizando en cada momento.
Cada buffer debe tener un y solo un modo mayor activado en cada momento. Alguno de los modos
mayores que más nos pueden interesar son:
Los modos menores definen aspectos concretos del entorno de Emacs. Algunos de los modos
menores más comúnmente utilizados son:
En este caso, hay un solo comando para interactuar con los modos:
• M-x nombre de modo Activa los modos, ya sean mayores o menores, y desactiva los modos
menores activos.
Estos cambios son visibles, como se verá en el apartado siguiente, en la ’línea de modo’ o
’mode line’.
Configuración
Para personalizar o adaptar Emacs a nuestras necesidades particulares hay que realizar cambios en
los parámetros que Emacs nos presenta por defecto. Estos cambios requieren, en algunos casos,
desde un simple clic hasta conocimientos de programación en Lisp.
Las alternativas para modificar la configuración de Emacs son:
En los tres primeros casos, al acceder a Custom, se presenta una pantalla por la que podemos
utilizar el ratón o las teclas habituales en Emacs. Al inicio aparecen las siguientes opciones que
afectan a todo el buffer:
• Set for Current Session: Para guardar los cambios de modo que afecten sólo a la presente
sesión de Emacs.
• Save for Future Sessions: Los cambios que serán guardados en el archivo de configuración
.emacs, de manera que seguirán vigentes en futuras sesiones.
• Reset: Deshace los últimos cambios realizados, asumiendo los valores anteriores a dichos
cambios.
• Reset to Saved: Deshace los últimos cambios realizados con Save for Future Sessions,
asumiendo los valores anteriores a dichos cambios.
• Erase Custonization: Deshace todo cambio realizado por Custom, tanto si se ha realizado rea-
lizado a través de Set for Current Session como a través de Save for Future Sessions.
• Finish: Cierra el presente buffer, pasando a la pantalla anterior.
Cuando iniciamos Emacs, se intenta cargar un programa Lisp desde un archivo de inicialización.
Emacs busca su archivo de inicio utilizando los nombres de fichero ~/.emacs, ~/emacs.el o
~/.emacs.d/init.el. Puede optar por utilizar cualquiera de estos tres nombres.
Para alguien que no va a hacer un uso extensivo de Emacs y con conocimientos básicos, en mi
opinión, debería de basar su configuración en el fichero ~/.emacs.
Un ejemplo 1 muy generalista es el que se muestra a continuación. Sin embargo, dotemacs.de
dispone de muchos ejemplos prácticos para aquellos que desean profundizar en el tema.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Mi fichero .emacs
;; (Retazos tomados prestados de diferentes lugares)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Mi info personal
1 Basado en http://www.emacswiki.org/emacs/VictorPeinado
(setq user-full-name ’José L Jerez’)
;; Mi situación geográfica
(setq calendar-latitude 40.20)
(setq calendar-longitude -3.52)
(setq calendar-location-name ’Móstoles, Madrid’)
(set-cursor-color ’yellow’)
(set-border-color ’DarkSlateGray’ )
(setq view-diary-entries-initially t
mark-diary-entries-in-calendar t
number-of-diary-entries 7)
(add-hook ’diary-display-hook ’fancy-diary-display)
(add-hook ’today-visible-calendar-hook ’calendar-mark-today)
Como puede verse a lo largo de todo el fichero de ejemplo, cada comando del archivo .emacs se co-
rresponde con una función Lisp, que tiene la estructura (nombre_de_la_funcion argumentos),
como (scroll-bar-mode -1), donde -1 aparece como argumento de la función.
Por otro lado, en el desarrollo del ejemplo se puede ver que aparecen los argumentos t, que equi-
vale a verdadero o activado y nil, equivalente a falso o desactivado, como por ejemplo (setq
make-backup-files nil), empleado para deshabilitar los archivos de copia de seguridad.
La edición del archivo .emacs puede hacerse desde el propio Emacs, mediante el comando C-x
C-f y, tras seleccionar el mismo, el archivo de configuración se presentará en un nuevo buffer en
el que puede modificarse normalmente. Además, el archivo .emacs no es imprescindible para el
funcionamiento del editor, por lo que en cualquier momento puede borrarse y crear otro.
Mode line
Para una mejor comprensión del modo de línea se recomienda utilizar el siguiente código:
;; add the time, with the date and the emacs uptime in the tooltip
’(:eval (propertize (format-time-string ’%H:%M’)
’help-echo
(concat (format-time-string ’%c; ’)
(emacs-uptime ’Uptime:%hh’))))
’ --’
;; i don’t want to see minor-modes; but if you want, uncomment this:
;; minor-mode-alist ;; list of minor modes
’%-’ ;; fill with ’-’
))
Aplicando estos cambios, la línea de modo aparecerá con el formato de la imagen que se ve a
continuación:
Bajo la línea de modo se encuentra el ’mini-buffer’. En esta franja de la pantalla aparecen las
salidas de los comandos tecleados, mensajes de Emacs y, entre otras cosas, es el lugar donde se
especifican las búsquedas o los comandos específicos a efectuar.
ORG-MODE
El modo Org (Org-mode), es un modo de edición del editor de texto Emacs mediante el cual se
editan documentos jerárquicos en texto plano. Su uso encaja con distintas necesidades, como la
creación de notas de cosas por hacer, la planificación de proyectos y hasta la programación de
distintos lenguajes. Es por este cúmulo de capacidades por las que he seleccionado Emacs como
editor ya que desde la versión 22, el modo Org es parte de su distribución oficial de Emacs, aunque
también dispone de entregas separadas, con lo que las versiones más recientes del modo Org con
respecto a la que se incluye en Emacs también están disponibles.
El modo Org permite, por ejemplo, gestionar elementos ’to-do’ (cosas por hacer), pueden disponer
de prioridades, propiedades y fechas de arranque o vencimiento; pueden estar subdivididos en sub-
tareas o en listas de verificación, así como generarse automáticamente una agenda de las entradas
de cosas por hacer.
La mayor parte del comportamiento del modo Org puede personalizarse mediante los procedi-
mientos habituales en Emacs, tal y como se ha visto anteriormente.
El manual de Org-mode es la referencia más completa a la que se puede acceder para conocer todo
lo necesario acerca del modo Org. Sin embargo, a continuación describo una serie de conceptos y
comandos, de Emacs y Org-mode, que considero necesarios para acometer un proyecto de análisis
forense basado en Emacs.
Comandos básicos
Una vez ejecutado Emacs, en mi experiencia, los comandos básicos más utilizados son:
C-x b Acceder a un buffer existente (seleccionando del listado que aparece) o crear un nuevo
buffer (escribiendo el nombre del mismo) no asociado a ningún fichero existente.
C-x C-f Abrir un fichero existente (seleccionando un fichero del sistema de ficheros) o crear uno
nuevo (accediendo a un directorio y escribiendo un nombre nuevo para un fichero).
C-g Para detener un comando que esté tomando mucho tiempo para ejecutarse y para descartar un
argumento numérico o el comienzo de un comando que no quiere finalizar.
Figura 4: Logo Org-mode
Ventanas
La pantalla es el espacio que proporciona el editor para escribir. Sin embargo, se puede subdividir en
varias ventanas, lo que permite visualiza paralelamente varios archivos distintos. Uno en cada ventana.
Algunos de los comandos que permiten la gestión de las ventanas y el desplazamiento por las mismas
son:
C-x 1 Expande la ventana que contiene el cursor, para ocupar toda la pantalla. Esto borra todas
las demás ventanas.
C-x 2 Divide la pantalla en dos ventanas horizontales.
C-x 3 Divide la pantalla en dos ventanas verticales.
C-x o Mover el cursor a otra ventana.
Buscar y reemplazar
En la línea del apartado anterior, a continuación se describen los comandos]] más utilizados para la
localización y modificación de texto:
C-s Para búsqueda hacia adelante y teclee C-s de nuevo, para buscar la siguiente ocurrencia.
C-r Búsqueda hacia atrás.
M- % Buscar y reemplazar (uno a uno).
C-c \/ Permite realizar búsquedas en elementos dispersos del documento en función de expresio-
nes regulares, fechas o incluso propiedades. Son los árboles dispersos o sparse trees.
Es posible complementar las búsquedas más clásicas con las búsquedas globales en el árbol, que te
permite encontrar resultados globales en el documento.
Formato de texto
Los diferentes formatos para enfatizar el texto que es posible utilizar en Emacs son:
• bold
• italic
• underlined
• code
• verbatim
• strike-through
*bold*
/italic/
_underlined_
~code~
=verbatim=
+strike-through+
#+BEGIN_COMMENT
E s t e t e x t o no s e r e x p o r t a d o y no s e r exportado
#+END_COMMENT
Párrafo
#+BEGIN_VERSE
Great clouds overhead
T i n y b l a c k b i r d s r i s e and f a l l
Snow c o v e r s Emacs
−− A l e x S c h r o e d e r
#+END_VERSE
– AlexSchroeder
Cita
#+BEGIN_QUOTE
E v e r y t h i n g s h o u l d be made a s s i m p l e a s p o s s i b l e ,
b u t n o t any s i m p l e r −− A l b e r t E i n s t e i n
#+END_QUOTE
Everything should be made as simple as possible, but not any simpler – Albert Einstein
Texto centrado
#+BEGIN_CENTER
E v e r y t h i n g s h o u l d be made a s s i m p l e a s p o s s i b l e , \ \
b u t n o t any s i m p l e r
#+END_CENTER
Tablas
Las tablas son elementos fundamentales a la hora de presentar datos en cualquier proyecto. En el caso de
Org-mode, se tratan en ASCII plano.
El ancho de la columna es determinado por el editor de tablas. Para limitar el ancho de una columna
debemos tener un campo llamando <N> donde N es el ancho máximo de caracteres por columna.
Las columnas que sean mas anchas se acortaran y añadirán => indicando que hay mas texto, que
podrá ser editado mediante C-c ‘.
Ejemplo de tabla:
444 CC
A partir de las tablas es posible realizar cálculos mediante fórmulas o comandos concretos. Para
ello, lo que podemos utilizar son los siguientes comandos:
• C-c } Se numeran o identifican las filas mediante , lo que permite pensar en las fórmulas a
aplicar con mayor facilidad.
• C-c * Calcula fila actual.
• C-u C-c * Calcula todas las filas.
• C-c + Suma los números de la columna actual, de un rectángulo definido o bien de una
región activa, el resultado es mostrado en minibuffer y puede ser insertado con C-y.
No es parte del objetivo de este proyecto conocer en detalle el manejo de Emacs como hoja de
cálculo. Sin embargo, si el lector tiene interés en profundizar sobre este aspecto, el manual de
Org-mode explica todo lo necesario, como que para asignar una formula a un campo en particular,
debe ir precedido por :=, o que las fórmulas son guardadas en el formato especial con #+TBLFM:
directamente debajo de la tabla. Además debemos usar el comando C-u C-c = si queremos insertar
una nueva formula en el campo actual.
Listas
Las listas planas permiten estructurar una información dentro de un documento. Las listas pueden ser
desordenadas u ordenadas, y las descripciones siempre se desarrollan tras el símbolo ”.
Las líneas de cabecera, también llamadas títulos (de diferente nivel) o headline empiezan con una
estrella (’*’) si son de primer nivel, los de segundo nivel con dos estrellas (’**’), y así sucesivamente.
Cada uno de estos niveles de títulos se asocia a un concepto similar a los capítulos o subcapítulos de un
documento, y Emacs permite navegar ente ellos de forma ágil.
Con el objetivo de poder realizarlo de forma ágil y eficiente a continuación se facilitan una serie de
keystrokes relacionados con headlines simples:
* TODO h e a d l i n e 1 a s o c i a d o a una t a r e a
** H e a d l i n e de s e g u n d o n i v e l no a s o c i a d a a una t a r e a
** TODO T a r e a de s e g u n d o n i v e l
*** TODO S u b t a r e a de l a s e g u n d a t a r e a
Con el objetivo de poder realizarlo de forma ágil y eficiente a continuación se facilitan una serie de
keystrokes relacionados con headlines asociados a tareas:
Cuando trabajamos con tareas, es importante gestionar adecuadamente los estados que componen la
secuencia de la misma.
Los estados se pueden establecer:
(setq org-todo-keywords
’((sequence ’TODO(t)’ ’|’ ’DONE(d)’)
(sequence ’REPORT(r)’ ’BUG(b)’ ’KNOWNCAUSE(k)’ ’|’ ’FIXED(f)’)
(sequence ’|’ ’CANCELED(c)’)))
Además de los estados, una tarea se puede priorizar. Org permite tres prioridades (A, B y C) siendo A la
máxima prioridad. Las prioridades se reflejan solo en la agenda, fuera de ella no tienen efecto.
C-c ,\ Asigna la prioridad a la tarea actual (A, B o C). Si se pulsa SPC la prioridad es eliminada.
Para modificar las prioridades de una tarea de un buffer individual se puede hacer mediante: #+PRIORITIES:
Alta Media Baja.
Otra forma de mostrar las tareas es mediante checkboxes:
Para crear los checkbox se escribe ’-’ y C-u C-c C-c para que aparezca ’[ ]’ y para activar/desac-
tivar pulsamos C-c C-c.
Si ponemos [0 %] a la altura de una lista calcula el % de tareas completadas al pulsar C-c C-c.
Si ponemos [0/0] a la altura de una lista calcula el numero de tareas completadas al pulsar C-c
C-c.
Ejemplo: [0 %] [0/1]
• tarea 1
◦ subtarea 1
◦ subtarea 2
Marcas
Una forma de relacionar información, de varios temas distintos, dispersa por el documento, es usar TAGS
(marcas o etiquetas) en las lineas de cabecera. Cada linea de cabecera puede contener una lista de TAGS.
Para usar los TAGS definidos en un solo fichero podemos usar una lista:
En el caso de que el listado de TAGS sea dinámico se deja la lista de #+TAGS: en blanco.
Existen TAGS especiales, como ’noexport’, que permiten comportamientos particulares. En este
caso, todos los headlines con ’noexport’ asociado no serán exportados en el caso de que el docu-
mento.
Propiedades
En primera instancia se puede pensar que trabajar con propiedades o columnas no aporta ningún tipo
de ventaja a la hora de desarrollar un proceso forense. La organización es un aspecto muy importante
dentro del proceso de trabajo, y el uso de propiedades (o drawers) o columnas permite optimizar aspectos
concretos a nivel organizativo.
Para trabajar con las propiedades es un requisito entender como trabajar con tablas y listas en Org-mode.
Las propiedades en Org-mode está formada por binomios ’:nombre_propiedad:valor’ que se definen y se
pueden aplicar a nivel de headlines.
Los keystrokes básicos para el uso de las propiedades son:
C-c \ Crea un árbol donde guarda todas las entradas que coincidan.
* Evidencias
** A r c h i v o con c o n t r a s e a s
: PROPERTIES : , : ID : FI −180 , : STATUS : FIRMADA , : ASSIGNED : j l j e r e z
:END:
** Imagen e v i d e n c i a NTP
: PROPERTIES :
: ID : IM−190
: STATUS : FIRMADA
: ASSIGNED : j l j e r e z
:END:
Las propiedades se pueden heredar desde los niveles superiores a los inferiores. Nombrando la propiedad
como ’:nombre_propiedad_ALL:valor1 valor2 valor3’ es posible definir los valores permitidos (valor1,
valor2, valor3) para una propiedad concreta ’:nombre_propiedad:’.
A continuación se presenta un ejemplo de herencia y predefinición de valores para unas determinadas
propiedades. En el primer nivel se establecen las propiedades a heredar (identificadas porque terminan
en _ALL) y en niveles inferiores se utilizan los valores predefinidos.
* Evidencias
: PROPERTIES :
: STATUS_ALL : FIRMADA NO_FIRMADA ANULADA PERDIDA
: ASSIGNED_ALL : j l j e r e z a p e r e z f l o p e z
:END:
** A r c h i v o con c o n t r a s e a s
: PROPERTIES : , : ID : FI −180 , : STATUS : ANULADA , : ASSIGNED : j l j e r e z
:END:
** Imagen e v i d e n c i a NTP
: PROPERTIES :
: ID : IM−190
: STATUS : NO_FIRMADA
: ASSIGNED : f l o p e z
:END:
Las propiedades especiales permiten acceder de forma alternativa a estas funcionalidades, por ejemplo:
Columnas
La vista de columnas, es una capa superpuesta u overlay sobre un buffer, ya que se trata de una vista
y no de un modo, que permite identificar y modificar propiedades de las columnas. Cada headline será
convertido en una fila tabulable, si bien es cierto que es posible definir el formato a distintos niveles
según el punto en el que se defina COLUMNS.
Para aplicar el formato a nivel de fichero se añade una línea en la cabecera del mismo, si bien esta vista
no es la más interesante a la hora de utilizarla en un proyecto. A continuación se presenta una definición
básica que referencia a algunas de las propiedades especiales:
#+COLUMNS: %20ITEM %TIMESTAMP %TODO %TAGS %PRIORITY
Los keystrokes más útiles para trabajar con columnas son:
C-c C-x C-c Activa la vista de columna, y con ésta activa, entre otros podemos utilizar:
Quizás la mayor utilidad de las columnas sea que, definiendo propiedades a nivel de headline y sus
herederos, es posible formatearlas a conveniencia de cada uno.
De forma general, en el siguiente ejemplo podemos observar un modo de empleo de las capacidades
mencionadas aplicadas en una parte de un proceso forense digital.
* Pruebas forenses r e a l i z a d a s
: PROPERTIES :
:COLUMNS: %25ITEM %9P r u e b a s ( P r u e b a s ? ) {X} %E q u i p o %11E s t a d o %10T i e m p o _ E s t i m a d o { : } %
: Equipo_ALL : SRV1 SRV2 FW_FORTINET1 SW_CISCO_1 PC1 PC2
: Estado_ALL : No iniciado En progreso Finalizado Cancelado
: Pruebas_ALL : [ ] [X]
:END:
El formato de la línea :COLLUMS: para dada una de las propiedades ( %Nomb_propiedad) tiene la
siguiente sintaxis:
%[a n c h o ] p r o p i e d a d [ ( t i t u l o ) ] [ { t i p o _ s u m a r i o } ]
Donde podemos añadir los siguientes atributos, algunos de los cuales se pueden ver reflejados en el
ejemplo anterior:
{X} Estado del checkbox, [X] si todas los hijos son [X].
Otra utilidad a la hora de trabajar con la documentación en Emacs sería la posibilidad de utilizar esta vista
como resumen o índice de la información que aporta. Sin embargo, la vista de columnas no puede ser
exportada o impresa directamente, por lo que es necesario usar bloques dinámicos de vistas de columnas.
Los keystrokes básicos para gestionar bloques dinámicos son:
C-c C-c Actualiza el bloque dinámico actual, estando el cursor al principio de la linea de dicho
bloque #+BEGIN.
La utilización de bloques dinámicos permite, tal como se puede ver a continuación, trabajar con vistas
de columnas accediendo dinámicamente a los buffers activos:
ITEM TODO PRIORITY TAGS
* ¿Por qué Emacs? DONE :Finalizado:
* Emacs: Conocimientos mínimos para enfrentar un análisis forense WORK :Actual:
** Convenciones DONE :Finalizado:
** Ayuda de Emacs DONE :Finalizado:
** Conceptos básicos y configuración inicial DONE :Finalizado:
** Comandos básicos DONE :Finalizado:
** Ventanas DONE :Finalizado:
** Copiar, cortar, insertar y borrar DONE :Finalizado:
** Buscar y reemplazar DONE :Finalizado:
** Formato de texto DONE :Finalizado:
** Tablas DONE :Finalizado:
** Listas DONE :Finalizado:
** Marcas DONE :Finalizado:
** Propiedades WORK :Finalizado:
** Columnas WORK :Actual:
** Links WORK :Pendiente:
** Gestión del tiempo TODO :Pendiente:
** Acceder a la agenda TODO :Pendiente:
** Añadir fechas TODO :Pendiente:
** Exportar a TODO :Pendiente:
** Trabajar con código fuente TODO :Pendiente:
** Extensiones de ORG TODO :Pendiente:
** Cifrado de información TODO :Pendiente:
** elisp: programación de pruebas TODO :Pendiente:
** Abrir archivo (Ej. M-x gtd) TODO :Pendiente:
** Emacs/LATEX: presentación profesional TODO :Pendiente:
Los atributos que podemos utilizar para formatear la vista de columna con bloques dinámicos son:
:hlines Cuando es t, inserta una linea horizontal después de cada linea. Cuando es un numero N,
inserta una linea horizontal antes de cada linea de cabecera con un nivel inferior o igual a N.
:id Es el identificador, que puede ser local, global, ruta-al-fichero o directamente el ID.
:maxlevel Cuando tiene un valor N, no captura las entradas por debajo del nivel N.
:vlines Cuando es t, fuerza los grupos de columnas para tener lineas verticales.
:skip-empty-rows Cuando es t, ignora las filas donde no hay indicada una linea en blanco para
un ITEM.
Enlaces
Los enlaces son una facilidad muy interesante a la hora de documentar, ya sean enlaces a otros apartados
del mismo documento, a otros documentos que se encuentran en el mismo equipo o externos al mismo o
a otro tipo de fuentes de información.
Generalizando se puede distinguir entre enlaces internos y externos al documento editado.
Los enlaces internos se establecen mediante dos elementos, ’objetivo’ y ’enlace’.
El enlace más simple, que permite acceder a un headline directamente, se construye escribiendo entre
dos corchetes el headline al que se desea acceder. Por ejemplo:
[[Comandos básicos]]
En los enlaces internos algo más evolucionados, el ’objetivo’, se establece escribiendo una combinación
de caracteres entre ’’ (por ejemplo, «OBJ_234») y el ’enlace’ al mismo, que puede utilizarse a su vez
de forma básica, esto es, cuando se desea crear un enlace y el nombre que se le quiere dar al mismo
es idéntico al objetivo o si se desea que la descripción del enlace sea más descriptiva. En el siguiente
ejemplo podemos ver ambos casos:
En relación a enlaces externos, ya sea a archivos o a otro tipo de información, los tipos de enlaces más
utilizados en un proyecto forense son los siguientes:
[[file:/usuario@equipo_remoto:carpeta/archivo.pdf]] Enlace al
/archivo.pdf/ de la /carpeta/ del /equipo_remoto/ (ya sea nombre
de equipo o dirección IP) al que se desea acceder. Se puede
utilizar igualmente sin /file:/.
[[http://www.error0x01.net/]]
Si se desea diferenciar entre el enlace y la descripción del mismo, se escribe entre corchetes el enlace,
seguido de su descripción, cada una de ellas entre corchetes tal como se muestra a continuación:
[[file:/usuario@equipo:carpeta/archivo.pdf][Fichero remoto]]
C-c C-l Inicia el proceso de insertar un enlace. Pulsamos TAB para ver el tipo de enlace (Ej.
mailto:, shell, bbdb, etc) y el objetivo del tipo adecuado, para finalizar añadiendo la descripción
del mismo si se desea.
Finalmente, las notas a pie (footnotes) son un tipo concreto de enlace. En nuestro caso vamos a considerar
dos tipos de footnotes.
Se trata de las notas a pie típicas. En el primer caso se crea un indicador, del tipo [fn:1], a la altura del
concepto tratado y se crea un headline al final del texto en el que aparece la misma notación seguida de
su descripción.
C-c C-x f es el keystroke que crea una footnote en caso de que no exista, y si se encuentra de una
definición, al pulsarlo se salta a la primera referencia del mismo.
La segunda construcción, al exportar a LATEX el documento, y pulsar sobre la referencia, aparece la
definición sobre la misma.
En ambos casos C-C C-c sobre una referencia implica salar a la definición de la misma.
Imágenes
Insertar una imagen es una tarea sencilla, muy similar a los enlaces ya que, en esencia, lo que se hace es
una llamada a una imagen, del mismo modo que se realiza una llamada a un fichero o una RL.
En un contexto normal insertar una imagen se define con tres simples líneas. Un subtítulo, el identificador
de la imagen y la ruta a la misma o utilizando :
Marcas de tiempo
Para gestionar el tiempo, el elemento principal es el que permite el registro del mismo. En este
caso, utilizaremos marcas de tiempo o timestamps.
Las marcas de tiempo se pueden utilizar con distintos objetivos según su formato. Algunos de los
usos más extendidos son:
• Indicar eventos globales que no tienen impacto en la planificación, o dicho de otro modo, son
marcas inactivas como [2014-02-23 dom].
• Asociar eventos globales a la agenda con el fin de planificar una tarea. Son marcas activas
como <2014-02-23 dom>.
• Es posible concretar, en los dos casos descritos, la hora concreta con la que se relaciona el
evento, ya sea activo <2014-02-23 dom 11:56> o no [2014-02-23 dom 11:56].
• Los intervalos de tiempo son otro tipo interesante de marca de tiempo, que permite asociar
tareas y su esfuerzo en tiempo. Como se verá más adelante, esta capacidad tiene múltiples
utilidades en el planteamiento de un proyecto, sea cual fuere, ya que permite planificar a
futuro, cuantificar el esfuerzo estimado, y finalmente, medir el esfuerzo real realizado. Un
ejemplo del formato utilizado es [2014-02-23 dom 12:00 - 12:45] para intervalos diarios, o
<2014-02-20 jue> - <2014-02-23 dom>.
• Es posible definir eventos que se deben de repetir en el tiempo para concretar acciones reite-
rativas cíclicamente, con un intervalo de N días (d), semanas (w), meses (m), o años (y). El
formato para identificar este tipo de acciones es <2014-02-23 dom 1 d>, lo que programaría
diariamente la tarea asociada.
Los keystrokes más utilizados para trabajar con marcas de tiempo son:
*** Empezar e l p r o y e c t o
SCHEDULED : <2012−11−15 j u e >
• C-c C-d Establece una propiedad ’DEADLINE’ o fecha límite para un determinado headline
asociado a una tarea que debe de terminar. Es posible configurar una fecha límite periódica
añadiendo ’+1m’, para establecer deadlines mensuales.
*** T e r m i n a r e l p r o y e c t o
DEADLINE : <2014−06−06 v i e >
• Se pueden combinar ambos para poner una fecha de inicio y otra de fin, e incluso que se
repita una acción TODO, que al pasar a DONE se actualiza la fecha.
• C-c C-c Al pulsar sobre el una fecha se normaliza la misma, y se verifica si el formato y
datos son correctos.
• S-<flechas> Al pulsarse sobre una fecha, hace avanzar o retroceder la misma en el calen-
dario u horario.
Los keystrokes que permiten trabajar con el reloj son los siguientes:
• C-c C-x C-i : Inicia el reloj actual, insertando la palabra CLOCK junto al timestamp. Las
lineas de tiempo van asociadas a una propiedad (o drawer) denominada :LOGBOOK:.
• C-c C-x C-o : Detiene el contador de un reloj añadiendo un timestamp frente a la tarea
detenida.
• C-c C-x C-e :Actualiza el esfuerzo estimado para la tarea actual.
• C-u C-c C-x C-i : Selecciona una tarea de una lista de tareas cronometradas.
• C-c C-c ó C-c C-y : Vuelve a calcular el intervalo de tiempo después de cambiar uno de los
timestamps.
• C-c C-t : Cambia el estado de una tarea, por lo que el reloj en caso de existir para dicha
tarea se detendrá.
• C-c C-x C-x : Cancela el reloj actual. Es útil cuando se inicia el reloj por error para alguna
tarea.
• C-c C-x C-j : Salta al headline de la tarea usada en el reloj actual. Útil para identificar la
tarea en la que se está registrando el tiempo.
• C-c C-x C-d : Muestra el sumario de tiempos para cada subárbol del buffer actual.
• C-c C-x C-r : Inserta un bloqueo dinámico, manteniendo una tabla sobre el fichero actual,
la cual es parcialmente actualizada cuando el cursor se encuentra encima de una tarea. A
continuación se puede ver un ejemplo.
| Headline | Time |
|--------------+--------|
| *Total time* | *0:00* |
#+END:
Para crear una tabla con las diferentes tareas y el tiempo dedicado:
#+PROPERTY: Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00
#+COLUMNS: %40ITEM(Task) %17Effort(Estimated Effort){:} %CLOCKSUM
Agenda
Emacs integra las funciones de un calendario de escritorio, y Org-mode la explota con una agenda
de eventos planificados y pasados, así como el estado de las tareas (TODO) y headlines. Además
tiene facilidades para manejar citas, y registrar cuánto tiempo ha estado trabajando en uno o más
proyectos o tareas. Por esta razón, Org facilita en modo de vistas el disponer de una visión del
estado de las tareas, o de eventos que son importantes en fechas concretas.
El calendario ocupa su propio buffer, cuyo modo principal es el modo Calendar. El caso de la
agenda es similar, con la particularidad de que se trata de un buffer de sólo lectura. Sin embargo,
existen comandos que generan vistas sobre las localizaciones correspondientes en los ficheros
Org originales, e incluso permiten editar estos ficheros remotamente. La edición remota desde los
buffer de agenda permite modificar las fechas de reuniones y citas desde el buffer de agenda.
Los ficheros de agenda se deben de identificar como tales, ya sea mediante keystrokes (C-c [) o
configurándolos en el fichero .emacs en la variable org-agenda-files. Es a partir de dichos ficheros
de donde se extrae la información.
Para acceder a la agenda se utiliza el keystroke básico C-c a y seleccionar la vista de agenda que
se quiere acceder pulsando:
• a : Presenta una agenda mostrando la planificación de las tareas a realizar durante la semana.
• t/T : Muestra una lista global de todos los TODO de todos los archivos de agenda en un solo
buffer. Además, es posible modificar los mismos.
• m/M : Muestra una lista de marcas o propiedades en forma de headlines con parámetros coin-
cidentes con una expresión lógica booleana que haga referencia a los TAGS buscados. Por
ejemplo ’WAITING|CANCEL’.
• L : Muestra una vista de la línea de tiempo para el buffer actual. El objetivo es disponer de
una vista general a través de eventos en un proyecto.
• s : Muestra una lista de entradas seleccionadas por una expresión booleana de palabras clave
o expresiones regulares que debe, o no debe, ocurrir en la entrada. Muy útil a la hora de
localizar notas.
Las posibilidades de la agenda son muchas, sobretodo si se personaliza su utilización. Sin embargo,
esto vas más allá del alcance de este proyecto fin de carrera.
Extensiones de ORG
He comentado en reiteradas ocasiones la potencia de Emacs, y en parte se debe a su capacidad de instalar
extensiones. Emacs dispone de un administrador de extensiones llamado package.el. Es un administrador
que posee funcionalidades similares a apt en Debian, YUM en Red Hat o openSUSE, si bien mucho más
limitado.
Esta extensión es capaz de manejar múltiples repositorios de extensiones, y permite buscar, instalar,
actualizar y eliminar paquetes de Emacs. La función list-packages muestra los paquetes de los reposito-
rios especificados en la configuración o ELPS por defecto. Para definir los repositorios, se agrega en el
archivo .emacs (o el archivo utilizado para inicializar) de la siguiente forma:
Una vez ejecutada la función de listar paquetes, se listan en un buffer todos los paquetes disponibles y
los instalados. Al hacer click o seleccionar un determinado paquete, éste será marcado para su instala-
ción. Una vez marcado, se presiona ‘x’ y Emacs preguntará si desea efectuar los cambios marcados. Al
responde afirmativamente se iniciará la instalación. Hay otros comandos interesantes como ‘d’ (delete)
para eliminar, y ‘U’ (update), para marcar todos los paquetes que se pueden actualizar a versiones más
recientes.
Otra alternativa para instalar un paquete es ejecutar directamente la función package-install y escribir el
nombre del paquete a ser instalado. Sin embargo, es más intuitivo utilizar list-packages, ya que permite
buscar en el buffer con C-s sobre el buffer de texto de solo lectura. Adicionalmente, me muestra una
descripción y el estado de los paquetes, incluyendo algunos marcados como nuevos.
Cifrado de información
Algo que debería de ser una máxima cuando se trabaja en un proyecto en el que hay diferentes intereses,
datos sensibles, y en general, información que no debe de ser fácilmente accesible, es trabajar en un
entono seguro. Para ello, la información debería de guardare en volúmenes cifrados, y, dado que dichos
volúmenes van a estar accesibles durante mucho tiempo facilitando el acceso a nuestra información (que
está en texto plano), dicha información debería de cifrarse individualmente. La política de contraseñas
queda del lado de la responsabilidad de cada uno.
EasyPG es una funcionalidad incluida dentro del paquete Emacs que permite utilizar funcionalidades de
GPG (GnuPG). Está integrado por defecto en las últimas versiones, pero, si no está instalado, sólo hay
que incluir en nuestro fichero de configuración (por ejemplo =/.emacs) la siguiente configuración:
Lo primero que debemos de hacer, para no limitar el cifrado a la utilización de contraseñas simétricas,
es generar nuestro par de claves privada y publica, o bien importar claves de algún repositorio o servidor
de claves para poder cifrar documentos que luego enviaremos a algún receptor.
Tenemos 3 formas básicas de cifrar un archivo:
Donde la opción –armor cifra el fichero original y el archivo de salida se obtiene en formato
ASCII. En caso de que no se especifique dicha opción, el fichero de salida sera un fichero binario.
2. Editar un buffer con extensión .gpg. Al guardar el buffer en un fichero Emacs, este solicitará
que se seleccione, utilizando la letra ’m’, alguna de las claves disponibles. En el caso de que
no se seleccione ninguna clave, se solicitara una clave simétrica para cifrar el archivo. Una vez
seleccionado el mensaje sera cifrado. Si salimos de emacs veremos que desde consola el fichero
’es ilegible’, es decir, esta cifrado. Si abrimos esta vez el fichero .gpg con emacs nos pedirá la
contraseña simétrica o la que se requiera para utilizar la clave privada y, de este modo, poder
descifrarlo, haciendo éste legible otra vez.
3. Podemos, desde Emacs, seleccionar una región de un buffer (o el buffer completo) y ejecutar la se-
cuencia M-x epa-encrypt-region. Para descifrar realizaremos el mismo proceso de seleccionar
una región cifrada y presionando M-x epa-decrypt-region.
Un ejemplo práctico sería:
Texto claro:
jA0EAwMCbX0Vkdy7ZyZgyT8/XhthZKTi4+/vXzMmimLv4OB9nNHjUBKES9/EVjIM
uYH6WC0PJbAjgs6Acg1VgYpcgWm6G85JQmCYTuSFNts=
=RbX4
-----END PGP MESSAGE-----
Una práctica recomendable es asociar a dichas funciones algún keystroke para acelerar dicho proceso
si lo hacemos de forma habitual. Para asociar las teclas ’C-c i” para cifrar una región y ’C-c o” para
descifrarla, se debe de añadir :
;; To cipher a region
;; M-x epa-encrypt-region OR
(global-set-key (kbd ’C-c i’) ’epa-encrypt-region)
;; To uncipher a region
;; M-x epa-decrypt-region OR
(global-set-key (kbd ’C-c o’) ’epa-decrypt-region)
Bloques de código
Bueno, bueno, bueno. Dado que uno de los temas que vamos a tratar de hacer es ejecutar desde Emacs
el máximo número de pruebas, uno de los aspectos que hay que conocer es cómo ejecuto comandos o
código desde Emacs.
Los keystrokes que hay que conocer son básicamente:
<s {TAB} : Para crear el contexto inicial donde se desarrolla el trozo (snippet) de código en el
lenguaje seleccionado dentro de los posibles. El boque de código se compone de:
#+NAME: <nombre>
#+BEGIN_SRC <lenguaje> <switches> <argumentos>
<cuerpo>
#+END_SRC
El hecho de nombrar el bloque de código, permite que éste sea evaluado desde otros puntos del
fichero actual o de otros.
El lenguaje indica el lenguaje del código utilizado en el bloque.
Los switches son parámetros opcionales que permiten controlar aspectos de la exportación del
bloque de código.
Los argumentos, que pueden establecerse a nivel de bloque de código, o mediante propiedades,
a nivel de buffer o árbol, permiten controlar muchos aspectos de la evaluación, exportación y
tangling de los bloques de código.
El cuerpo como tal, es el código fuente específico en el lenguaje especificado.
#+RESULTS:
| 128 | charla.org |
| -rw-rw-r-- | 3689 |
Otros bloques de código, ya sean ejemplos, código LATEX, HTML, etc siguen la misma forma de uso.
Pulsamos ’<’ seguido de una de las opciones del listado que vemos a continuación y pulsar <TAB>, por
ejemplo ’<e’ y presionar <TAB>
s #+BEGIN_SRC . . . #+END_SRC
e #+BEGIN_EXAMPLE . . . #+END_EXAMPLE
q #+BEGIN_QUOTE . . . #+END_QUOTE
v #+BEGIN_VERSE . . . #+END_VERSE
c #+BEGIN_CENTER . . . #+END_CENTER
l #+BEGIN_\LaTeX{} . . . #+END_\LaTeX{}
L #+LATEX:
h #+BEGIN_HTML . . . #+END_HTML
H #+HTML:
a #+BEGIN_ASCII . . . #+END_ASCII
A #+ASCII:
i #+INDEX: line
I #+INCLUDE: line
md (Markdown format)
En este caso con un sólo keystroke es suficiente para iniciar el proceso de exportación.
C-c C-e Para seleccionar el formato de exportación en función del listado de opciones para la
exportación.
#+TITLE: Emacs
#+OPTIONS: H:3 num:nil toc:t \n:nil @:t t |:t ^:t -:t f:t *:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc todo:nil
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate overview
#+TAGS: Actual (a) Mejorar(m) noexport(n)
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+AUTHOR: José Luis Jerez Guerero
#+EMAIL: jljerez AT error0x01 DOT net
#+LANGUAGE: es
#+CATEGORY: PFC
Es particularmente interesante la exportación a LATEX a la hora de desarrollar los informes. Es por esa
razón que recomiendo la lectura y comprensión de los diferentes atributos específicos que se pueden
utilizar para mejorar la presentación de los mismos.