Está en la página 1de 25

INFORMÁTICA FORENSE III

Miguel Quintero

EJE 1
Conceptualicemos

Fuente: freepick/ 2785047


Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Investigación de ataques web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Estructura de las aplicaciones WEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Retos de los investigadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Indicadores de ataques web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Tipos de amenazas dirigidas a las aplicaciones web . . . . . . . . . . . . . . . 10

Cómo investigar un Ataque Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Investigación de ataques web basados en servidores Windows . . . . . . . 17

Investigación de ataques Cross-Site Scripting . . . . . . . . . . . . . . . . . . . . 19

Investigación de ataques SQL Inyección . . . . . . . . . . . . . . . . . . . . . . . . 21

Investigación de ataques de inyección de código . . . . . . . . . . . . . . . . . . 22

Herramientas más usadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
ÍNDICE
Introducción

Hoy en día es casi imposible que no hagamos uso de una aplicación web en
nuestro desarrollo de actividades diarias, bien sea para realizar simples consultas,
ingresar a un servicio de correo, realizar transacciones bancarias, hacer solicitud de
documentos con entidades de gobierno y empresas privadas, no importa el tipo de
requerimiento que tengamos, siempre vamos a necesitar una aplicación web para
poder realizarlo.

Las aplicaciones web cada vez son más indispensables, y por medio de ellas se
transfieren grandes cantidades de información que puede ser muy apetecida por
los delincuentes, el funcionamiento de estas aplicaciones es muy sencillo, la apli-
cación para funcionar necesita de un servidor donde alojarse, y puede basarse en
INTRODUCCIÓN

sistemas operativos Windows o Linux, este tipo de aplicaciones por lo general son
informativas, otras están configuradas para realizar consultas a bases de datos, lo
cual implica que debe tener una conexión directa con el servidor donde se encuentre
configurada la base de datos.

Las aplicaciones web permiten a


Consulta
los usuarios realizar diferentes con- Son una forma de buscar y recopilar información de una o
sultas cuando están conectados a más tablas para conseguir información detallada de una
base de datos.
internet, la aplicación web realiza
HTML
la solicitud a través de un servidor Es un lenguaje de marcado que se utiliza para el desarrollo
web. Cuando el servidor responde a de páginas de Internet. Se trata de la sigla que corres-
ponde a HyperText Markup Language, es decir, Lenguaje
la solicitud, la aplicación web genera de Marcas de Hipertexto, que podría ser traducido como
un documento con la respuesta, esto Lenguaje de Formato de Documentos para Hipertexto.
es lo que se conoce como relación XML
Es una adaptación del SGML (Standard Generalized
cliente /usuario. Los documentos Markup Language), un lenguaje que permite la organiza-
web generados por las aplicaciones ción y el etiquetado de documentos. Esto quiere decir que
el XML no es un lenguaje en sí mismo, sino un sistema que
web pueden ser HTML, XML , que permite definir lenguajes de acuerdo a las necesidades.
son formatos estándar y pueden
Navegador
ser leídos por cualquier navegador Un navegador web (en inglés, web browser) es un softwa-
existente en la actualidad. re, aplicación o programa que permite el acceso a la Web,
interpretando la información de distintos tipos de archivos
y sitios web para que estos puedan ser vistos.

Las ventajas que brindan este tipo de aplicaciones son muchas, pero también
traen intrínsecas vulnerabilidades, estas vulnerabilidades se pueden dar por diferen-
tes motivos, como por ejemplo una mala configuración, un defecto en el desarrollo
de la aplicación, una versión del servicio vulnerable, entre otras. Los atacantes siem-
pre están en búsqueda de aplicaciones web que puedan presentar alguna vulnera-
bilidad de la cual se puedan aprovechar y puedan atacar con el firme propósito de
poder conseguir la información que se transfiere por medio de la aplicación web.
Los tipos de ataques más comunes a los que están expuestas las aplicaciones
web son:

• Inyección SQL.
• Scripting entre sitios.
• Secuestro de sesiones.
• Inclusiones de archivos locales y remotos.
• Ejecución remota de código.
INTRODUCCIÓN

Como investigadores forenses debemos realizar un análisis completo de la apli-


cación web y su contenido (registro del directorio WWW, archivos de configuración,
registro de logs, los script configurados en el servidor y la aplicación y los registros de
las aplicaciones de terceros si la hay), todo esto con el firme propósito de rastrear el
ataque, identificar su origen y determinar cómo se propagó, poder identificar qué
tipo de dispositivos fueron los que utilizaron (móviles o computadora) y sobre todo
las personas involucradas en el ataque.
Investigación de
ataques web
Estructura de las aplicaciones WEB

