BeEF es un potente framework de explotación de navegadores. Esta escrito en ruby y esta en su versión 0.4.3. Gracias a el se pueden aprovechar mucho mejor los xss que se encuentren en sitios webs además de muchas otras funcionalidades que esta potente herramienta tiene (admito que además es divertida). Entre las cosas que podemos hacer:
- Robar cookies de sesión
- Redirigir a otra web
- Mandar mensajes
- TabNabbing
- Usar el otro navegador como proxy web
- Detectar uso aplicaciones
- DNS Tunnel
- Hackear algunos routers
- Enviar request
- Lanzar exploits incluso via metasploit
- Largo etc…
Instalación
Se descarga y descomprime de la web oficial.Necesita Ruby 1.9 o superior, además me pidió múltiples librerías, y me costo un poco que me funciona, pero en el README salen que estas son las necesarias.
Ya podemos ejecutar BeEF.
Si hay algún problema al ejecutarlo revisen el archivo README dentro de BeEF para más información.
Uso
Se demora un poco en iniciar, cuando lo haga nos dará 4 urls.BeEF inicia un sencillo servidor web que contiene el panel de administración y hook.js. Hook.js es un archivo javascript para la conexión entre el atacante y el atacado. La idea es que mediante un ataque de tipo XSS (o de alguna manera) inyectar este archivo javascript en alguna web y que actué como puente entre el atacante y el navegador objetivo pudiendo ejecutar javascript a distancia. BeEF nos da nuestro localhost y nuestra IP del adaptador de red. La segunda dirección (UI URL) es la del panel de administración para controlar al navegador atacado. Ingresamos a http://127.0.0.1:3000/ui/panel con el usuario y contraseña beef/beef.
Usaremos chromium como navegador víctima viendo un simple archivo HTML que incluye hook.js.
En la barra lateral podemos ver los navegadores conectados y cuando se desconecten se guardaran en offline browsers. Al apretarlos podemos ver información como el sistema operativo, versión navegador, cabeceras, etc. Dependiendo del navegador hay más información que mostrar.
Ahora nos vamos a Commands donde existen varios comandos y cosas que podemos hacerle al navegador objetivo, están clasificados por categoría y van desde un ataque rickroll a conectar el navegador a metasploit y hacer un auto_pwn (hay que conectar metasploit a BeEF, lo dejaremos para otro post). Cada comando tiene un circulo de color según la posibilidad de que funcione y su invisibilidad.
Vamos a mandarle un clásico “alert” por lo que elegimos Browser → Create Alert Dialog, ingresamos el texto y ejecutamos el comando.
Rápidamente el navegador víctima recibe el mensaje de alerta.
BeEF soporta plugins y las posibilidades de ataque con esta herramientas son muchas, es muy potente y tiene muchas funcionalidades. Tiene cargado un par de exploits incluso para iphone. Tiene funcionalidades muy interesantes tales como:
- Tunneling Proxy: Se puede usar el navegador víctima como proxy web.
- XssRays: El atacante puede ver si la web donde se “hookeo” al navegador víctima es vulnerable a xss (?)
- Rider: Sirve para mandar http request arbitrarias desde el navegador víctima.
- Conexión con metasploit: posibilidad de lanzar exploits de metasploit gracias a BeEF.