Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Miguel Quintero
EJE 1
Conceptualicemos
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 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
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 Negocio
• Portátiles.
• Equipos de escritorio
• Smartphone.
• Tables.
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.
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
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-
• 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:
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:
TI
Infraestructura tecnológica.
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.
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.
Instrucción
- 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:
https://youtu.be/24SghQhqJ_E
• 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.
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.
• 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.
Internet YA
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.
IDS
Sistemas de detección de intrusos.
IPS
Sistema de prevención de intrusos.
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.
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.
- 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.
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.
• Después se debe revisar las actividades de los protocolos TCP y UDP desde Net-
BIOS.
• Después se debe analizar los puertos TCP/UDP que esté escuchando para estable-
cer algún tipo de conexión.
• Después se debe verificar si se está ejecutando algún proceso con apariencia sos-
pechosa en el sistema.
Después el analista debe buscar algún servicio de red que esté corriendo y parezca
inusual.
• Por último, el investigador debe verificar si algún archivo está llenando los discos.
Instrucción
• 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
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
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()--
WAF
Firewall de aplicaciones Web.
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.
http://www.ejemplo.com/accounts.php?id=1+UnIoN/**/SelecT/**/1,2,3--
Instrucció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.
• 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.
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.
• 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.
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 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.
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.
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
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/,