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