Las aplicaciones web necesitan de un navegador web para poderse ejecutar, los scripts
que se encargan de presentar la información y se ejecutan en la aplicación pueden estar
diseñados en lenguajes como HTML, JavaScript, mientras que los scripts que se ejecutan
en el servidor y se encargan del almacenamiento y la recopilación de los datos están
diseñados en lenguajes como: ASP, PHP.

Teniendo en cuenta lo anterior podemos decir que los clientes hacen uso de diferentes
navegadores, desde diferentes tipos de dispositivos (portátiles, celulares, tablets, etc.),
utilizan diferentes lenguajes de programación y se conectan a diferentes servidores de
bases de datos. Pero siempre va a seguir el modelo de cliente y servidor.

La estructura de una aplicación web está compuesta por varias capas como se describe
en la siguiente imagen:

El cliente y el servidor se pueden ejecutar en el mismo equipo físico, o también se pueden tener en diferentes equipos, esto
dependerá del encargado de diseñar la solución y del presupuesto que se tenga, a nivel de seguridad es recomendable que
los servicios de cliente y servidor se ejecuten en equipos diferentes, por la sencilla razón de que, si se produce un ataque en
alguno de los dos servicios, se logre reducir la afectación y las pérdidas de información.

Capa de Usuario

Capa de Servicio WEB

Capa de Negocio

Capa de Base de Datos

Figura 1. Estructura Interna de Aplicaciones Web


Fuente: propia

Informática forense III - eje 1 conceptualicemos 6


Capa de usuario: esta capa hace referencia a los dispositivos que un usuario pueda
utilizar para conectarse a la aplicación web como, por ejemplo:

• Portátiles.
• Equipos de escritorio
• Smartphone.
• Tables.

O cualquier otro dispositivo el cual le


permita el uso de un navegador web, para URL
Se trata de la secuencia de caracteres que sigue
que el usuario digite la URL o dirección IP un estándar y que permite denominar recursos
donde se encuentra la aplicación web. Aquí dentro del entorno de Internet para que puedan
ser localizados.
se origina lo que se conoce como solicitud,
Solicitud
la cual viaja hasta el servidor web, el ser- En un modelo cliente-servidor, una solicitud es
vidor responde la solicitud y el navegador un requerimiento o petición que le hace un clien-
te a un servidor.
como respuesta carga el sitio web.

La siguiente gráfica nos ilustra la forma como actúa la capa de cliente.

Figura 2. Capa Cliente


Fuente: propia

Capa de Servidor WEB: esta capa se encarga de recibir las solicitudes enviadas por
el cliente, que por lo general llegan en lenguaje HTTP, y las responden En esta capa se
encuentran todas las configuraciones lógicas y están las conexiones a las bases de datos
que son las encargadas de crear los sitios web. Existen varios tipos de servidores web
como, por ejemplo:
• IS Web Server: Cuando se trabaja con sistema operativo Windows.
• Apache Web Server: Cuando se trabaja con sistema operativo Linux.

Informática forense III - eje 1 conceptualicemos 7


Capa de negocio: esta capa es la responsable del funcionamiento del sistema, incluye
toda la lógica del negocio (Servicios que ofrece la entidad para que sean consumidos por
internet), y todas las aplicaciones necesarias para publicar estos servicios.

Capa de base de datos: esta capa es la encargada de mantener los datos en formu-
larios estructurados para ser consultados por las aplicaciones web, algunos ejemplos de
servidores de bases de datos son:
• MySQL.
• Oracle
• MariaDB
• SQL Server

Instrucción

Para profundizar en la estructura interna de las aplicaciones web los


invitamos a ver el videorresumen que se encuentra en la parte principal
del eje.

Retos de los investigadores

Las aplicaciones web por su naturaleza desencadenan una serie de retos para los
investigadores forenses. Entre los más importantes están:

• Las aplicaciones web están diseñadas para que puedan correr en diferentes ser-
vidores web, los cuales pueden estar instalados en diferentes sistemas operativos.
Un ejemplo puede ser: IIS cuando trabajamos con Windows o Apache cuando se
trabaja con Linux Como investigadores debemos conocer las principales caracte-
rísticas de cada uno de ellos, sus archivos de configuración, dónde se almacenan
los registros, cómo hacen las conexiones a servicios externos, etc. En general cono-
cer a detalle su estructura para que en el momento de un ataque el investigador
tenga la certeza de cómo debe afrontar la situación.

• En la mayoría de casos las aplicaciones web manejan un porcentaje alto del core
del negocio de las entidades, por esta razón siempre será muy difícil poder hacer
una imagen del sitio para poder analizarla, ya que para poder obtener la imagen
se debería tener el sitio inactivo por un periodo de tiempo, y lograr esto es casi im-
posible, por esto se presenta una gran dificultad para poder capturar información
volátil como procesos, conexiones de puertos, registros de usuarios, volcados de
memoria.

