jueves, 26 de agosto de 2021

Ataque Arp-Spoofing con Bettercap en Kali Linux

Hola de nuevo, hoy vamos a practicar un ataque arp-spoofing con Bettercap. Hace ya unos años tuve la oportunidad de probar Ettercap y tengo que decir que Bettercap me la recuerda mucho; aunque es una aplicación mucho mas completa y eficiente, tanto en el aspecto gráfico como el técnico. Contiene módulos para WiFi y Bluetooth y de verdad es muy fácil de usar y es un auténtico peligro en una red. Bettercap viene con licencia GPL3 y para el blog voy a usar la versión que viene en los repositorios de Kali Linux; aunque para un uso mas adecuado de la herramienta, sería recomendable usar la última versión que la encontramos en Github https://github.com/Bettercap/Bettercap

 


 

Qué es arp-spoofing?



La clave de este ataque es aprovechar la configuración por defecto de la caché ARP. Cuando se quiere entregar un paquete IP a alguien dentro de una LAN, no se hace a través de su dirección IP sino de su dirección MAC a nivel de trama (en la capa de enlace). Esto supone que se debe traducir esa dirección IP en una dirección MAC y eso es posible entre otras cosas por la existencia del protocolo ARP que construye entradas dinámicas donde se hace corresponder una IP con su MAC asociada dentro de la tabla caché ARP.

Esta caché tiene entradas estáticas y dinámicas. Éstas últimas se van añadiendo en función de los paquetes ARP que viajan por la LAN. Esta circunstancia es la que el Atacante va a aprovechar para engañar tanto a la víctima como al Gateway para hacerle creer que él es el extremo adecuado de la comunicación y que le envíe a su MAC lo que va destinado a sendas direcciones IP. De esta forma se puede obtener información sobre las comunicación de la máquina víctima, robar cookies, capturar hashes, capturar contraseñas, depende del tráfico y la configuración de la máquina víctima.

Os recuerdo que tanto Openvas, (que vimos en la entrada anterior) como Bettercap, son herramientas de uso profesional y está totalmente desaconsejado usarlo en una red ajena sin permiso porque este uso puede conllevar consecuencias graves. Especialmente Bettercap, pues el arp-spoofing es un delito tipificado en la Ley 1273 de 2009.



Bettercap nos ofrece las siguientes funciones (mas algunas otras extra).



  • Escáner de redes WiFi, permite hacer ataques de desautenticación, también permite realizar ataques sin clientes a asociaciones PMKID, permite capturar handshakes de clientes que usan protocolo WPA y WPA2.
  • Escáner de dispositivos BLE (Bluetooth Low Energía) para leer y escribir información.
  • Escáner de dispositivos inalámbricos que usen la banda de 2.4GHz, como los ratones inalámbricos, también permite realizar ataques MouseJacking con inyección de datos.
  • Permite hacer ataques pasivos y activos a redes IP
  • Permite realizar ataques MitM basados en ARP, DNS y también DHCPv6, con el objetivo de capturar toda la información.
  • Permite crear un proxy HTTP/HTTPS para levantar el tráfico seguro HTTPS, y facilita enormemente el uso de scripts.
  • Sniffer de red muy potente para recolección de credenciales de usuario.
  • Escáner de puertos muy rápido, aunque para esto, mejor usar Nmap que el rey de los escáneres de puertos.
  • Tiene una potente API REST para realizar ataques fácilmente.
  • Incorpora una interfaz gráfica de usuario para facilitar los ataques, aunque el terminal de comandos es muy potente.
  • Tenemos una gran cantidad de módulos de diferentes categorías para ampliar funcionalidades.


Para probarlo voy a usar la red que implementé en esta entrada anterior os ruego que la consultéis para dudas sobre la configuración de red.

Para instalar Bettercap simplemente abrimos una terminal y:


# Sudo update && upgrade

# Sudo apt install Bettercap Bettercap-caplets

# sudo Bettercap





Podemos usarlo desde la terminal interactiva muy fácilmente, simplemente con help en la terminal podemos ver lo que tenemos disponible, los módulos que están activos y los comandos que tenemos disponibles. 

 

 



