Como explotar la vulnerabilidad en Firefox 3.5

Antes de empezar con este articulo quiero dejar muy en claro que este es un laboratorio informativo, es decir, un laboratorio de prueba de concepto, el que haga esto no es un hacker. La idea de esta entrada no es ejecutar un exploit, es tratar de entender como es su funcionamiento y la forma de implementarlo.

Hace poco se hizo publica  una vulnerabilidad que afecta a Firerfox, el navegador preferido de muchos internautas, en la web se comento mucho al respecto sobre este fallo e incluso se publicaron algunos exploits que nos permiten explotar la vulnerabilidad y ejecutar algun programa o obtener una shell remota, dependiendo del exploit utilizado.

En esta oportunidad, mostrare lo sencillo que es explotar esta vulnerabilidad, para obtener una shell remota de nuestra victima, para que nuestro exploit funciona de forma adecuada se necesitan algunos requisitos:

  • Un victima xD
  • Obviamente que tenga Firefox 3.5
  • Que nuestra victima tenga Windows
  • El exploit alojado en un servidor que soporte Python

Antes de entrar a la practica, es bueno, hacer un repaso teorico de lo que se va a realizar, la metodologia es sencilla,  subimos nuestro exploit deseado a un servidor web. (en este caso  utilizaremos 2 exploits con diferente finalidad, esto para que dejen volar un poco la imaginacion). Despues de que tengamos nuestro codigo listo para ser ejecutado necesitamos que nuestra victima visite la url de nuestro codigo, esto se logra  con un poco de ingenieria social, y por ultimo si todo ha salido bien, y hemos tenido suerte nuestro exploit sera ejecutado de forma correctamente.

Exploit 1

Ahora si, la parte emocionante, en este primer ejemplo usaremos este exploit, el cual tiene como finalidad ejecutar la calculadora en el PC victima, si es algo sin sentido, ya que no ganamos nada haciendo que la PC victima ejecute la calculadora, sin embargo esto es solo un ejemplo, por que si dejamos volar un poco nuestra imaginacion  y en vez de que se ejecute la calc  se ejecute algun malware? ahh!! ahora si es interesante este exploit!!!

Para hacer este articulo monte los exploit en un apache local, asi que desde la pc con Firefox 3.5 visitamos la url del  html que en realidad es nuestro exploit, asi:

Instantaneamente, al tratar de entrar a esta url, nos aparecera el texto del exploit, como son los datos del creador, el nombre de la vulnerabilidad y tambien Firefox nos mostrara una advertencia, si se da click en detener script, el ataque falla, pero si se da caso omiso a las advertencias (como suele ocurrir)  el ataque tendra efecto:

Despues de dar Click en continuar, Firefox se cerrara y como por arte de magia la calculadora se abre xD

Exploit 2

Este codigo es muy mas interesante no ejecuta ningun programa en la maquina victima, nos da algo mejor, una shell de el sistema vulnerable,  el funcionamiento es el mismo, previamente he subido el exploit a un servidor web, pero este servidor debe tener el modulo de python instalado, debido a que este ultimo codigo esta hecho en python, asi que tenemos 2 opciones: la primera es montar el codigo en un hosting gratuito que tenga soporte de python,  y la segunda es montar de forma local un apache e instalarle el modulo de python.

El ataque se inicia  de la misma forma que el anterior, la unica diferencia es que cuando la victima entra a la url de nuestro exploit, Firefox se bloquea, pero por debajo lo que esta haciendo es dejar un puerto a la escucha en este caso es  el 5500, y si hacemos un telnet desde nuestra PC a la ip del pc victima al puerto 5500 obtendriamos la shell. (Obviamente se necesita saber con anterioridad la ip de la victima). Algunos de ustedes estaran pensando. ¿Que ocurre si el firefox en el momento que esta bloqueado se cierra? La respuesta es sencilla, no importa si  el firefox se cierra, ya se habra dejado el puerto a la escucha y se podra conectar a  la pc victima. Una imagen de muestra:

Ahora tendremos nuestra pc victima en nuestra manos, sera posible hacer cualquier cosa, extraer informacion, borrar informacion, instalar algun malware etc etc etc.

Como pueden ver, es algo sencillo explotar este tipo de vulnerabilidades, solo es cuestion de hacer un poco de ingenieria social, y malicia indigena, Por ultimo que hay que decir  si se le hacen algunas modificaciones al exploit (cambiar la shellcode)  este seria tambien explotable en plataformas Unix, claro que seria un poco mas limitado y no se podria hacer mucho, pero seria explotable.

20 Comments