• Como las aplicaciones web por su naturaleza deben interactuar con varios servi-

Informática forense III - eje 1 conceptualicemos 8


cios y servidores, los investigadores deben tener el conocimiento y la capacidad
para poder recolectar y correlacionar los diferentes registros que se pueden gene-
rar por las actividades realizadas por los atacantes.

• La cantidad de información que puede llegar a manejar una base de datos por
medio de las aplicaciones web es altísima, y la cantidad de registros que se gene-
ran puede ser inmanejable esto dificulta el proceso de recolección y análisis por
parte del investigador.

• Uno de los retos a los que se enfrentan los investigadores es el poder recopilar
las huellas digitales que hayan dejado los atacantes, por eso se vuelve necesario
poder capturar de cada una de las consultas http realizadas a la aplicación web
durante el periodo en el que ocurrió el ataque la siguiente información:

-  Fecha y hora de la solicitud.


-  Dirección fuente de la solicitud.
-  Determinar si se usó un método GET o POST. GET
Este método envía las variables dentro de la
-  Determinar el tipo de consulta HTTP. propia URL (dirección) de la página

-  Determinar la URI. POST


Este método sólo se puede usar con formularios,
-  El encabezado completo de la petición HTTP. y la información no se envía por la URL, sino que
es invisible al usuario
-  El cuerpo completo de la solicitud HTTP.
URI
-  Listas de archivos (si los hubiera), con su Es una cadena de caracteres que identifica
marca de tiempo. los recursos de una red de forma unívoca.1​La
diferencia respecto a un localizador de recursos
-  Registros de eventos. uniforme (URL) es que estos últimos hacen refe-
rencia a recursos que, de forma general, pueden
variar en el tiempo.
-  Las aplicaciones web por lo general se confi-
guran para que no muestren ni el encabeza- Sospechoso
Que da motivos para creer que ha cometido una
do ni el cuerpo de las solicitudes HTTP, lo que acción delictiva
origina que los encabezados se vean iguales
haciendo muy difícil determinar si las solici-
tudes son válidas o sospechosas.

Indicadores de ataques web

Siempre que se produce un ataque a las aplicaciones web, se pueden llegar a eviden-
ciar diferentes indicadores que pueden dar pistas de que algo puede estar ocurriendo a
continuación, se mencionan algunos ejemplos de los indicadores de ataque más comunes:

• Cuando se produce un ataque de denegación de servicio (DoS) dirigido a una apli-


cación web, causará que los usuarios de la aplicación web no puedan ingresar a los

Informática forense III - eje 1 conceptualicemos 9


servicios que ofrece la aplicación, los usuarios reportan
que la aplicación no se encuentra disponible.

• Otro indicador de compromiso de una aplicación web,


es cuando el usuario ingresa al navegador web y al digi-
tar la URL, está lo redirige a otra aplicación que no es la
que debería cargar.

• Otro indicador de compromiso ocasionado por ataques


a una aplicación web, es cuando se comienza a eviden-
ciar reinicios no programados del servidor, o lentitud en
los servicios de red.

• La creación de usuarios nuevos en los servidores, el cam-


bio repentino de contraseñas, también son indicadores
de posibles ataques a las aplicaciones web.

• Cuando se revisan las configuraciones del servidor y de


las aplicaciones web y se evidencian cambios en ellas,
que no han sido programados por los desarrolladores o
personal de TI.

TI
Infraestructura tecnológica.

• Cuando se detectan grandes transferencias de informa-


ción con IP de destino no identificadas y fuera de los ran-
gos manejados por el personal de TI.

• Cambios en los registros de eventos.

• Cuando el usuario trata de ingresar a la aplicación y el


navegador devuelve el error y anexa el número 500.

Tipos de amenazas dirigidas a las aplicaciones web

Las aplicaciones web, por su naturaleza pueden presentar


diferentes tipos de vulnerabilidades teniendo esto en cuenta
que los delincuentes por lo general siempre tratan de aprove-
charlas, para lograr este fin han diseñado una gran variedad de
ataques, en la siguiente imagen podemos ver los más usados
en la actualidad.

Informática forense III - eje 1 conceptualicemos 10


Directorios transversales Cuentas rotas

Inyección SQL Entradas no válidas

Buffer overflow Cookies de registro

Envenenamiento de cookies Accesos rotos

Almacenamiento inseguro Fallos de inyección

Fuga de información SSL/TLS


Manejo inadecuado
Exploits de plataforma
de errores
Secuestro de Referencias
autenticaciones directas a sitios
no seguros
Manipulación de Protección insuficiente
formularios en la capa de
transporte
Scripting entre sitios Ataques CAPTCHA

Denegación de
URL no restringida
servicios

Almacenamiento
Ataque de encriptado
acceso de red inseguro