Para ir arrancando los módulos podemos usar la secuencia SET modulo on/off como por ejemplo:

set net.probe.nbns on

(para habilitar sondas de descubrimiento del sistema de nombres netbios).




Para empezar el reconocimiento de la red tenemos los modulos net.probe y net.recon (así a grosso-modo net probe envía paquetes para que net.recon registre las respuestas).

Para añadir direcciones ip a la lista de objetivos y para empezar el arp-spoofing:

set arp.spoof.targets dir-ip victimas-separadas por-espacios 

y para empezar el ataque:


arp.spoof.on 



Pero sabéis que? Olvidad todo esto último, podemos usar Bettercap aun más fácilmente con una interfaz gráfica, para ponerla en marcha escribimos en la terminal: 

 

# sudo Bettercap -caplet http-ui 



y nos conectamos abriendo el navegador y conectándonos al localhost (127.0.0.1 en la barra de herramientas) 

 

Nos logueamos en el interfaz web con user y pass. 

 


Primero podemos hacer un escaneo de la red para que Bettercap detecte los equipos conectados para ello en el menú LAN; para empezarlo simplemente hacemos clic en los símbolos de play que hay justo debajo de la barra de herramientas. Uno es para ejecutar start net.probe y el otro para start net.recon module; se detienen después de un buen rato o mejor podemos hacer clic en el play (ahora un stop) si no queremos alargar demasiado el ataque y ser mas discretos. 

 


 

Una red real no sería necesario pero para nuestra red simulada, hay que generar un poco de tráfico para que la cosa funcione. Así que voy a visitar las web de Virtualmin, logearme en cuentas usar el ftp etc etc...

 


 

Irán saliendo los datos de los equipos en la red, dirección ip y dirección MAC y justo encima de las ip podemos hacer clic y seleccionarla para ser spoofeada

 



 

El símbolo radiactivo señala los objetivos para Bettercap.

 

Dejamos el sistema funcionar un rato y mientras tanto, si nos pasamos por la terminal veremos como se va obteniendo información. 



 

Otra opción es abrir Wireshark e ir guardando los paquetes para inspeccionarlos mas adelante. 

 

 

 


 

He intentado logearme en alguna cuenta de Virtualmin y el arp.spoofin ha dejado inactivo el login; Pero como podéis ver, Bettercap SI ha obtenido la contraseña de mi cuenta de correo electrónico en Virtualmin. 



En la versión gráfica también tenemos disponible una linea de comandos desde donde ejecutar comandos como en el modo interactivo.

 


 

Otro modo de uso para Bettercap es ir a la pestaña "caplets" y desde allí podemos ver los diferentes caplets (o plugins) que tenemos disponibles, con una breve explicación de su funcionamiento; y arrancarlos directamente desde aquí antes de empezar el ataque. Sin embargo algunos caplets se pueden activar durante el mismo. 

 

 

 


 

Como habéis podido ver Bettercap es sencillísimo de usar tanto en la terminal interactiva como en el interfaz gráfico; y es demoledor en redes mal configuradas y equipos o servicios no actualizados.

 

¿Como nos defendemos de un arp-spoofing?

Una forma de mitigar, que no anular, este ataque es con el uso de tablas ARP estáticas  en las máquinas de red local, pero habría que configurar estas tablas en los equipos nuevos que se conecten en la red, temporal o permanentemente; lo que en algunas ocasiones, podría ser poco práctico.

Por otra parte este ataque genera tráfico de paquetes ARP inusual que puede ser detectado por sistemas de monitorización de red o IDS; como EasyIDS que veremos en este blog próximamente. Hay también software que se puede instalar en los equipos que detectan estos ataques como Marmita para Windows, que también veremos por este blog próximamente.

 

Como veis no hay ninguna fórmula mágica o solución fácil para este ataque lo que lo hace muy peligros aun cuando es ya un viejo conocido.


Me despido hasta el próximo post que vamos a probar otra herramienta de pen-testing que seguro os sorprenderá.






No hay comentarios:

Publicar un comentario