Garcia Bordonado Sergio TFG
Garcia Bordonado Sergio TFG
MADRID
ESCUELA POLITÉCNICA SUPERIOR
JUNIO/ 2021
Agradecimientos
En primer lugar quiero agradecerle a mi familia todo el apoyo prestado a lo largo de estos
años, sin el cual no habría sido posible afrontar los distintos retos que se me han
presentado a lo largo del grado.
A los compañeros de la carrera, los cuales se han convertido en verdaderos amigos y con
los cuales he compartido tantos momentos tan difíciles como de alegría durante estos años.
Y a los profesores que durante estos años me han transmitido, no solo su conocimiento,
sino también su pasión por las distintas áreas del mundo de la Ingeniería Informática.
Resumen (castellano)
Se aborda un trabajo investigativo de tipo descriptivo y documental, mediante una
búsqueda sistemática de referentes teóricos que aporten evidencias relacionadas con las
amenazas que se ciernen en la actualidad en el entorno informático. Estas amenazas ponen
en riesgo, la seguridad en el uso del Internet y hacen vulnerables los datos que los diversos
estados y organizaciones almacenan como soporte de sus actividades. Diariamente surgen
sofisticadas maneras de afectar la seguridad informática, mediante el uso de troyanos,
malware u otros tipos de virus o el uso recurrente del phishing, lo que plantea retos para
contrarrestar de manera eficiente esos intentos de apropiarse de datos valiosos. Por ello
resulta importante conocer en detalle, la forma mediante la cual operan estos ataques, con
la finalidad de proteger adecuadamente la red y hacerla segura para los millones de
usuarios. En este contexto, se han desarrollado medios de protección mediante la
aplicación de protocolos de seguridad implementados por las ciencias forenses digitales,
las cuales estudian las vulnerabilidades de la red y pueden abortar o prevenir ataques a la
misma. En este contexto, se describen los principales tipos de ataques, o de ciberamenazas
y sus modelados, y la forma de enfrentarlos, así como la caracterización de los mismos y
los diversos pasos que conforman el ataque desde el reconocimiento hasta las acciones a
llevar a cabo sobre los los equipos infectados. Para ello se realiza un análisis de varios
modelos de ataque, que permiten analizar el ciberataque. Además se describen los pasos a
seguir para analizar un equipo Windows en caso de que se tenga la sospecha o la certeza de
que se ha sufrido un ataque. Esta explicación de los puntos más importantes a analizar en
un equipo Windows se realiza junto a un ejemplo de análisis de un servidor web infectado.
Para dicho análisis se emplea la máquina virtual SIFT de SANS y algunas herramientas
más citadas durante el análisis. Con este análisis no solo se prueba que los distintos tipos
de ataque y de malware que se mencionan son una amenaza real, sin que también prueba
como los un modelo de ataque puede servir para describir y entender un ataque.
Abstract (English)
An investigative work of a descriptive and documentary type is approached, through a
systematic search for theoretical references that provide evidence related to the threats that
currently loom in the computing environment. These threats put the security of the use of
the Internet at risk and make the data that the various states and organizations store as
support for their activities vulnerable. Sophisticated ways to affect computer security
emerge every day, through the use of Trojans, malware or other viruses, or the recurrent
use of phishing, which pose challenges to efficiently counteract these attempts to steal
valuable data. For this reason, it is important to know in detail the way in which these
attacks operate in order to adequately protect the network and make it safe for millions of
users. In this context, means of protection have been developed through the application of
security protocols implemented by digital forensic sciences, which study the vulnerabilities
of the network and can abort or prevent attacks on it. In this context, the types of attacks,
or cyber-threats and their models, and the way to deal with them, as well as their
characterization and the various steps that make up the attack (from recognition of the
attack to the infected computer) are broadly described. For this, an analysis of some attack
models, which allow us to analyze the cyber-attack and take actions to counter it, must be
performed. In addition, the steps in order to analyse a Windows computer, which has been
suspected or known to have suffered an attack, is described. Along with this explanation,
an example of an infected web server analysis is performed. This analysis utilizes the
virtual machine SIFT from SANS and other tools which are cited in the analysis. With this
analysis it is not only proved that the different kinds of attacks and malware mentioned in
the first part of this thesis are a real threat, but it also proves that using attack models can
be useful in order to understand and describe an attack.
ÍNDICE DE CONTENIDOS
Contenido
1 Introducción 1
1.1 Motivación 1
1.2 Objetivos 1
1.3 Organización de la memoria 2
2 Estado del arte 3
2.1 Planteamiento de la solución 3
2.2 Ciencia forense digital 3
2.2.1 Fases de la ciencia forense digital. 3
[Link] Identificación. 4
[Link] Preservación. 4
[Link] Análisis. 4
[Link] Documentación. 4
[Link] Presentación. 4
2.2.2 Tipos de ciencias forenses digitales. 4
[Link] Ciencia forense de discos. 4
[Link] Ciencia forense de redes. 4
[Link] Ciencia forense inalámbrica. 4
[Link] Ciencia forense de base de datos. 4
[Link] Ciencia forense de malware. 5
[Link] Ciencia forense de email. 5
[Link] Ciencia forense de memoria. 5
[Link] Ciencia forense de teléfonos móviles. 5
2.2.3 Ventajas de la ciencia forense. 5
2.2.4 Desventajas de la ciencia forense. 5
2.2.5 Ejemplos en los cuales se puede aplicar la ciencia forense. 6
2.3 En qué consiste un ciberataque y qué tipos existen. 6
2.3.1 Tipos de ciberamenazas. 6
[Link] DoS y DDoS. 6
[Link].1 Tipos de DoS y DDoS. 6
[Link] Ciberamenazade Man-in-the-Middle (MitM). 7
[Link].1 Tipos de ciberamenaza de Man-in-the-Middle (MitM). 8
[Link] Ciberamenaza de phishing y spear phishing. 8
[Link] Ciberamenaza de programa malicioso. 9
[Link].1 Tipos de ciberamenaza de programa malicioso. 9
[Link] Ciberamenaza de cumpleaños. 11
[Link] Ciberamenaza escucha clandestina. 11
[Link].1 Tipos de ciberamenaza de escucha clandestina. 11
[Link] Ciberamenaza de secuencia de comandos entre sitios (XSS). 12
7
[Link] Ciberamenaza de inyección SQL. 12
[Link] Ciberamenaza de contraseña. 12
[Link].1 Tipos de ciberamenaza de contraseña. 12
3 Modelos de ataque 12
3.1 Modelado de ciberataques. 13
3.1.1 Modelo diamante. 13
[Link] Componentes del modelo diamante. 13
[Link].1 Adversario. 13
[Link].2 Víctima. 13
[Link].3 Infraestructura. 13
[Link].4 Capacidad. 13
3.1.2 Modelo de cadena de muerte. 14
3.1.2.1Pasos del modelo de cadena de muerte. 14
[Link].1 Paso 1: Reconocimiento. 14
[Link].2 Paso 2: Armamento. 14
[Link].3 Paso 3: Entrega. 14
[Link].4 Paso 4: Explotación. 14
[Link].5 Paso 5: Instalación. 15
[Link].6 Paso 6: Comando y control. 15
[Link].7 Paso 7: Acciones sobre objetivos. 15
3.1.3 Modelo de gráfico de ataque. 15
4 Análisis y conclusiones sobre los ciberataques 17
4.1 Ejemplos de análisis de ataque 17
4.1.1 Ejemplos de análisis de malware con Yara 17
4.1.2 Ejemplos de detección de ataque DOS 19
4.1.3 Métodos de detección de artefactos en equipos Windows 20
[Link] Análisis de Windows Registry 21
[Link] Logs 24
[Link] NTFS Master File Table (MFT) 34
[Link] Recopilación de sucesos descubiertos durante el análisis. 35
5 Conclusiones 36
Bibliografía y referencias 37
Glosario 40
ÍNDICE DE FIGURAS
1.2 Objetivos
General
Documentación de los principales tipos de amenazas, detección y análisis de artefactos en
los principales tipos de ciberataques.
Específicos
1
● Explicar los distintos tipos de malware y técnicas de ataque empleadas por los
criminales.
● Investigar los 3 modelos más comunes de análisis de ciberamenazas.
● Documentación y ejemplificación de los principales análisis a realizar a un equipo
Windows infectado.
2
2 Estado del arte
2.1 Planteamiento de la solución
Todo lo expuesto en el apartado anterior hace crucial el lograr modelar un ciberataque, con
la finalidad de lograr ahorrar tiempo, dinero y otros recursos para una organización. Se
utilizan una serie de técnicas de modelado de ataques, con el fin de analizar los
ciberataques, a su vez, permitir tener un entendimiento más avanzado sobre los detalles a
considerar relevantes a la hora de enfrentar algún posible ciberataque.
Hoy en día, toda una industria ha evolucionado con el propósito de investigar eventos que
ocurren en el ciberespacio para incluir incidentes que involucren espionaje internacional y
corporativo, violaciones masivas de datos e incluso el ciberterrorismo. Las oportunidades
de empleo en este campo se expanden todos los días. Los profesionales en el campo de la
ciberseguridad ahora tienen una gran demanda y se espera que tengan múltiples conjuntos
de habilidades en áreas tales como: análisis de malware, computación en la nube, redes
sociales, y análisis forense de dispositivos móviles.
La solución a estas nuevas amenazas pasa por que todo profesional dedicado a este área
tenga conocimientos básicos sobre las diferentes técnicas, pasos y procesos que se deben
de desarrollar como parte del análisis forense digital, pero dado el amplio campo que la
investigación forense digital conlleva, se requiere de la creación de un proceso
estandarizado que permita cubrir los pasos más esenciales para lograr dicho fin,
precisamente esto es lo que se desea realizar en el presente proyecto.
3
[Link] Identificación.
Es el primer paso de un análisis forense. El proceso de identificación incluye
principalmente procesos como detectar qué evidencia está presente, dónde se almacena y,
por último, cómo se almacena.
[Link] Preservación.
En esta fase, los datos se aíslan, protegen y conservan. Incluye evitar que las personas usen
el dispositivo digital para que la evidencia digital no sea alterada.
[Link] Análisis.
En este paso, los agentes de investigación reconstruyen fragmentos de datos y extraen
conclusiones basadas en la evidencia encontrada. Sin embargo, pueden ser necesarias
numerosas iteraciones de examen para respaldar una teoría delictiva específica.
[Link] Documentación.
En este proceso, se debe crear un registro de todos los datos visibles. Ayuda a recrear el
escenario del ataque y a revisarlo. Implica la documentación y descripción adecuada del
mismo.
[Link] Presentación.
En este último paso se realiza el proceso de resumen y explicación de conclusiones.
Sin embargo, debe escribirse con una terminología sencilla que cualquier persona pueda
entender.
(K. Ryder, 2011; D. Pinto, 2014)
Es una subrama de la ciencia forense digital. Está relacionado con el seguimiento y análisis
del tráfico de la red para recopilar información importante y pruebas.
Es una división de la ciencia forense de redes. El objetivo principal del análisis forense
inalámbrico es ofrecer las herramientas necesarias para recopilar y analizar los datos del
tráfico de las redes inalámbricas.
Es una rama de la ciencia forense digital relacionada con el estudio y examen de bases de
datos y sus metadatos relacionados.
4
[Link] Ciencia forense de malware.
Esta rama se ocupa de la identificación de códigos maliciosos, para estudiar su carga útil,
virus, gusanos, etc.
Se trata de recopilar datos de la memoria del sistema (registros del sistema, caché, RAM)
en forma sin procesar y luego tallar los datos del volcado sin procesar.
5
2.2.5 Ejemplos en los cuales se puede aplicar la ciencia forense.
En los últimos años, organizaciones comerciales han hecho uso de la ciencia forense en
alguno de los siguientes casos:
I. Robo de propiedad intelectual.
II. Espionaje industrial.
III. Disputas laborales.
IV. Investigaciones de fraude.
V. Uso inadecuado de Internet y el correo electrónico en el lugar de trabajo.
VI. Asuntos relacionados con falsificaciones.
VII. Investigaciones de quiebras.
VIII. Problemas relacionados con el cumplimiento normativo
(F.J. Ureña, 2015)
2.3 En qué consiste un ciberataque y qué tipos existen
Al contrario que en amenazas diseñadas para garantizar que el agresor logre hacerse con el
control del acceso, el rechazo de servicios no garantiza que el agresor obtenga ganancias
de forma directa una vez concretada la amenaza. Muchas veces el objetivo del atacante es
simplemente bloquear el servicio en cuestión. Aunque, si el recurso atacado es propiedad
de de una empresa u organización competencia del atacante, esto podría ocasionar un
beneficio al atacante y por tanto servir de motivación para el ataque. Un propósito extra de
un agresor DoS puede ser aislar un sistema para poder lanzar una amenaza totalmente
diferente (S.M. Poremba, 2017).
6
ejecución del sistema objetivo con requerimientos de conexión, pero no ofrece un mensaje
en respuesta cuando el sistema objetivo envía un mensaje de respuesta a esos
requerimientos solicitados. Lo antes mencionado logra que el grupo de trabajo al cual se
llega se desgaste durante la realización de la espera del mensaje de respuesta del equipo del
agresor, con lo cual se logra el bloqueo del sistema o que el mismo se quede en un estado
de inacción para cuando la cola de enlace se llene.
(W. Eddy, 2007)
Los agresores de ping de la muerte se logran obstruir, haciendo uso de dispositivo de muro
de fuego, el cual tendrá como finalidad principal la autenticación de las informaciones IP
desmenuzadas para ver el tamaño máximo.
V. Botnets.
Las botnets son los múltiples sistemas contaminados con software malware, todo esto bajo
la acción de un hacker para desarrollar amenazas DDoS. Dichos bots o programas zombis
tienen como principal meta el atacar los sistemas de destino, por lo general se sobrecarga el
ancho de banda del sistema de destino, así como también las funciones de procesamiento.
Estas agresiones DDoS son difíciles de identificar y hacerles seguimiento, todo esto debido
a las diferentes ubicaciones geográficas en las cuales se encuentran los botnets.
(S. M. Poremba, 2017)
Una amenaza MitM (Man in the Middle), sucede al momento en que un hacker logra
ingresar entre las informaciones que se envían mutuamente, tanto el cliente como el
7
servidor. A continuación, mencionaremos algunas de las amenazas más comunes en esta
categoría:
Este tipo de amenaza se logra mitigar fácilmente controlando el tiempo de la sesión (un
número al azar o una serie que se modifica según el tiempo).
Este es un tipo de amenaza muy dirigida. Los agresores de forma paciente investigan los
objetivos y generan información de mucha precisión pública y privada. Gracias a esto, se
8
hace muy complicado el lograr la plena identificación del spear phishing, e incluso aún
más cuesta arriba el lograr contrarrestarlo. Entre las formas más sencillas con las que un
cibercriminal logra llevar a cabo una amenaza de spear phishing se encuentra la
suplantación de identidad de correo electrónico, que es cuando la información de la sección
"De" del correo electrónico se falsifica, lo que hace que se perciba como si proviniera de
alguien que conoces, como su gestión o su empresa asociada. Otra técnica que usan los
criminales para lograr que sus trampas sean aún más creíbles, es la clonación de una web:
copian dicha web legítima para engañarlo y así, lograr que este ingrese su información
personal que le permite iniciar la sesión.
9
V. Virus de gusano.
Los gusanos se separan de los programas maliciosos y no se quedan atacando un equipo o
programa concreto, sino que son aplicaciones autónomas que se esparcen a través de
grupos de trabajo y dispositivos. Los virus gusano se esparcen comúnmente a través de
paquetes que se enlazan a los emails; el virus gusano se inicializa al momento en que el
email es visualizado. Un ataque por gusano típico conlleva que el virus de gusano envíe un
duplicado de dicho paquete a cada usuario en el email de un dispositivo portador del virus.
Además de efectuar acciones criminales, un gusano que se expande por Internet y excede
los dispositivos que almacenan los emails, puede originar amenazas de denegación de
utilidad en contra de los nodos del grupo de trabajo, bloqueando de esta manera toda la red
de trabajo.
VI. Bombas lógicas.
Es una clasificación de programa malintencionado que se enlaza a una aplicación y se
activa por una ocurrencia específica, como una condición lógica o una fecha y hora
específicas.
VII. Troyano.
Un troyano es un software que se esconde en una aplicación útil y en la mayoría de los
casos tiene intenciones maliciosas. Una característica a resaltar que lo ubica en una
categoría diferente entre germen y troyanos es que los troyanos no cuentan con la
capacidad de expandirse por sí mismos. Adicionalmente de enviar amenazas a un equipo,
un troyano puede configurar una entrada posterior que los atacantes pueden aprovechar.
Analicemos el siguiente escenario, un troyano puede configurarse para abrir una entrada
para que el cibercriminal pueda darle uso posteriormente y llevar a cabo su a.
VIII. Virus sigiloso.
Los virus sigilosos se esconden en las diferentes operaciones del equipo. Hacen esto
comprometiendo el programa de detección de programas maliciosos para que la aplicación
informe que un determinado sector que cuenta con la presencia del programa maliciosos,
no está en dicha situación. Estos programas maliciosos esconden cualquier alteración sin
causar cambios en el tamaño del programa contagiado o variaciones en los datos asociados
al calendario, así como la hora de la última modificación del programa.
IX. Virus polimórficos.
Estos programas maliciosos se esconden a través de diferentes procesos de codificación y
descodificación. El programa malicioso codificado y una máquina de variación asociada
son descifrados en una primera instancia por un software que cumple dicha función. El
programa malicioso se dedica a contagiar un sector de código. La máquina de variación
luego da origen a una nueva secuencia de ejecución de descodificación y el programa
malicioso codifica la máquina de variación y una réplica del programa malicioso con una
secuencia de comandos, los cuales se relacionan a la nueva secuencia de comandos de
desprogramación. El programa codificado de la máquina de variación y el programa
malicioso se enlazan a un nuevo código y la secuencia se lleva a cabo nuevamente. Estos
programas maliciosos son difíciles de detectar pero poseen un alto nivel de entropía debido
a las múltiples alteraciones de su código principal.
X. Virus de infección del programa o de la lista de arranque.
Un programa malicioso de lista de arranque se enlaza a la lista de arranque principal en los
discos duros. Cuando se inicia el equipo, mirará la zona de arranque y activará el programa
malicioso en la memoria, donde le es posible la expansión a otros discos y equipos.
10
XI. Virus de infección de archivos.
Los virus que infectan archivos se caracterizan por adjuntarse al código de ejecución, como
programas .exe. El programa malicioso se ubica cuando se ejecuta la secuencia de
comandos. Otra versión de un infector de archivos se relaciona con un programa
desarrollando un programa malicioso asociado a exactamente un nombre similar, pero con
la extensión .exe. En consecuencia, cuando se ejecute el programa, se pondrá en
funcionamiento el programa malicioso.
XII. Programa malicioso de enmarcado.
Estos programas maliciosos contagian software de escritorio como editores de texto u
hojas de cálculo. Los programas maliciosos de enmarcado se adhieren a la sucesión de
inicialización de una aplicación. Al momento en que se habilita la aplicación, el programa
pone en funcionamiento los comandos, previo al traspaso del hilo principal de ejecución al
programa. El programa malicioso se retransmite y se enlaza a otro código en el equipo.
(Ministerio de asuntos económicos y transformación digital, 2020; N. Baliyan. 2017)
Los ataques de cumpleaños se realizan sobre comandos de tipo hash, los cuales se
implementan para validar la autenticidad de un determinado mensaje o programa. Una
información evaluada por una función hash, genera un MD (Message Digest), de
dimensión no variable, el cual no depende de la dimensión de la información entrante.
Las amenazas de escucha clandestina se producen mediante la interceptación del flujo del
grupo de trabajo. Al escuchar a escondidas, un agresor puede hacer con las contraseñas,
números de tarjetas de crédito y otra información de gran valor que un usuario llegar a
enviar a través de la red.
11
[Link] Ciberamenaza de secuencia de comandos entre sitios (XSS).
Para el momento en que el usuario hace el requerimiento de una página de dicho sitio web,
el portal emite la respuesta, con el paquete del cibercriminal incluido en el HTML, al
programa que está utilizando la víctima para hacer la búsqueda, el cual termina poniendo
en estado operativo el paquete enviado por el cibercriminal.
Dado que las contraseñas son la herramienta más utilizada para autenticar a los usuarios en
los sistemas informáticos, la obtención de contraseñas es un enfoque de amenaza común y
eficaz. El acceso a la contraseña de una persona se puede obtener revisando la zona de
trabajo de la víctima, analizando la conexión a la red para leer las contraseñas no cifradas,
mediante el uso de ingeniería social, ganando acceso a una base de datos de contraseñas o
adivinando directamente. El último enfoque se puede realizar de forma aleatoria o
sistemática:
12
3 Modelos de ataque
3.1 Modelado de ciberataques.
Modelar un ciberataque, que aún no ha ocurrido, puede ahorrar tiempo, dinero y otros
recursos para una organización. Se utilizan una serie de técnicas de modelado de ataques.
Para analizar ciberataques. Esta sección se centra en revisar los tres principales modelos de
técnicas de ciberataque llamadas: el modelo de diamante, la cadena de muerte y el gráfico
de ataques para el modelado de ataques. El modelo diamante se selecciona debido a la
simplicidad del modelo, ya que consta de sólo cuatro componentes principales. La cadena
de muerte se utiliza como se ha utilizado durante muchos años en los [Link].
Departamento de Defensa tanto en ciberdefensa como en la batalla campos.
[Link].1 Adversario.
Es un actor (o conjunto de actores) que ataca a una víctima después de analizar su
capacidad contra la víctima.
[Link].2 Víctima.
Es un actor (o conjunto de actores) que resulta atacado por uno o varios adversarios
después de que estos analicen la capacidad de defensa con la que cuenta la víctima.
[Link].3 Infraestructura.
Se refiere a la forma como están interconectados los diferentes dispositivos de hardware
entre sí que conforman la red o redes en las cuales se ubica el o las víctimas, así como los
diferentes dispositivos que le permiten al adversario ingresar a la red de la víctima y
cometer el ciberataque.
[Link].4 Capacidad.
Se refiere a las diferentes herramientas, bien sea de software o de hardware, con las que
cuenta la potencial víctima para poder defenderse de un posible ciberataque originado por
el o los adversarios.
(Sergio Caltagirone, Andrew Pendergast, Christopher Betz, 2013)
13
Figura 1. Modelo diamante.
Fuente: Elaboración propia.
14
[Link].5 Paso 5: Instalación.
Instala malware en los ordenadores infectados u ordenadores de las víctimas. Para infectar
el ordenador de la víctima, la carga útil puede necesitar ser ejecutada por la víctima, o se
puede ejecutar automáticamente. También es la fase en la que la cadena se puede romper al
no ejecutar la carga útil.
15
ataque y las diferentes ramas que se desprenden de este están formadas por las distintas
maneras que hay de alcanzar dicho objetivo. Estas ramas a su vez también pueden tener
subramas al poder considerarse objetivos en sí mismas (Centro Criptológico Nacional,
(2012).
16
4 Análisis y conclusiones sobre los
ciberataques
4.1 Ejemplos de análisis de ataque
En este punto se mostrarán tres ejemplos de posibles situaciones en las que un analista de
seguridad debe saber qué análisis llevar a cabo para detectar un posible ciberataque y de
esta manera ser capáz de, una vez detectado, neutralizar dicho ataque. Dos de estos análisis
nos mostrarán pequeños ejemplos, uno de análisis de ficheros y el otro de análisis de
tráfico. Por último se incluye un tercer análisis completo que muestra los pasos a seguir
durante el análisis forense de un equipo o servidor con sistema operativo windows y
prueba la utilidad del uso de modelos para entender cómo se producen los ataques.
rule ReglaDeEjemplo
{
meta:
description = "Esta regla es tan solo un ejemplo"
author = "Sergio García Bordonado"
strings:
$a = "Script malicioso"
$b = { 9B F9 B0 5B C1 83 F0 22 99 6A 4E A9 F7 C0}
condition:
$a or $b
}
Para esta prueba de análisis de scripts maliciosos se cuenta con un directorio el cual
contiene los archivos de una página web.
Para este ejemplo suponemos que el analista está ejecutando YARA con una gran
variedad de reglas distintas como parte de un análisis rutinario.
El analista, entre sus distintos ficheros de reglas cuenta con una la cual contiene distintas
direcciones URLs las cuales ya han sido utilizadas con anterioridad en otros ataques por
algunos cibercriminales para redirigir el tráfico de distintas páginas web a otras
controladas por dichos cibercriminales.
A continuación se muestra la estructura del directorio en el que se encuentra la página
web:
17
Figura 3. Estructura pagina web
Fuente: Elaboración propia.
Para analizar lso ficheros contenidos dentro del directorio que se muestra en la imagen, el
analista utiliza varias reglas de YARA. Entre esta reglas se encuentra una la cual
comprobará si se está realizando alguna redirección indevida a alguno de los sitos los
cuales se sabe que los hackers suelen utilizar para ectraer información de los usuarios.
La regla en cuestión contiene el siguiente código:
rule Regla_URL_Maliciosa
{
meta:
description = "Esta regla detecta URLs conocidas por el analista como
maliciosas"
author = "Sergio García Bordonado"
strings:
$a = "sitiomalicioso1"
$b = "sitiomalicioso2"
$c = "[Link]"
condition:
1 of them
}
La regla ha sido creada dentro de el fichero “rule_n1”, el comando para ejecutarla por
terminal es el siguiente:
En este caso usamos la opción “-s” de YARA para que nos muestre por pantalla que cadena
de texto ha hecho saltar la regla:
yara -s rule_n1 /home/sergio/projects/TFG/pagina_web/BizLand/assets/js/[Link]
18
Como se puede observar en la siguiente imagen, la salida de la execución de la regla
YARA nos indica que se ha detectado una de las cadenas maliciosas, en concreto
“sitiomalicioso2”:
Una vez se ha detectado que se tiene la certeza de que algún atacante ha conseguido
modificar el fichero [Link] el analista deberá, en primer lugar, preservar de manera
correcta la evidencia, en este caso el fichero [Link]. Y a continuación revisar el resto de
documentos ya que si se ha conseguido detectar en uno podrían haberse añadido más
código malicioso en otras partes de la aplicación web.
Después de asegurarse de que todo está correcto y de eliminar la amenaza, se debe centrar
en encontrar de qué forma ha logrado acceder al código de la aplicación web el atacante
para solucionar dicha brecha de seguridad.
Esta prueba se ha realizado con YARA pero no es ni mucho menos la única que nos
permite realizar análisis de malware existen multitud de ellas.
19
Figura 5. Análisis del origen de los paquetes UDP
Fuente: Elaboración propia.
Como se puede observar en la imagen anterior se está recibiendo una cantidad de tráfico
especialmente grande desde una dirección IP en concreto la cual ocupa el 99,64% del
tráfico. Esto puede indicar que se está iniciando un ataque de denegación de servicio y
habría que proceder a bloquear el tráfico proveniente de dicha dirección IP.
Por lo general la mayoría de los sistemas operativos tienen limitado el número de
respuestas ICMP que se generan cuando el paquete UDP llega a un puerto en el que
ninguna aplicación está escuchando, el problema de esto es que puede que aquellos
paquetes que son legítimos sean ignorados debido a esto.
Aunque pueda parecer que es un ataque que puede mitigarse fácilmente poniendo límites al
número de paquetes o mediante el uso de cortafuegos, si el ataque es lo suficientemente
grande acabará por saturar los cortafuegos y acabar utilizando el servicio. Además existen
múltiples técnicas para burlar estas medidas como puede ser el cambio de las Ips o incluso
del MAC desde el cual se envían los paquetes.
En este caso, al tratarse de un ejemplo, el tráfico se recibe desde la IP [Link] ya que se
ha ejecutado todo desde el mismo equipo. La única diferencia con un caso real sería que el
tráfico provendría de un equipo con distinta IP.
20
[Link] Análisis de Windows Registry
El registro de Windows consiste en una serie de archivos en los cuales los distintos
componentes del sistema y aplicaciones guardan información sobre sus configuraciones y
acciones. Además de información sobre las distintas acciones llevadas a cabo por los
usuarios.
Es por esto que el registro de Windows es uno de los elementos más importantes a la hora
de llevar a cabo el análisis forense de un sistema.
En el siguiente ejemplo de análisis analizaremos algunos de los ficheros más importantes
desde el punto de vista del análisis forense presentes en el registro de Windows.
SAM
En este ejemplo de análisis comenzaremos por analizar la información que nos brinda el
fichero SAM (Security Account Manager), presente en el directorio
“C:\WINDOWS\system32\config\” y que contiene información sobre los distintos usuarios
del sistema y sus privilegios.
Para extraer la información del fichero SAM que usaremos para esta prueba usaremos la
herramienta RegRipper, y el y el plugin “samparse”.
Tras utilizar la herramienta ya mencionada sobre el fichero SAM podemos observar
información sobre los distintos usuarios, por ejemplo la información relativa al
administrador del equipo. Para ello ejecutamos el siguiente comando desde la dirección en
la que tengamos montada la imagen a analizar:
Según vamos revisando la información de los distintos usuarios encontramos uno que nos
llama la atención, ya que no es un usuario conocido:
21
Figura 7. Análisis fichero SAM, Usuario sospechoso.
Fuente: Elaboración propia.
Además el usuario “hacker” y el usuario “user1” con RIDs 1005 y 1006 están entre los
usuarios que pueden conectarse de manera remota, por eso deberíamos tenerlos en cuenta
especialmente a la hora de hacer nuestro análisis:
Esto aunque podría tratarse de un usuario el cual no conozcamos por algún motivo ya
debería llamar nuestra atención y como mínimo deberíamos asegurarnos de que es un
usuario válido de nuestro sistema. En caso de que no lo sea deberíamos comprobar
rápidamente qué tipo de acciones está llevando a cabo.
SOFTWARE
El fichero SOFTWARE, el cual se encuentra en la dirección
“C:\WINDOWS\system32\config\”, contiene información sobre la configuración y ajustes
de los distintos programas instalados en el equipo y otras del propio sistema Windows.
Siempre es interesante analizar este fichero ya que puede darnos pistas sobre qué acciones
está llevando a cabo el usuario.
Mediante el uso de la herramienta RegRipper y el con el plugin “apppaths” podemos
extraer de este registro los ficheros “.exe” que han sido ejecutados en el equipo. Para esto
ejecutamos el siguiente comando desde la dirección en la que hayamos montado la imagen
de prueba:
22
Figura 9. Análisis fichero SOFTWARE, Salida apppaths.
Fuente: Elaboración propia.
De igual manera que hemos analizado los ejecutables empleados, analizaremos las tareas
(Tasks) del sistema. Esto lo haremos porque en ocasiones los atacantes introducen sus
propias acciones entre las tareas del sistema con algún fin malicioso. Para ello
emplearemos la herramienta RegRipper con el plugin “tasks”. Emplearemos el siguiente
comando desde el directorio en el que tengamos montada la imagen:
Como hay un gran número de tareas registradas vamos a exportarlas a un fichero txt y
después filtrar las que nos interesen. En nuestro caso, como es una imagen de un servidor
web que sufrió un ataque en 2015, buscaremos aquellas tareas registradas en 2015. Para
ello emplearemos el siguiente comando:
Tras ejecutar el comando podemos observar qué tareas fueron registradas en 2015
23
Como se puede observar en la ejecución, la única task registrada en 2015 pertenece a
“LPRemove”, la cual es una de las tasks propias del sistema Windows. Por lo que en
principio parece que no se observa ningún comportamiento sospechoso entre las tareas.
[Link]
El fichero [Link], el cual se encuentra en el directorio
”Windows/System32/config/” es otro de los ficheros más importantes a la hora de analizar
los registros de Windows. Esto se debe a que contiene información sobre las
configuraciones de los distintos usuarios del sistema
Aunque la imagen con la que estamos trabajando no nos permite acceder a los datos de las
apps utilizadas, los documentos abiertos, ni los paths y urls utilizados por los usuarios
“user1” y “hacker” ni sus logons ya que no cuenta con carpetas para estos usuarios. Esto se
da para este ejemplo en específico, pero en una investigación al uso, siempre que se pueda
deberán comprobarse ese tipo de datos mediante el fichero [Link] ya que nos
pueden dar información clave sobre las acciones que está llevando a cabo el atacante.
[Link] Logs
Otro tipo de ficheros a tener en cuenta a la hora de analizar cualquier sistema son los logs.
Los logs son ficheros en los que quedan registradas las distintas acciones que se van
llevando a cabo en el sistema.
Event Logs
Para el caso particular de windows nos centraremos en el análisis de los “Event Logs”
o logs de eventos. En estos log es donde quedan registradas todas las acciones llevadas
a cabo por el sistema y son cruciales para poder analizar y entender el funcionamiento
del mismo. Los “Event Logs” se ubican en la carpeta
“Windows/System32/winevt/Logs/”. Para esta imagen en particular no hay logs de
eventos de windows debido a la propia configuración del sistema. Pero en otros casos
en los que sí se disponga de estos logs son una grandísima fuente de información. Los
logs de eventos de windows más importantes a la hora de realizar un análisis forense
son los siguientes:
● Account Management Events
● Account Logon and Logon Events
● Access to Shared Objects
● Scheduled Tasks Loggins
● Object Access Audit
● Audit Policy Changes
● Audit WIndows Services
● Wireless LAN Auditing
● Process Tracking
● Auditing PowerShell Use
24
fichero puede abrirse y leerse sin necesidad de programas específicos, aunque existen
programas que facilitan su lectura.
Al abrir el fichero nos encontraremos con mensajes del tipo:
Que indican la IP desde la que llegan las órdenes y la acción realizada. Analizando las
distintas acciones registradas en el log es muy fácil darse cuenta de que una gran
cantidad de las mismas vienen desde la misma dirección IP, la dirección
“[Link]”.
Para hacer más sencillo el resto del análisis de este fichero guardaremos todas las
acciones llevadas a cabo desde esta IP en un documento a parte mediante el comando:
Ahora que ya tenemos separadas las acciones realizadas desde esta IP sospechosa
vamos a analizar sus acciones viendo cuales son las más comunes. Para ello
analizaremos el campo “user agent” de los mensajes del log mediante el comando:
cat ../../accesslog_192.[Link] | awk -F\" '{print $6}' | sort | uniq -c | sort -nr
Este comando nos contará las veces que se repiten lo distintos “user agent” a lo largo
del fichero. La salida tras la ejecución del comando es la siguiente:
A la vista de los resultados resulta evidente que el atacante ha usado sqlmap para su
ataque. Si ha decidido usar esta herramienta lo más probable es que estuviera buscando
vulnerabilidades para realizar un ataque de inyección de SQL.
Ahora que ya tenemos una línea más clara desde la que investigar podemos reducir todavía
más nuestro área de búsqueda filtrando el fichero que generamos anteriormente y
utilizando únicamente aquellas entradas que mencionen “sqlmap”.
Aquí una muestra de las acciones llevadas a cabo por el atacante relacionadas con sqlmap.
25
Figura 12. Análisis Apache Logs, acciones atacante
Fuente: Elaboración propia.
Como se puede observar están intentando explotar las vulnerabilidades. No solo eso, si
seguimos analizando el fichero encontraremos que llegado el momento el atacante empieza
a ejecutar comandos utilizando cmd.
[Link] Memoria
A continuación, después de haber descubierto pruebas de los intentos de el ataque vamos a
realizar un análisis de la memoria para intentar encontrar más detalles sobre el ataque.
Disponemos de un volcado de la memoria, para analizarlo utilizaremos la herramienta
“Volatility”.
En primer lugar extraemos la información básica sobre la memoria mediante la ejecución
del siguiente comando:
26
Figura 14. Análisis Memoria, información memoria
Fuente: Elaboración propia.
Utilizando este plugin, podemos ver los protocolos, las direcciones y puertos de origen y
destino, el estado en que se encuentran, el identificador del proceso que la está ejecutando,
el propietario y la fecha de creación de las distintas conexiones. En este caso en particular,
o bien porque el atacante no estaba conectado en el momento en el que se hizo el volcado
de memoria o bien porque su conexión esté de alguna manera oculta, a excepción de las
conexiones con PID 2796 y 2880, las cuales son ejecutadas por “[Link]” no parece
haber nada fuera de lugar entre las conexiones. Aun así seguiremos analizando el resto de
la información que nos da el volcado de la memoria antes de analizar dichos procesos.
Servicios en ejecución
Los servicios son procesos que se ejecutan de forma automática por el sistema sin
necesidad de intervención del usuario. En ocasiones los atacantes pueden incluir malware
entre estos servicios para hacerlo pasar desapercibido. Habitualmente la forma más sencilla
de analizar los servicios en ejecución detectados en el volcado de memoria es compararla
con una lista de servicios que de forma habitual si deberían estar en ejecución para el
27
funcionamiento normal del equipo. Como en este caso en concreto no contamos con una
lista de los servicios que suelen estar en ejecución durante el funcionamiento normal del
servidor simplemente nos limitaremos a extraer del volcado de memoria los servicios que
hayan sido detectados por la herramienta Volatility y analizarlos nosotros mismos por si
vemos algo fuera de lugar que llame nuestra atención. Par poder ver los servicios
detectados ejecutamos el siguiente comando:
En este caso al no tener una lista de servicios habituales no podemos hacer un análisis muy
exhaustivo que nos resalte las anomalías con respecto a su funcionamiento normal. Aun así
después de analizarlo de forma visual no se ha encontrado ningún servicio que resulte
sospechoso.
Shellbags:
Los “Shellbags” son unos elementos presentes en el el registro de Windows los cuales
cotienen información acerca de qué ficheros han sido accedidos o modificados. Es posible
acceder a esta información si se encuentra en la memoria en el momento en que se realiza
28
el volcado de la misma. Para ello, utilizaremos el programa “Volatility” y el plugin
“shellbags” que nos permite viasualizar la información contenida en los “shellbags”:
Como se puede observar en la Figura 17, alguien parece estar explorando las
vulnerabilidades de Xampp. En concreto parece que el atacante planea un ataque de
inyección sql, de XSS o de subida de archivos. Lo cual coincide con lo visto durante el
análisis de los logs de Xampp.
29
Figura 18. Análisis Memoria, shimcache
Fuente: Elaboración propia.
Claves Registry:
Por último nos permite ir analizando clave a clave la información que encuentre para cada
una de ellas. Esto lo haremos mediante la utilización de la herramienta “Volatility” y el
plugin “printkey”. El comando que debemos ejecutar es el siguiente:
Este mismo comando se puede emplear para cualquiera de las claves descubiertas. Para
obtener la lista de las claves detectadas usaremos la herramienta “Volatility” y el plugin
“hivelist”. Para obtener dicha lista ejecutaremos el siguiente comando:
Procesos
Otra forma de analizar qué está sucediendo en un equipo es analizar sus procesos en
ejecución. Los atacantes pueden ejecutar malware con sus propios procesos o inyectando
30
código en el contexto de otros procesos. Por eso el análisis de procesos es una parte tan
importante en una investigación forense.
Para realizar el análisis de los procesos que se hayan detectado dentro del volcado de la
memoria utilizaremos la herramienta “Volatility” y el plugin “pslist” el cual nos devolverá
una lista con los procesos detectados. Para nuestro caso particular empleamos el siguiente
comando:
Tras ejecutar el comando y observar la lista de procesos nos damos cuenta de que hay dos
ejecuciones de la terminal cmd de Windows.
31
Figura 23. Análisis Memoria, comandos cmd
Fuente: Elaboración propia.
32
sudo python2 [Link] -f ../Documents/registros/[Link] --profile VistaSP1x86
memdump -p 2796 --dump-dir ../Documents/registros/dump2796/
Como se puede observar encontramos la IP que vimos al realizar el análisis de los logs de
XAMPP seguida de %26%26 que es el código para los caracteres “&&”. Esta técnica es
empleada para concatenar dos comandos y realizar inyecciones de los mismos.
Ahora que sabemos que el usuario está usando esta técnica buscamos que más comandos
ha podido concretar:
Como podemos observar son comandos para añadir al usuario “hacker” al grupo de
usuarios remotos. Aun así todavía no tenemos claro al cien por cien cuál ha sido la acción
que han realizado una vez han ganado acceso. Como demostramos en pasos anteriores una
de las vulnerabilidades que habían estado explorando eran la de subida de archivos. Así
que analizaremos las entradas de la MFT para comprobar si han podido cargar en nuestro
equipo algún archivo malicioso.
33
[Link] NTFS Master File Table (MFT)
La MFT es un fichero en el cual están referenciados todos los archivos del NTFS (New
Technology File System) que es el sistema de gestión de archivos de Windows.
Como todos los archivos están referenciados en ella, deberíamos ser capaces de encontrar
los ficheros maliciosos que sospechamos que los atacantes han subido aprovechándose de
las vulnerabilidades relacionadas con la subida de archivos.
Para poder analizar la MFT en primer lugar debemos extraerla de la imagen que estamos
analizando. Para ello en primer lugar analizaremos la información disponible sobre la
misma utilizando la herramienta “mmls”. Para ello emplearemos el siguiente comando:
mmls Case1-Webserver.E01
Con esta información ya podemos generar nuestro fichero con la MFT al cual llamaremos
“[Link]”. Para ello usaremos la herramienta “icat” mediante el siguiente comando:
Ahora que ya tenemos la MFT en formato CSV podemos analizarla en busca de los
ficheros maliciosos que sospechamos que han subido los atacantes. Tras un breve análisis
encontramos que en efecto los atacantes han subido al equipo distintos scripts que les
permiten ejecutar comandos vía webshell.
34
Con estas últimas pruebas quedan ya demostrados no sólo que consiguieron acceder al
servidor sino que también consiguieron aprovecharse de una serie de vulnerabilidades para
introducir en él una serie de scripts maliciosos (webshells) y que usaron estos scripts para
poder ejecutar comandos en el servidor.
35
5 Conclusiones
Este trabajo surge de mi interés en el mundo de la ciberseguridad tras mis prácticas en One
eSecurity, una empresa de respuesta a incidentes. Al poco de empezar a trabajar en esta
empresa empecé a interesarme en cómo se producían los ciberataques y qué formas había
de detectarlos y solventarlos.
Durante el desarrollo de este trabajo y gracias a todo el proceso de documentación llevado
a cabo para el mismo he podido conocer más a fondo los distintos métodos que emplean
los hackers para llevar a cabo sus ataques. Esto es muy importante ya que para saber cómo
defenderse y prevenir un posible ataque conviene saber primero de qué forma se llevan a
cabo la mayoría de los mismos.
Con este trabajo no solo se presentan los principales tipos de ataques y malware con los
que un atacante podría infectar o dañar un equipo o una red sino que también se concluye
que el uso de modelos (modelo de diamante, modelo de cadena de muerte y modelo de
gráfico de ataque), para analizar ciberataques puede ser de gran utilidad. Cada uno de los
métodos es único y presenta los mismos ataques de formas muy diferentes. Aunque, las
técnicas de modelado de ataques son diferentes entre sí, comparten algunos atributos
comunes como: adversario, víctima, red, plan de ataque, crear carga útil, entrega de la
instalación y ejecución de la carga útil o malware. Su uso es especialmente importante a la
hora de entender los ataques, tanto el proceso que siguen como su motivación. Entender
esto nos permite adelantarnos a futuros ataques y prevenirlos.
Una de las partes importantes de cualquier ciberataque es que el atacante no ataca a
ninguna red de alto nivel sin llevar a cabo una investigación adecuada. El atacante planea
antes de atacar. El plan se realiza utilizando datos recopilados en la infraestructura de la
víctima y sus capacidades. Para realizar un ataque, el atacante debe enviar o introducir una
carga útil o malware, que es una forma de ataque muy común en los equipos de trabajo,
generalmente con sistema operativo Windows. Además, en ocasiones distintos métodos de
ingeniería social son utilizados para entregar la carga útil a la víctima. Entonces, la
probabilidad de éxito en muchas ocasiones depende en un cincuenta por ciento de la
víctima, porque una vez que el archivo está entregado, depende de la víctima si ejecuta el
archivo o no.
Además de todo lo anteriormente citado se realizan una serie de tres casos de prueba de
detección de ataques que demuestran la importancia de los anteriores puntos a la hora de
detectar, frenar y analizar un ataque una vez este ya se ha producido.
Por último concluir que aunque nunca se está completamente seguro frente a un ataque, y
cuando esto sucede es de vital importancia contar con los conocimientos y las herramientas
que nos permitan detectar, y solventar el ataque. Es por esto que el análisis forense digital
se ha convertido en una práctica tan necesaria en la actualidad y sus profesionales son tan
demandados.
36
Bibliografía y referencias
C. Guzmán. (2017). Protocolos para la mitigación de ciberataques en el hogar. Caso
de estudio: estratos 3 y 4 de la ciudad de Bogotá. Recuperado de
<[Link]
> [Accedido 12 de Enero 2021].
37
J. Olmedo. (2018). Análisis de los ciberataques realizados en América Latina.
Recuperado de <[Link] [Accedido 5 de
Marzo 2021].
38
S. Kumar. (2007). Smurf-based Distributed Denial of Service (DDoS) Attack
Amplification in Internet. Recuperado de
<[Link] [Accedido 20 de
Marzo 2021].
S. Raghavan. (2012). Digital forensic research: Current state of the art. Recuperado
de
<[Link]
state_of_the_art> [Accedido 10 de Diciembre 2021].
Threat Connect. (2014). The diamond model for intrusion analysis: A primer.
Recuperado de
<[Link]
_for_Intrusion_Analysis_A_Primer_Andy_Pendergast.pdf> [Accedido 10 de Marzo 2021].
39
40
Glosario
Sistema diseñado para evitar el acceso no autorizado a una red privada o desde
ella. Puede implementar un firewall en forma de hardware o software, o una
Firewall combinación de ambos. Los cortafuegos evitan que usuarios de Internet no
autorizados accedan a redes privadas conectadas a Internet, especialmente
intranets.
41
hipervínculos. Cada página web que ve en Internet está escrita usando alguna versión
de código HTML u otra.
HTTP/H
Hypertext Transfer Protocol/Secure (Protocolo de transferencia de hipertexto).
TTPS
42
RIR Regional Internet Registry (Registro Regional de Internet).
SMBv2 Server Message Block version 2 (Bloque de mensajes de servidor versión 2).
43