Ataque a Ofuscación
servicios web
Falsificación de Ataques a DMZ
solicitudes
Exploit en
Manipulación oculta administración
de seguridad
Figura 3. Tipos de ataques dirigidos a aplicaciones web
Fuente: propia

Como podemos ver en la gráfica anterior, existen muchos tipos de ataques dirigidos
a aplicaciones web, a continuación, vamos a explicar los más conocidos.

• Desbordamiento de Buffer (Buffer overflow): este tipo de vulnerabilidad se pro-


duce cuando se logra desbordar el tamaño máximo de búfer, ocasionando que se
sobrescriben las ubicaciones de memoria siguientes, esto se produce por fallas en
la programación de las aplicaciones web.

Informática forense III - eje 1 conceptualicemos 11


Lectura complementaria

Para entender un poco más el funcionamiento de este tipo de ataques les reco-
miendo realizar la siguiente lectura, esta se encuentra disponible en la parte principal
del eje.

Uno de los clásicos: buffer overflow

Erika Gladys De León Guerrero y Inés Gervacio Gervacio

Instrucción

Ahora es importante realizar el control de lectura propuesto para este


eje, el cual podrán encontrara en la parte principal.

• Envenenamiento de Cookies (Cookie Poisoning): este tipo de ataque consiste


en: primero intentar robar las cookies de un usuario, para luego modificarlas y así
lograr saltar la seguridad del sistema, para poder obtener información no autori-
zada, la información que se puede obtener con este tipo de ataque es:

-  Robo de identidad.
-  Obtener información no autorizada.
-  Modificar algunos datos.
-  Robar sesiones.

Video

Para aclarar el funcionamiento de este tipo de ataques los invito a ver el video:

Cookie Poisoning Demonstration

https://youtu.be/24SghQhqJ_E

Informática forense III - eje 1 conceptualicemos 12


• Almacenamientos Inseguros: las aplicaciones web siempre estarán ligadas a un
sistema de almacenamiento ya sea una base de datos o en sistemas de archivos
configurados para que la aplicación guarde la información. La información que
puede almacenar una aplicación puede ser registros de cuentas, números de tar-
jetas de crédito, contraseñas y demás información que se considere confidencial
para la compañía, este tipo de información puede estar en peligro si al momento
de configurar los almacenamientos no se tienen en cuenta las medidas de segu-
ridad necesarias y no se aplican técnicas de cifrado. El tener un almacenamiento
inseguro les permitirá a los delincuentes poder acceder a las aplicaciones como
usuarios legítimos.

• Fuga de Información: este tipo de ataque ocurre cuando una aplicación web
deja ver información confidencial a usuarios no autorizados, esto se debe a que
la aplicación no cuenta con filtros de contenidos que protejan este tipo de datos.

• Secuestro de Autenticaciones: este tipo de ataques se da cuando el proceso de


administración de cuentas en el sistema y las aplicaciones no se tiene bien defini-
do, las principales configuraciones que pueden provocar este tipo de ataques son:

-  Permitir la actualización de cuenta sin supervisión.

-  Activar la recuperación de contraseña olvidada sin tener en cuenta las medidas


de seguridad mínimas.

-  Mala configuración en el proceso de restablecimiento de contraseña.

• Directorio transversal: este tipo de ataque se da cuando el atacante logra acce-


der a directorios que no están permitidos, usando la combinación de puntos y ba-
rras (../../../../), esto se debe a una mala configuración de la aplicación y permisos
mal diseñados dentro del sistema operativo. Con este tipo de ataque puede lograr
ver archivos y directorios almacenados en los sistemas de archivos.

• Inyección SQL (SQL Injection): este tipo de ataque se da cuando el atacante


ingresa comando SQL en los campos de los formularios donde se tiene que ingre-
sar parámetros, por lo general cuando una aplicación pide ingreso de usuario y
contraseña para autenticarse, si el código de consulta está mal configurado y ad-
mite inyección de SQL el atacante estará en la capacidad de manipular los datos.
Algunos ejemplos de inyección de SQL son:

username = 1 'o' 1 '=' 1


Passwd= 1 'o' 1 '=' 1

Una de las formas más sencillas de probar si la aplicación web es vulnerable a


este tipo de ataque es digitando una comilla simple o punto y como (;), si al darle
enter la página devuelve un error, se dará por entendido que es vulnerable a SQL
inyección.

Informática forense III - eje 1 conceptualicemos 13


Lectura complementaria

Para profundizar un poco más en este tipo de ataque los invito a realizar la siguiente
lectura, esta se encuentra disponible en la parte principal del eje.

Testing for SQL Injection (OTG-INPVAL-005)

Open Web Application Security Project

• Manipulación de Formularios: este tipo de ataques se da cuando el atacante


logra capturar cookies ocultas dentro de las aplicaciones web que contienen los
datos de comunicación entre el cliente y el servidor, la técnica más utilizada para
llevar a cabo este tipo de ataque es el hombre en el medio.

