CÓMO CREAR TU PROPIO SHODAN: BRUTE XSS METHOD GET [PARTE XII]

shodita

Este fin de semana ha sido la Sec/Admin 2016 con su tercera edición. He tenido el placer de estar con varios amigos y amigas del ámbito nacional que viven más arriba de Despeñaperros y que han sido ponentes o asistentes del evento. Lo interesante de todo es, que durante el evento ha coincidido con el único fin de semana que daban agua. ¿Por qué será? Las personas del norte se llevaron toda la lluvia a Sevilla…

Cambiando un poco de tema me gustaría comentaros que este año hemos colaborado haciendo un reportaje al igual que hicimos anteriormente en la QurtubaCon 2016. En el vídeo veras como entrevistamos a varios ponentes y asistentes -también a un Cthulhu- sobre:: la opinión que tienen al respecto de la conciencia en seguridad informática en Sevilla, si piensa que los políticos son conscientes, sobre el nivel profesional en el sector en la zona, etc. Podrás verlo en breve en nuestro canal de Youtube.

Bueno hablando de nuevo sobre Shodita, es importante tener claro el concepto del ataque que vamos a llevar acabo en esta entrada. Su nombre es XSS y no es el sonido que realizamos para callar a alguien, eso sería algo así: TSSS

¿Qué es un Cross Site Scripting (XSS)?

Para no perder mucho tiempo en un definición que perfectamente podemos encontrar en Wikipedia os adjunto una imagen de la definición:

xss-wiki

Este tipo de vulnerabilidad puede ser explotada de dos maneras: de forma reflejada y de forma almacenada:

  • Reflejada: consiste en modificar valores que la aplicación web usa para pasar variables entre dos páginas. Un clásico ejemplo de esto es hacer que a través de un buscador se ejecute un mensaje de alerta en JavaScript. Con XSS reflejado, el atacante podría robar las cookies para luego robar la identidad, pero para esto, debe lograr que su víctima ejecute un determinado comando dentro de su dirección web.
  • Almacenada: consiste en insertar código peligroso en sitios que lo permitan; ejecutándose cada vez que un usuario visite la web. Esto sucede normalmente porque la aplicación web almacena el código malicioso en una base de datos y es llamado cada vez que se visita.

La idea inicio tras ver un Tweet sobre el repositorio de shawarkhanethicalhacker Brute XSS. La herramienta me parecio muy interesante porque permite auditar un enlace GET o petición POST a un target web de forma automatizada. Tras conocerla un poco se me ocurrió crear un fork de la aplicación para Shodita. Un bot que se llamará Gigante-xss.py que buscara enlaces en las webs y las auditara de forma automatizada.

En esta entrada solo hablaremos del método GET -para no hacerlo muy extenso- y más adelante publicaré otro sobre el método POST. Las fases que lleva acabo el bot son las siguientes:

  1. Obtiene los targets objetivos almacenados anteriormente por Shizuka-bot.py
  2. Comprueba que el target no ha sido analizado con anterioridad
  3. Busca los enlaces de la web (por mejorar: búsqueda recurrente de todos los enlaces de la web)
  4. Audita los enlaces que dispongan “?” o “=” en el enlace

Digamos que esos son las fases de instrucciones que lleva acabo el bot, estoy dispuesto a escuchar mejoras, es más puedes realizarlas desde el repositorio de Github.

¿Cómo funciona?

Detectar los enlaces potenciales no es muy complejo utilizando condicionales tipo “if “?” in link or “=” in link:“. Para inyectar el código crearemos un diccionario que tendrá un listado de los códigos que inyectaremos. Tal como funciona Brute XSS. Cuando tenemos el target simplemente lanzamos todos los códigos y si se imprime en el HTML de respuesta retornaremos un True.

  • Una mejora puede ser conseguir reducir los falsos positivos que se imprimen con las función en PHP Htmlentities que nos devolvería el código sin ejecutarse.
  • También mejorar el sistema de recogida de enlaces. El bot debe ir navegando por las diferentes webs y poder recoger la mayor cantidad de enlaces.
  • Añadir un sistema de Dorks con Google para facilitar la búsqueda de enlaces potencialmente vulnerables.

Nos vemos en la Hacktahon de la CyberCamp 2016 ! =)

NOVITA-FOOTER

 

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *