¿Qué es BeEF?
La BeEF es la abreviatura de The Browser Exploitation Framework. Es una herramienta de pruebas de penetración que se centra en el navegador web.
En medio de la creciente preocupación por los ataques procedentes de Internet en contra de los clientes, incluyendo clientes móviles, BeEF permite la prueba de intrusión profesional para evaluar la situación de seguridad actual de un entorno de destino mediante el uso de vectores de ataque del lado del cliente. A diferencia de otros entornos de seguridad, BeEF mira más allá del perímetro de la red endurecido y sistema cliente, y examina explotabilidad en el marco de la puerta abierta: el navegador web.
BeEF enganchará (hook) uno o más de los navegadores web y los utilizan como cabezas de playa para el lanzamiento de los módulos de comando dirigidas y nuevos ataques contra el sistema desde dentro del contexto del explorador.
Introducción
The Browser Exploitation Framework (BeEF ) es una poderosa herramienta de seguridad profesional. La BeEF es técnicas pioneras que proporcionan la prueba de intrusión con experiencia con los vectores de ataque del lado del cliente prácticos. A diferencia de otros marcos de seguridad , BeEF se centra en el aprovechamiento de las vulnerabilidades del navegador para evaluar la postura de seguridad de un objetivo. Este proyecto es desarrollado exclusivamente para la investigación legal y pruebas de penetración .BeEF engancha uno o más navegadores web como cabezas de playa para la puesta en marcha de los módulos de mando dirigidos . Cada navegador es probable que sea en un contexto de seguridad diferente , y cada contexto puede proporcionar un conjunto de vectores de ataque únicos. El marco permite que el probador de la penetración para seleccionar los módulos específicos ( en tiempo real ) para apuntar cada navegador , y por lo tanto cada contexto.
El marco contiene numerosos módulos de comando que emplean API sencilla y potente de la BeEF. Esta API está en el corazón de la eficacia y eficiencia de la estructura. Se abstrae la complejidad y facilita el desarrollo rápido de los módulos personalizados.
Requerimientos
- OSX 10.5.0 o superior, Linux moderno, o bien Windows XP o superior
- Ruby 1.9.2 o superior
- SQLite 3.x
- The gems listed in the Gemfile: https://github.com/beefproject/beef/blob/master/Gemfile
Instalación
En Kali linux ya tenemos instalado por defecto a BeEF su localizacion es en /usr/share/beef-xss o tambien en “Kali Linux>herramiental de explotacion>plataforma XSS BeEF”
cd /usr/share/beef-xss
./beef
Para los impacientes:
Dependencias$ curl -L https://raw.githubusercontent.com/beefproject/beef/a6a7536e/install-beef | bash -s stable
- curl
- git
- gems
- Ruby
git clone git://github.com/beefproject/beef.git
cd beef
bundle install
ruby beef
Configuración
El fichero de configuración general se llama:
Aquí podemos establecer o restringir el acceso vía red al panel de control:
restrictions: permitted_hooking_subnet: "10.1.0.0/16" permitted_ui_subnet: "127.0.0.1/32"
Configurar el Servidor web:
http: debug: false # Will print verbose message in BeEF console host: "0.0.0.0" # IP address of the web server port: "3000" #Port of the web server # If BeEF is running behind a reverse proxy or NAT # set the public hostname and port here public: "8.7.6.5" public_port: "3000" dns: "localhost" # Address of DNS server web_ui_basepath: "/ui" # Path for admin UI hook_file: "/hook.js" # Path for hooking script hook_session_name: "BEEFHOOK" #Name of session session_cookie_name: "BEEFSESSION" # Name of BeEF cookie
Las extensiones:
extension: requester: enable: true proxy: enable: true metasploit: enable: false social_engineering: enable: true evasion: enable: false console: shell: enable: false
La integración con Metasploit:
name: 'Metasploit' enable: true host: "127.0.0.1" port: 55552 user: "msf" pass: "abc123" uri: '/api' ssl: true ssl_version: 'TLS1' ssl_verify: true callback_host: "127.0.0.1" autopwn_url: "autopwn"
Módulos de Metasploit
Podemos usar Browser Autopwn creando un iframe invisble:
msf > use auxiliary/server/browser_autopwn2 msf auxiliary(browser_autopwn2) > show options Module options (auxiliary/server/browser_autopwn2): Name Current Setting Required Description ---- --------------- -------- ----------- EXCLUDE_PATTERN no Pattern search to exclude specific modules INCLUDE_PATTERN no Pattern search to include specific modules Retries true no Allow the browser to retry the module SRVHOST 0.0.0.0 yes The local host to listen on. This must be an address on the local machine or 0.0.0.0 SRVPORT 8080 yes The local port to listen on. SSL false no Negotiate SSL for incoming connections SSLCert no Path to a custom SSL certificate (default is randomly generated) URIPATH no The URI to use for this exploit (default is random) Auxiliary action: Name Description ---- ----------- WebServer Start a bunch of modules and direct clients to appropriate exploits
Y esperamos para obtener una shell:
Iniciando BeFF
Accedemos al panel de control vía:- Usuario --> beef
- Contraseña --> beef
Página inicial:
Página de Demos:
Módulos
El significado del color de los módulos:- - Verde: La víctima es vulnerable y su ejecución pasa desapercibida.
- - Naranja: La víctima es vulnerable pero su ejecución no pasa desapercibida.
- - Gris: Indeterminado. ¡Hemos venido a jugar!
- - Rojo: La víctima no es vulnerable.
Ejemplos de Ingeniería Social
Preguntar por credenciales:- The Pretty Theft imprime un sencillo mensaje al usuario que requiere de un usuario y contraseña explicando que la sesión ha terminado o caducado
- The Simple Hijacker propone varias plantillas de ingeniería social y los impulsan al usuario cuando se haga clic en un enlace en la página.
- Clippy crea un pequeño asistente navegador que proponen las actualizaciones del navegador.
Ejemplo de session timeout en Facebook:
Extensiones de Chrome/Firefox
Una vez enganchado al navegador (hooked) podemos obtener:- Listado de dominios visitados
- Listado de URLS
- Acceso a la Webcam
- Todas las Cookies
- Capturas de Pantalla (Screenshots)
Ejemplo Falsa Actualización de Adobe Flash Player:
Ejemplo instalación de certficado Falso:













hola amigo quiere agradecerte por el post,
ResponderEliminarahora quiero hacerte una pregunata,se puede sacar las pass almacenada en el browser mediante beef framwork o es inposible sacarlas, gracia por el post y espero vuestra repuesta
baia baia lo hare mañana haver que tal..
ResponderEliminarTodo esto se puede hacer fuera de la red local ? Sin nada más ? O toda esta prueba es solo para la red local?
ResponderEliminarEstoy intentando hacerlo fuera de la red local, ngrok detecta http. Algún otro servidor que me decomisan para importarlo fuera de la red local.
ResponderEliminarSe puede sacar fuera de la red local? Lo he intentado pero lamcosa es que ngrok detecta http, algún otro servidor que me recomienden.
ResponderEliminar