• Denegación de Servicio (DoS): este tipo de ataque tiene como objetivo dejar
inaccesible los servicios que pueda prestar una aplicación web, pero en este caso
los atacantes pueden atacar la aplicación o el servidor o servidores donde se en-
cuentre alojada la aplicación hasta lograr dejarla por fuera de operación el mayor
tiempo posible, lo que al final se podría traducir en pérdidas económicas muy
altas.

Para complementar el concepto de Denegación de servicio les recomendamos realizar


la siguiente lectura, esta se encuentra disponible en la parte principal del eje.

Internet YA

¿Qué es un ataque de denegación de servicios DDoS?

Cómo investigar un Ataque Web

La investigación de un ataque a una aplicación web, debe tener una metodología la


cual le da la certeza al investigador de que el proceso y la investigación se está realizando
conforme a las mejores prácticas, en la siguiente gráfica podemos ver los pasos que se
deben seguir para investigar un ataque a una aplicación web:

Informática forense III - eje 1 conceptualicemos 14


Figura 4. Metodología para investigar un ataque de aplicaciones web
Fuente: propia

1. Confirmación de que hubo un ataque: este paso se debe determinar el tipo de


ataque que aplicaron los atacantes como por ejemplo una denegación de servi-
cios o si por el contrario fue un ataque dirigido usando APT, si anularon los servicios
de red y qué sistemas de seguridad se saltaron, por último, se debe hacer una re-
visión de la información de la página y los registros de eventos.

2. Captura de datos volátiles: como regla general en todos los procesos de inves-
tigación forense realizar la recolección de la información volátil es supremamente
importante, por que como ya hemos dicho esta información se puede perder en
cualquier momento y puede ser muy perjudicial para la investigación.

3. Tomar imágenes: en este paso el investigador sacará una imagen del sistema
operativo para poder analizarla más adelante, en este paso se debe tener en
cuenta los hashes, para poder comprobar que la imagen no sufra alteraciones.
Es importante dejar claro que si se está trabajando con sistemas virtualizados se
le hace una copia a la máquina virtual y si es un servidor físico se deberá apagar,
pero en cualquiera de los entornos, primero se deben mover los servicios que esté
prestando la aplicación a servidores de backup, siempre se debe garantizar que el
core del negocio nunca se vea afectado.

Virtualización
Es la creación a través de software de una versión virtual de algún recur-
so tecnológico, como puede ser una plataforma de hardware, un sistema
operativo, un dispositivo de almacenamiento u otros recursos de red.

Informática forense III - eje 1 conceptualicemos 15


Instrucción

En este punto los invito a realizar la actividad práctica que se encuen-


tra en la parte principal del eje.

4. Montar imagen para analizarla: en este paso se procede a montar la imagen


obtenida en el paso anterior en una infraestructura controlada para iniciar el pro-
ceso de análisis forense.

5. Comprender el flujo de datos de la aplicación: en este paso el investigador


deberá estudiar todos los manuales de las aplicaciones (administrador, usuario fi-
nal), para lograr entender como es el flujo de los datos cuando su funcionamiento
es normal.

6. Analizar los registros de eventos: en este paso el investigador se debe centrar en


revisar los registros de archivos de los servidores web, aplicaciones, bases de datos.

7. Verificar los archivos de configuración del servidor y aplicaciones: en este


paso los investigadores buscan los registros de eventos para poder identificar
usuarios nuevos, cambios de contraseña, conexiones nuevas, etc.

8. Identificar comportamientos fuera de lo normal: en este paso el investigador


comienza a identificar comportamientos que normalmente no se presentan como
por ejemplo cambios de valores de cookies a mitad de sesión, acceso a la aplica-
ción con errores.

9. Analizar registros de eventos en el firewall y otros sistemas de seguridad: si el


cliente cuenta con un firewall o algún otro sistema de seguridad como por ejemplo
IDS , IPS, se deben revisar los eventos para determinar si detectó comportamientos
fuera de lo normal.

IDS
Sistemas de detección de intrusos.
IPS
Sistema de prevención de intrusos.

10. Bloquear el ataque: después de poder determinar cómo ingresó el atacante al


sistema, se debe proceder a cerrar el puerto y bloquear las IP utilizadas, esto para
evitar que puedan seguir haciendo daño a la infraestructura atacada.

Informática forense III - eje 1 conceptualicemos 16


11. Analizando el ataque: este paso tiene como fin
poder identificar el atacante, es un proceso muy Proxy
complicado y casi siempre no se puede cumplir Es un servidor (programa o dispositivo), que
hace de intermediario en las peticiones de recur-
el objetivo, ya que los atacantes utilizan proxys, sos que realiza un cliente (A) a otro servidor (C).
anonimizadores, o equipos de víctimas para po-
der ocultar su identidad.

