Hace un par de años hablé sobre 
Bettercap y MITMf dos herramientas que permiten llevar a cabo pruebas de 
ataques en redes IPv4 & IPv6 modernos. Con 
Bettercap hablamos de la facilidad de uso y de la facilidad de extensión. Respecto a 
MITMf, quizá una de mis favoritas, hablamos sobre todas las posibilidades que la herramienta ofrece. La primera escrita en 
Ruby, la segunda en 
Python. El autor de 
Bettercap decidió migrar la herramienta al lenguaje 
Go, dejando atrás a 
Ruby. Además, la herramienta ha sufrido un 
cambio de repositorio oficial.
|  | 
| Figura 1: Bettercap 2: La evolución de la navaja suiza de red y el poder de los Caplets | 
En febrero de este año 
Evilsocket, investigador de seguridad autor de 
Bettercap, lanzó un 
comunicado en su sitio web. Estaba lanzando la segunda generación de 
Bettercap con el cambio de lenguaje y la reimplementación de la mayoría de funcionalidades.
Lo interesante de la nueva generación de 
Bettercap no era solo el disponer de 
ataques MITM de red modernos, si no poder monitorizar y hacer ataques 
802.11 y 
BLE, incluso desde un 
macOS. Esto es algo que me llamó la atención, por lo que quise encontrar hueco para probarlo. 
¿Qué cosas ha cambiado Bettercap 2?
Realmente son más de las que uno puede pensar. En principio, uno puede pensar que ha perdido en flexibilidad, ya que ahora la herramienta no se ejecuta con parámetros, se ejecuta de forma interactiva como veremos más adelante. Esto realmente la hace más flexible, más configurable, pero uno debe aprender un poco la sintaxis para interactuar. 
  
¿Qué son los Caplets?
Quizá la cosa más interesante, junto a los ataques 
BLE y 
WiFi, sea la posibilidad de utilizar 
Caplets. Un 
Caplet es un fichero con extensión 
.cap que implementa un script de 
Bettercap. No deja de ser un fichero de texto que por cada línea dispone de una instrucción a ejecutar, tal y como ocurre con los ficheros 
RC de 
Metasploit. 
|  | 
| Figura 3: Caplets en Bettercap 2.0 | 
Dentro del proyecto 
Bettercap podemos encontrar un repositorio con un gran número de 
Caplets, que entiendo irá creciendo con el paso del tiempo. Sin duda, una forma sencilla de poder implementar ciertas configuraciones y ataques. Obligatorio echar un ojo al código y a las instrucciones que ejecutan estos caplets. 
 
Interactuando y entendiendo el nuevo Bettercap
Cuando se ejecuta 
Bettercap aparece un 
prompt que indica la dirección 
IP. Si tabulamos en el prompt veremos las diferentes opciones, entre las que encontraremos caplets, de los cuales hablaremos más adelante. Principalmente encontramos módulos como:
• Events. Con este módulo podemos controlar el tipo de información visualizamos, aplicar filtro sobre ésta, etcétera. 
• Arp. Con este módulo podemos realizar ataques de ARP Spoofing. 
 • Wifi. Con este módulo se puede monitorizar el estado de redes y montar puntos de acceso de tipo Rogue. 
 • Wol. Generación de tramas de tipo Wake On Lan. 
 • http y https proxy. Este tipo de soluciones implementan proxies http y https con diferentes opciones como la inyección de código Javascript, manipulación de tráfico, generación de certificados, SSL Strip, etcétera. 
 • Net. Este módulo permite sniffar la red a través de una interfaz o de otras. Se puede almacenar la información en un PCAP y mostrar en la interfaz el tipo de tráfico obtenido.  
• Servidores Rogue. de tipo MySQL y http. 
 • Compatibilidad con IPv6. Perfecto para probar todos los ataques del libro de Ataques en rede IPv4 & IPv6.
|  | 
| Figura 4: Funciones de Bettercap 2.0 | 
A modo de ejemplo y de facilidad de uso configuraremos un ataque de tipo 
ARP Spoofing. Con dos líneas en 
Bettercap obtenemos el efecto deseado. El comando 
set, configura el parámetro 
targets dentro del módulo 
Spoof, tal y como se puede ver en la imagen siguiente. Una vez configurado los targets se puede arrancar el envenenamiento a través de la instrucción 
arp.spoof on.
|  | 
| Figura 5: Configurando un arp spoofing | 
Con la opción 
help se pueden ver los módulos que hay en ejecución y cuáles no. Es un interesante comando para poder los módulos que disponemos en la herramienta. 
 
|  | 
| Figura 6: Módulos de la herramienta | 
Ahora si queremos activar el 
proxy http podemos configurar los siguientes parámetros. Se puede configurar el puerto del 
proxy, la dirección a la que hacer 
bind, configurar si queremos 
SSL Strip a través del 
proxy, si queremos inyectar código 
Javascript en el 
HTML con la opción 
http.proxy.injectjs o si queremos ejecutar algún tipo de 
script con la opción 
http.proxy.script. 
 
|  | 
| Figura 7: Configuración de proxy http | 
En la siguiente imagen se puede ver cómo se puede configurar el 
proxy y cómo se activa el 
sniffer para poder visualizar el tráfico o volcarlo en un fichero.
|  | 
| Figura 8:  Volcado de info de proxy | 
Aquí se puede jugar con events.stream, ya que si lo configuramos a false no se visualizará por pantalla, pero podemos indicar a net.sniff con el comando 
set net.sniff.output dónde queremos volcar el 
buffer de red a un fichero 
PCAP.  
PoC: Funcionando con Caplets
Los 
caplets son 
scripts que están para facilitarnos la vida. Es muy interesante abrirlos y ver cómo están configurando 
Bettercap. Para este pequeño ejemplo vamos a utilizar uno que utiliza el 
Proxy http para volcarnos el contenido de las peticiones 
http. Desde el terminal se hace uso del parámetro 
caplet para indicar el 
script que queremos utilizar, mientras que con el parámetro 
eval se puede indicar una serie de instrucciones que queremos ejecutar, serán complementarias a lo que marca el 
caplet. 
|  | 
| Figura 9: Usando un caplet | 
En este caso, tenemos ahora mismo funcionando el 
proxy y se ha realizado a través del parámetro eval un ataque de 
ARP Spoofing como el anterior. Como se puede ver en la imagen, se muestran las cabeceras 
http y el contenido de formularios y cualquier cosa que vaya en el protocolo. 
 
|  | 
| Figura 10: Caplet funcionando | 
Por último, indicar que con la opción caplets.update podemos actualizar los 
scripts disponibles y que automatizan el uso de la herramienta. No dudes en estudiarlos y poder ampliar funcionalidades a través de ellos. Por otro lado, la opción show de caplets permite mostrar el número de 
caplets disponibles en la máquina por 
Bettercap2. 
|  | 
| Figura 11: Caplets disponibles | 
Sin duda, una herramienta para estudiar y practicar. Hay que llevarla en la mochila en cualquier 
Ethical Hacking, ya que su segunda generación aporta una frescura y un potencial más que interesante. Parece que 
Bettercap es un proyecto muy vivo. 
Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advance Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.
POr favor disculpen mi ignorancia pero un ataque arpspoof con bettercap es detectable por los antivirus, si es asi que forma hay de realizarlo sin ser detectado
ResponderEliminar