12. Realizar el reporte: se debe documentar todo el proceso de una forma muy de-
tallada dejando claro herramientas utilizadas, comandos aplicados, hash de las
imágenes obtenidas y las pruebas conseguidas.

Investigación de ataques web basados en servidores Windows

El sistema operativo Windows es el más usado en el mundo, estadísticas obtenidas de


la página netmarketshare el día 18 de septiembre, nos muestran que el sistema ope-
rativo Windows tiene el 87.36 % del mercado. Esta gran acogida hace que los diferentes
desarrolladores de aplicaciones web prefieran esta plataforma para alojar sus aplicacio-
nes, pero el inconveniente es que, así como Windows es el sistema más usado también
es el sistema más atacado.

Los delincuentes informáticos siempre tienen como objetivo atacar estas plataformas
por la gran cantidad de exploit que existen actualmente para poder explotar las diferentes
vulnerabilidades que ofrece Windows.

A continuación, vamos a ver los principales comandos usados para poder identificar
si se está presentando algún tipo de ataque en una aplicación web que se encuentre
alojada en un servidor Windows.

• Lo primero que debería hacer un analista forense es revisar el visor de eventos.

El comando a usar sería eventvwr.msc

Aquí se debe buscar eventos sospechosos como:

-  Revisar si servicios como telnet que vienen por defecto deshabilitados en estos
sistemas, por ser servicios muy inseguros se encuentra habilitado.
-  Determinar si la protección de los archivos de Windows está deshabilitada o in-
activa.
-  Si por alguna razón el visor de eventos no nos despliega.
-  Revisar si algún inicio de sesión presenta fallas o sesiones caídas.

Informática forense III - eje 1 conceptualicemos 17


• Después de revisar el registro de eventos se debe proceder a revisar los recursos
que tenga compartido el servidor.

El comando a usar es: net view + ip del servidor

En la siguiente imagen podemos ver un ejemplo de la información que nos puede


brindar este comando:

Figura 5. Resultado comando net view


Fuente: propia

• El paso a seguir es ver que conexiones se encuentran abiertas

El comando a usar es: net sesión

En la siguiente imagen podemos ver la información que se puede obtener con este
comando.

• Después se deben verificar las sesiones que se hayan abierto con otros sistemas.

El comando a usar es: net use.

• Después se debe revisar las actividades de los protocolos TCP y UDP desde Net-
BIOS.

El comando a usar es: nbtstat -S.

La información de salida sería algo similar a la siguiente imagen:

• Después se debe analizar los puertos TCP/UDP que esté escuchando para estable-
cer algún tipo de conexión.

El comando a usar es: netstat -na

Un ejemplo de la información que podemos obtener la vemos en la siguiente imagen.

Informática forense III - eje 1 conceptualicemos 18


• Después el investigador debe buscar si el atacante dejó alguna tarea programada.

El comando a usar es: Schtasks.exe

La información de salida sería algo similar a la siguiente imagen:

• Después se debe buscar la creación de cuentas nuevas en el sistema.

El comando a usar es: lusrmgr.msc.

• Después se debe verificar si se está ejecutando algún proceso con apariencia sos-
pechosa en el sistema.

El comando a usar es: taskmgr

Después el analista debe buscar algún servicio de red que esté corriendo y parezca
inusual.

El comando a usar es: net start

La información de salida sería algo similar a la siguiente imagen:

• Por último, el investigador debe verificar si algún archivo está llenando los discos.

El comando a usar es: dir

La información de salida sería algo similar a la siguiente imagen:

Instrucción

Para complementar el tema los invito a revisar la animación que se encuen-


tra en la parte principal del módulo.

Investigación de ataques Cross-Site


Scripting JavaScript
Es un lenguaje de programación que se utiliza principalmente para
crear páginas web dinámicas. Una página web dinámica es aquella que
Los ataques Cross Site Scripting o tam- incorpora efectos como texto que aparece y desaparece, animaciones,
bién conocidos como XSS, aprovechan las acciones que se activan al pulsar botones y ventanas con mensajes de
aviso al usuario.
vulnerabilidades web, insertando códigos
maliciosos, mediante lenguajes de pro- HTML
Es un lenguaje de marcado que se utiliza para el desarrollo de páginas
gramación como JavaScript, HTML o de Internet. Se trata de la sigla que corresponde a HyperText Markup
Language, es decir, Lenguaje de Marcas de Hipertexto, que podría ser
CSS, estos scripts marcan las páginas traducido como Lenguaje de Formato de Documentos para Hipertexto.
web que se le muestran al usuario y se
activan cuando el usuario hace clic sobre CSS
el enlace malicioso. Son las siglas de Cascading Style Sheets - Hojas de Estilo en Cascada
- que es un lenguaje que describe la presentación de los documentos es-
tructurados en hojas de estilo para diferentes métodos de interpretación.

Informática forense III - eje 1 conceptualicemos 19


Actualmente las diferentes herramientas de seguridad que se pueden implementar
han hecho que este tipo de ataques sean más difíciles de ejecutarse, pero para evitar los
sistemas de seguridad los atacantes utilizan diferentes técnicas de ofuscación las cuales
les ayudan a evitar ser detectados por estos sistemas. A continuación, mencionaremos
las técnicas más usadas y las cuales como investigadores debemos conocer y tener muy
presentes.

• Codificación Hexadecimal: esta técnica tiene como objetivo usar el valor hexade-
cimal para reemplazar los caracteres los cuales pueden detectar los sistemas de
seguridad para verlo de una forma más clara veamos el siguiente ejemplo:

<script>alert(“XSS”) </script> Este sería el código original,

%3script%3alert(“XSS”) %3C%2script%3 Este sería el código ofuscado.

• Comentario de Línea: en esta técnica los atacantes hacen uso de comentarios de


línea en medio de las cadenas de caracteres, para evitar que los sistemas de segu-
ridad puedan encontrar coincidencias con script maliciosos.

Script
Es un documento que contiene instrucciones, escritas en códigos de progra-
mación. El script es un lenguaje de programación que ejecuta diversas funcio-
nes en el interior de un programa de computador

A continuación, un ejemplo de esta forma de ofuscación:

http://www.ejemplo.com/accounts.php?id=/*!union*/+/+!select*/+1,2,con-
cat(/*!table_name*/)+FrOm/*!information_schema*/.tables/*!WhErE*/+/*!Ta-
BlE_schEMa*/+like+database()--

• Codificación de caracteres: esta técnica también es conocida como codificación


doble, y consiste en codificar dos veces, en otras palabras, es hacer lo que se hizo
en la técnica conocida como codificación hexadecimal pero dos veces, esto lo ha-
cen los atacantes para evitar que los sistemas de seguridad a nivel de aplicación
web conocidos como WAF, que son capaces de descodificar las entradas y detec-
tar el código malicioso.

WAF
Firewall de aplicaciones Web.

Informática forense III - eje 1 conceptualicemos 20


A continuación, un ejemplo de esta técnica:

http://www.ejemplo.com/accounts.php?id1%252f%252a*/union%252f%252a/
select%252f%252a* /1,2,3%252f%252a*/from%252f%252a*/ user—

• Alternar minúsculas y mayúsculas: esta es otra técnica utilizada para saltar los
sistemas de seguridad que estén en la capacidad de bloquear códigos escritos
en mayúsculas o en Minúsculas como por ejemplo la palabra SQL, que ciertos
sistemas de seguridad bloquean cuando está escrita en minúscula, además estas
herramientas traen filtros como Regex, Union/select que dificultan que los script
maliciosos se ejecuten, para evitar esto los atacantes alterna las palabras claves
con mayúsculas y minúsculas cambiando los patrones que espera encontrar estos
sistemas de seguridad.

A continuación, un ejemplo de esta técnica:

http://www.ejemplo.com/accounts.php?id=1+UnIoN/**/SelecT/**/1,2,3--

Instrucción

Para profundizar en el tema los invitamos a ver el caso modelo propuesto


en la parte principal del eje.

Investigación de ataques SQL Inyección

Los ataques de inyección SQL son muy antiguos y al día de hoy siguen siendo muy
usados, aunque hoy en día podemos disponer de una gran cantidad de herramientas y
técnicas para evitarlos o hacer cada vez más difícil que tengan éxito.

Pero todavía se presentan y como investigadores debemos estar en la capacidad de


saber actuar cuando nos enfrentamos a este tipo de ataques, para poder detectar los
ataques de inyección de SQL debemos buscar en tres lugares específicos que se describen
a continuación:

• Registros de IDS: los sistemas de detección de intrusos nos permitirán detectar


cualquier ingreso no autorizado al sistema que haya sido exitoso. Además, brindan
información para detectar patrones de ataques conocidos y es una pieza funda-
mental para poder encontrar los agujeros de seguridad que pueda llegar a tener
la aplicación o la base de datos.

Informática forense III - eje 1 conceptualicemos 21


• Archivos de registro de servidores de base de datos: en estos archivos los investiga-
dores pueden encontrar almacenados todos los mensajes que se hayan creado en
la base de datos acerca de los diferentes comandos utilizados además de habilitar
la aceptación de errores para que llegado el caso se tenga que restaurar la base
de datos.

• Archivos de registro del servidor Web: este tipo de registro le ayuda a los investiga-
dores a comprender el comportamiento de las páginas y las aplicaciones web, se
puede determinar los links a los que redirecciona y verificar si son los links válidos o
han sido alterados, por otra parte se puede ver quienes han iniciado sesión, cuan-
do el tiempo que duró activa la conexión.

En la siguiente imagen podemos ver un ejemplo un ataque de SQL y como queda


capturado en el log.

La siguiente expresión regular: /(\%27)|(\`)|(\-\-)|(\%23)|(#)/ix es usada para veri-


ficar si está ocurriendo un ataque y si contiene metacaracteres específicos SQL.

Metacaracter
Se denomina metacarácter al carácter que tiene un significado especial en el
programa informático en el que se use. A diferencia del resto de los caracte-
res, no tiene un significado literal.

Investigación de ataques de inyección de código

Para investigar ataques de inyección de código se recomienda seguir los siguientes


pasos:

• Utilizar los sandbox que brindan los sistemas operativos y los diferentes sistemas
de detección de intrusos para analizar códigos sospechosos.
• Hay que revisar el comportamiento de IDS, porque cuando encuentra ejecutables
sospechosos en el tráfico de red, este transfiere la carga útil del paquete sospecho-
so a entornos de ejecución donde coincidan con el destino del paquete.
• El entorno adecuado se elige teniendo en cuenta la dirección IP del destino del
paquete.
• La carga útil es analizada dentro del entorno controlado para luego presentar un
informe detallado de lo encontrado en el análisis realizado.
• Si el informe contiene evidencia de compromiso del sistema operativo se debe
alertar a los usuarios y al administrador del sistema.

Informática forense III - eje 1 conceptualicemos 22


Herramientas más usadas

A continuación, veremos algunas de las herramientas más utilizadas para analizar los
diferentes tipos de log, cuando nos enfrentamos a ataques web:

Para revisión de logs:

• Apache Logs Viewer


• AWStats
• Nagios Log server
• Splunk
• Active LogView
• Webalizer
• Deep log Analyzer
• Weblog Expert

Para localización:

• Smart whois
• ActiveWhois
• Whois
• CallerIP
• Sobolsoft
• lanWhois
• Whois Analyzer Pro
• UltraTools
• Whois Online
• Domain Dossier

Estas son algunas de las herramientas que se pueden encontrar en el mercado, algunas
son de uso libre y otras se deben adquirir con licencia, como investigadores debemos
conocer y manejarlas, por lo que cada una de ellas trae diferentes opciones que nos
ayudan a complementar cada vez más la información que vamos recopilando.

Informática forense III - eje 1 conceptualicemos 23


Instrucción

Para extender las diferentes opciones que brindan las diferentes herramien-
tas los invitamos a revisar la galería que se encuentra en la parte principal
del eje.

En este eje realizamos un análisis de los principales ataques dirigidos a aplicaciones


web, se vieron algunas metodologías, aplicables a diferentes sistemas operativos y servi-
cios, los invito a realizar las lecturas complementarias y a desarrollar todas las actividades
de aprendizaje que se encuentran en el transcurso del eje.

Informática forense III - eje 1 conceptualicemos 24


Bibliografía

Alvárez, G. y Petrovíc, S. (2003). A new taxonomy of web attacks suitable for efficient
encoding. Recuperado de https://lists.oasis-open.org/archives/was/200308/
pdf00000.pdf

Belani, R. (2004). Basic Web Session Impersonation. Recuperado de https://www.


symantec.com/connect/articles/basic-web-session-impersonation

Davalos, L. (2019). Top 10 Web Security Vulnerabilities to Watch Out for in 2019.
Recuperado de https://cai.tools.sap/blog/top-10-web-security-vulnerabilities-
to-watch-out-for-in-2019/,

DragonJAR. (s.f.). Ataque de envenenamiento de cookies (Cookie-Poisoning).


Recuperado de
BIBLIOGRAFÍA

Esaú, A. (2015). Top 10 de Ataques DDoS (Denial of Service o Denegación de


Servicios). Recuperado de https://openwebinars.net/blog/top-10-de-ataques-
dos-denial-of-service-o-denegacion-de-servicios/

Mookhey, K. y Burghate, N. (2004). Detection of SQL Injection and Cross-site


Scripting Attacks. Recuperado de https://www.symantec.com/connect /
articles/detection-sql-injection-and-cross-site-scripting-attacks

Open Web Application Security Project. (2018). Cross-Site Request Forgery.


Recuperado dehttps://www.owasp.org/index.php/Cross-Site_Request_Forgery_
(CSRF)

Shah, S. (2002). Top ten web attacks. Recuperado de https://www.blackhat.com/


presentations/bh-asia-02/bh-asia-02-shah.pdf

Symantec. (2009). Investigating web attacks. Recuperado de https://www.


symantec.com/content /dam/symantec/docs /security-center/white-papers /
web-based-attacks-09-en.pdf

También podría gustarte